![如何在两个网络接口上处理 DHCP,一个破坏另一个的 /etc/resolv.conf](https://linux22.com/image/52655/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%A4%E4%B8%AA%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E4%B8%8A%E5%A4%84%E7%90%86%20DHCP%EF%BC%8C%E4%B8%80%E4%B8%AA%E7%A0%B4%E5%9D%8F%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9A%84%20%2Fetc%2Fresolv.conf.png)
我有一个嵌入式 Debian Linux 系统。它有两个网络接口:eth0 和 ppp0(通过蜂窝调制解调器)。我遇到的问题是,当系统启动时,它会通过 eth0 上的 DHCP 获取地址。如果调制解调器连接,那么它也会获取它自己的 IP 地址并破坏 /etc/resolv.conf 的内容。在我的应用程序中,如果 eth0 处于活动状态,我需要将 eth0 作为默认路由。如果我将 eth0 设置为默认路由,则 DNS 将不再工作,因为无法访问来自调制解调器 DHCP 请求的名称服务器。
奇怪的是,如果我在所有这些运行之后运行“dhclient eth0”,它会做正确的事情并将其名称服务器添加到现有文件中,而不是破坏它。
有什么好的和标准的方法来处理这种双 DHCP 网络情况吗?
答案1
man interface-order
第一的。
还有一种方法可以忽略 DHCP 提供的某些设置。检查prepend
和request
选项man dhclient.conf