我正在运行RHEL5.5,并且在机器上有几个networking接口(eth0,eth1,eth2)。 我希望使/ sbin / dhclient绑定其特定接口(eth0和eth2)上的UDP端口68,但是当我执行'netstat -anp | grep 68'我看到:
udp 0 0 0.0.0.0:68 0.0.0.0:* 6109/dhclient
这会干扰运行其自己的DHCP客户端的另一个软件守护进程,该客户希望在/ sbin / dhclient服务的特定接口(eth1)上运行
我可以得到/ sbin / dhclient不绑定到UDP端口0.0.0.0:68?
我configuration了/etc/dhclient.conf来只服务于我想要的接口(在这种情况下是eth0和eth2),但是它仍然绑定到0.0.0.0:68,这阻止了自定义的DHCP客户端在eth1上运行。
任何帮助表示感谢,谢谢。
根据定义,DHCP使用广播地址来查找所有响应的DHCP服务器。 然后select其中的一个(基于一个algorithm,AFAIK这主要是做响应时间),并要求一个地址。 该地址然后绑定到正在configuration的接口。
同样,根据定义,广播在所有networking接口上发送。 所以,除非你愿意编写你自己的DHCP客户端(资源是免费的),否则你可以做的事情不多。
但是,您可以使用不同的端口。 有关详细信息,请阅读dhclient的手册页。 这也将需要一个在该端口上侦听的DHCP服务器。 标准的ISC DHCP服务器使用-p选项支持这一点。 再次阅读dhcpd的手册页。
你有接入交换机吗? 您可以使用VLAN轻松完成
你也可以使用iptables中的标记来做到这一点。