Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In FreeBSD, an ifconfig call seems to delete the default gateway route, even when given the same IP-address (e.g. when updating the netmask only). Is it a bug or a feature?
As fas as I remember Linux doesn't change the default gateway in this case.

share|improve this question

3 Answers 3

up vote 4 down vote accepted

In FreeBSD an ifconfig that removes direct connectivity to a subnet also zaps routes containing that subnet (IIRC updating netmasks is reduced to a remove-and-replace). This is a "feature" so as not to confuse your routing configuration by trying to talk to a host it can't reach anymore, though it causes its share of confusion when users encounter disappearing routes.

See also: http://forums.freebsd.org/showthread.php?t=12132

share|improve this answer
1  
Thanks. This is something to keep in mind when running ifconfig on a remote host. –  eugene y Jun 14 '10 at 18:58
2  
Oh yes - I've been bitten enough times that I now set a safety reboot (shutdown -r +10) before doing any network-affecting stuff on a remote host. Great if you trust the machine to reboot correctly since if you break something it will come back with its boot-time config pretty quickly :) –  voretaq7 Jun 14 '10 at 21:29

I believe this happens because the ifconfig command is actually deleting the old IP and creating the new one, not just changing it. "It's a feature!"

share|improve this answer

I was looking for a way to keep the route to default gw in place, but since I saw this thread and tried on my own I guess there's no way. The only thing I had to do is set default gw manually right after setting the ip:

sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0
sudo route add default gw 10.0.0.138

so keep in mind if you're doing this remotely better run both commands with && or you'll get stuck out

sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0 && sudo route add default gw 10.0.0.138
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.