当我选择静态IP时,为什么dhclient仍在运行?
我在/ etc / network / interfaces中修改dhcp为static(如下所示)。
# The primary network interface auto eth0 iface eth0 inet static netmask 255.255.0.0 address 10.10.130.128 gateway 10.10.1.1
然后重启界面。
$ sudo ifdown eth0; sudo ifup eth0 ... $ ifconfig eth0 Link encap:Ethernet inet addr:10.10.130.128 Bcast:10.10.255.255 Mask:255.255.0.0
所以新的地址开始了。
但DHCP还存在吗?
$ ps aux | grep dhc root ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0
这是正常的吗? 如果没有,如何在同时停止DHCP的同时重启静态IP中的接口?
非常感谢。
- 首先必须关闭接口(在dhcp模式下)
sudo ifdown eth0
-
然后编辑config
nano /etc/network/interfaces
# The primary network interface auto eth0 iface eth0 inet static netmask 255.255.0.0 address 10.10.130.128 gateway 10.10.1.1
-
将接口备份为
sudo ifup eth0
否则dhclient
没有正确关闭,
我有同样的问题(Ubuntu 16.04),但这是一个云实例,我不能轻易地ifdown接口。
简短的回答:我删除了文件/etc/network/interface.d/50-cloud-init.cfg
ifup是由该特定文件触发的。
答案很长:我使用带有静态IP地址的/etc/network/interfaces
配置了接口,但我仍然在daemon.log中发现dhclient仍在从DHCP请求IP,而dhclient是通过systemd启动的。 具体来说,systemd称为networking.service单元,它调用ifup,它读取interfaces文件和50-cloud-init.cfg文件。 结果是一些冲突,但仍然是一个function网络。
我找到了我,这是因为gnome的NetworkManager仍在运行,并认为它负责设备。 事后看来,这应该是显而易见的,因为ps
显示了NetworkManager正在启动dhclient。
一旦我重新启动系统,设备就会在NetworkManager中“无法管理”,并且它停止尝试配置它。 也许我只能通过停止/重启NetworkManager来实现同样的目的,我不确定。