Can anyone explain this network behavior I experienced?

I have a debian vm with one IP address and hostname A.

I changed the /etc/network/interfaces to another IP and added 2 more eth0:1 etc. I changed the hostname to hostname B in /etc/hostname and rebooted the vm.

After reboot, I can ssh into the vm from dom0 and I can ping dom0 from the vm. However I can not ping past dom0 and I can not ping the vm from another physical machine. /xen/vm.cfg is wrong and so is /etc/webmin/servers/12335.serv but fixing it doesn't make the problem go away even after vm is rebooted.

Rebooted dom0 and same problem.

Changed IPs again to three other IPs in /etc/network/interfaces as well as hostname to hostname C. Rebooted VM and everything works. /xen/vm.cfg is wrong and so is /etc/webmin/servers/12335.serv

Changed back to hostname B and previous 3 IPs. Everything works after vm reboot. /xen/vm.cfg are wrong and so is /etc/webmin/servers/12335.serv

Does anyone have an idea what might block routing from dom0 out or in? I checked IPtables in all cases but fixing the entries in it didn't help. Route also appeared to be correct.

Is there a bridge configuration somewhere that I am missing?

What would be the ideal way to change IPs on a vm managed by cloudmin? Only ssh is running on the vm.

Status: 
Closed (fixed)

Comments

Could be a routing issue - was the IP that is not working on a different subnet to the original? If so, you'd need to change the gateway in /etc/network/interfaces as well, and then reboot the VM.

The IPs are all on the same subnet. Odd thing is non of the 3 IPs assigned worked. I could only ping dom0.

Are all the IPs routed to your dom0 machine by your ISP?

Also, are the IPs on the same subnet as the dom0's eth0 address?

I was able to find the problem.

The firewall/router for the subnet was responding to ARP requests which it cached. That IP belonged to another machine with a different mac address before I used it on this vm.

Flushing the arp cache fixed it.