Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm using an old PC as a Linux-based firewall, running Ubuntu and Shorewall among other things. It has 3 discrete network cards in it: one for the internal network, one that connects to a cable modem, and one for a DMZ. Every once in a while, my IP address will change. That's fine. After a lot of fooling around, ddclient will update DynDNS and OpenDNS with the new information. However, in the process, the MTU on the NIC connected to the cable modem will get renegotiated down to 576. I can easily reset this with ip link set eth0 mtu 1500, but I only realize the need to do this after I find that I can't connect to Xbox Live again. Is there any way to prevent this renegotiation with my cable modem, or is there any way to make sure that Linux won't accept anything less than 1500? Or, rather, am I stuck writing some sort of watchdog script that will reset it if it gets changed?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

I think I just lucked into the answer. The default configuration for my dhcp client (dhclient3), in /etc/dhcp/dhclient.conf, had the following:

request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers,
    dhcp6.domain-search, dhcp6.fqdn,
    dhcp6.name-servers, dhcp6.sntp-servers;

So it seems to be requesting all of this information from my broadband provider, which includes DNS, which I've been trying to figure out how to eliminate as well, as I run my own instance of bind9 locally. I've changed it to just this:

request subnet-mask, broadcast-address, routers;

(It would seem to me that "broadcast-address" is redundant if you have the "subnet-mask", but whatever.) I've restarted the demon, and it didn't change my MTU setting, nor did it rewrite my /etc/resolv.conf with their DNS servers. So I think this is it, though time will tell for sure.

P.S. I also commented out the line that sent a (default and wrong) client hostname to my provider, which won't matter, because they're not going to create a static DHCP entry for me anyway.

share|improve this answer
    
Nice kluge! That should indeed work. And here I was writing up a long-form answer ;-) –  allquixotic Oct 23 '12 at 20:21

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.