如何防止宽带连接重置 MTU?

如何防止宽带连接重置 MTU?

我正在使用一台旧 PC 作为基于 Linux 的防火墙,其中运行着 Ubuntu 和 Shorewall 等。它有 3 个独立网卡:一个用于内部网络,一个用于连接到电缆调制解调器,一个用于 DMZ。我的 IP 地址偶尔会改变。没关系。经过多次尝试后,ddclient 将使用新信息更新 DynDNS 和 OpenDNS。但是,在此过程中,连接到电缆调制解调器的 NIC 上的 MTU 将重新协商为 576。我可以轻松地使用 重置它ip link set eth0 mtu 1500,但直到我发现无法再次连接到 Xbox Live 后,我才意识到需要这样做。有什么方法可以防止与我的电缆调制解调器重新协商,或者有什么方法可以确保 Linux 不会接受小于 1500 的任何内容?或者,我是否必须编写某种监视程序脚本,如果它被更改,它将重置它?

答案1

我想我只是碰巧找到了答案。我的 dhcp 客户端 (dhclient3) 的默认配置在 /etc/dhcp/dhclient.conf 中,内容如下:

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;

因此,它似乎正在向我的宽带提供商请求所有这些信息,其中包括 DNS,我一直在试图弄清楚如何消除 DNS,因为我在本地运行自己的 bind9 实例。我已将其更改为以下内容:

request subnet-mask, broadcast-address, routers;

(在我看来,如果有“子网掩码”,那么“广播地址”就是多余的,但不管了。)我重新启动了该守护进程,它没有更改我的 MTU 设置,也没有用它们的 DNS 服务器重写我的 /etc/resolv.conf。所以我认为就是这样,不过时间会证明一切。

PS 我还注释掉了向提供商发送(默认和错误的)客户端主机名的行,但这没关系,因为他们无论如何都不会为我创建静态 DHCP 条目。

相关内容