在 Linux 中“禁止 DHCP 客户端”通常有两种含义,下面分别说明:
编辑对应连接配置,改为手动 IP:
nmcli connection modify <连接名> \
ipv4.method manual \
ipv4.addresses 192.168.1.10/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8
nmcli connection down <连接名>
nmcli connection up <连接名>
或直接使用 nmtui 图形化修改。
编辑 /etc/systemd/network/xxx.network:
[Match]
Name=eth0
[Network]
DHCP=no
Address=192.168.1.10/24
Gateway=192.168.1.1
DNS=8.8.8.8
然后:
systemctl restart systemd-networkd
改为 static:
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
如果你是想不让任何 DHCP 客户端进程启动:
常见 DHCP 客户端服务:
dhclientdhcpcdNetworkManager(内部含 DHCP)# dhclient
systemctl stop dhclient
systemctl disable dhclient
# dhcpcd
systemctl stop dhcpcd
systemctl disable dhcpcd
# 若不用 NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
# Debian/Ubuntu
apt remove isc-dhcp-client dhcpcd5
# RHEL/CentOS
yum remove dhclient
chmod 000 /sbin/dhclient
chmod 000 /usr/sbin/dhcpcd
在 NetworkManager 中:
nmcli connection modify <连接名> ipv4.method disabled
如果你能说明:
我可以给你更精确的命令。