在 Linux 上配置 DHCP,通常有两种常见场景:
下面分别说明。
ip addr
nmcli device set eth0 managed yes
nmcli connection modify eth0 ipv4.method auto
nmcli connection up eth0
或新建连接:
nmcli connection add type ethernet ifname eth0 con-name dhcp-eth0 ipv4.method auto
nmcli connection up dhcp-eth0
编辑配置文件:
sudo vim /etc/systemd/network/20-wired.network
内容示例:
[Match]
Name=eth0
[Network]
DHCP=yes
启动服务:
sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd
sudo dhclient eth0
⚠️ 重启后可能失效。
常用软件:ISC DHCP Server
sudo apt update
sudo apt install isc-dhcp-server
sudo yum install dhcp -y
编辑配置文件:
sudo vim /etc/dhcp/dhcpd.conf
示例配置:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 114.114.114.114;
default-lease-time 600;
max-lease-time 7200;
}
编辑:
sudo vim /etc/default/isc-dhcp-server
设置:
INTERFACESv4="eth0"
sudo systemctl enable isc-dhcp-server
sudo systemctl start isc-dhcp-server
查看状态:
systemctl status isc-dhcp-server
sudo ufw allow 67/udp
cat /var/lib/dhcp/dhcpd.leases
journalctl -u isc-dhcp-server
| 场景 | 推荐方式 |
|---|---|
| 自动获取 IP | NetworkManager / systemd-networkd |
| 临时测试 | dhclient |
| 提供 DHCP 服务 | isc-dhcp-server |
如果你愿意,可以告诉我:
我可以给你更精准的配置方案。