在全新安装的 Debian Jessie 上,我设置静态 IP 地址后,DHCP 客户端仍处于活动状态。租约续订时,它甚至会恢复为 dhcp IP 地址。
步骤1:我修改/etc/network/interfaces:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.8
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.5
第 2 步:我重新启动网络systemctl restart networking.service
(没有错误消息)
步骤 3:检查 dhclient 是否正在运行:ps x | grep [d]hclient
-->dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
如果我重新启动,dhclient 仍会启动。
我在使用静态 IP 地址安装的每个 Debian Jessie 上都出现这种情况。
我没有找到 dhclient 在哪里启动:find
并且grep
没有发现任何东西/etc
,而且/usr/lib
我不熟悉 systemd,我不明白 dhclient 是否由 systemd 启动。
正在运行的进程是(我删除了我的 Bash 会话):
/sbin/init
/lib/systemd/systemd-udevd
/lib/systemd/systemd-journald
/usr/sbin/cron -f
/usr/sbin/atd -f
/lib/systemd/systemd-logind
/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
/usr/sbin/rsyslogd -n
/usr/sbin/acpid
/bin/login --
/usr/sbin/exim4 -bd -q30m
dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
/usr/sbin/sshd -D
/usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 108:113
问题 1:如何启动 dhclient?
问题 2:有什么“官方”方法可以阻止它运行?(除了使用apt-get remove/purge
)
答案1
简单解释:
- 您将 eth0 重新配置为手动
- 网络重启将会执行:
- 禁用 eth0(关闭)
- 启用 eth0(启动)
- 设置静态 IP 地址
由于停止时接口未设置为“dhcp”,因此 dhclient 不会停止。
正确的方法是:
- 停止/ifdown
- 重新配置
- 启动/ifup
或者手动处理 dhclient。而且它肯定不会在重启后启动。
答案2
dhcp 客户端无法检测到有人配置了另一个 ip 地址。因此,当您设置静态地址时,您必须将其关闭。
唯一的谜团是:为什么当我重新启动测试服务器时,dhcp 客户端仍然存在?
我刚刚在另一台服务器上再次进行了测试,没有问题。所以我想这只是我的问题。我遗漏或忘记了一些东西。