告诉 dhclient 不要使用接口

告诉 dhclient 不要使用接口

我一直在阅读man dhclientman 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

如果您有iface1iface2只想 dhclient 获取 IP 地址等iface1,那么为什么不直接运行:dhclient [other-args] iface1

通过在命令行上为其提供一个或多个接口名称,它将仅使用该接口或多个接口。

man dhclient详情请参阅。

相关内容