![告诉 dhclient 不要使用接口](https://linux22.com/image/84761/%E5%91%8A%E8%AF%89%20dhclient%20%E4%B8%8D%E8%A6%81%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3.png)
我一直在阅读man dhclient
,man dhclient.conf
但找不到一种方法让它忽略接口。就像,假装它不存在。
我不想关闭任何界面。我只希望 dhclient 在特定接口上建立租约,而不要管其他接口。
我尝试将其作为一个非常简单的.conf
文件,我希望它能够让它停止关注 iface2。
interface "iface1" {
}
interface "iface2" {
reject 192.168.0.0/16
reject 10.0.0.0/8
}
这里的要点是允许它与 iface1 进行默认行为,但忽略 iface2。
但目前我只是做出愚蠢的猜测——据我所知,手册上说绝对没有关于禁用或忽略接口,好像这是荒谬或不可能的事情。然而,这对我来说似乎是一个非常简单的任务,大概我误解了或者只是在某个地方错过了一些东西。
上面的conf(调用dhclient -v -d -cf that.conf
)确实可以连接到iface1并从中获取租约,但它随后会继续无休止地发布DCHPDISCOVER等,并且由于iface2而失败。我希望停止这种情况的原因是我想尝试做一些与 iface2 无关的事情,如果出现问题,我想确保这不是因为 dhclient。
请注意,在命令行 ( ) 上指定接口dhclient -v -d iface1
会导致相同的行为。
答案1
好吧,我傻了。解决方案是简单地在conf 文件中保留未提及的接口:
interface "iface1" {
}
现在它只获得了 iface1 的租约,仅此而已。
再次注意这是不是我从中得到的行为dhclient iface1
,在这种情况下,它首先获得 iface1 的租约,然后继续关注其他一切 - 尽管dhclient.conf
任何地方都没有预先存在并且/etc/dhcp
是空的。
答案2
如果您有iface1
但iface2
只想 dhclient 获取 IP 地址等iface1
,那么为什么不直接运行:dhclient [other-args] iface1
?
通过在命令行上为其提供一个或多个接口名称,它将仅使用该接口或多个接口。
man dhclient
详情请参阅。