温馨提示×

Linux DHCP怎么设置

小樊
36
2026-07-11 01:39:29
栏目: 智能运维

在 Linux 上配置 DHCP,常见有两种场景:让 Linux 作为 DHCP 客户端自动获取 IP让 Linux 作为 DHCP 服务器分配 IP。下面分别说明。


一、Linux 作为 DHCP 客户端(最常见)

1️⃣ 使用 NetworkManager(桌面/服务器常用)

查看网卡

ip addr

设置为 DHCP 自动获取

nmcli connection modify eth0 ipv4.method auto
nmcli connection up eth0

eth0 换成你的网卡名(如 ens33


2️⃣ 使用 dhclient(传统方式)

dhclient eth0

释放 IP:

dhclient -r eth0

3️⃣ Ubuntu / Debian(/etc/network/interfaces)

编辑:

sudo nano /etc/network/interfaces

示例:

auto eth0
iface eth0 inet dhcp

重启网络:

sudo systemctl restart networking

4️⃣ RHEL / CentOS / Rocky / Alma

编辑:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

内容:

BOOTPROTO=dhcp
ONBOOT=yes

重启网络:

systemctl restart NetworkManager

二、Linux 作为 DHCP 服务器(如做路由器、企业网络)

1️⃣ 安装 DHCP 服务

Ubuntu / Debian

sudo apt update
sudo apt install isc-dhcp-server

CentOS / Rocky / Alma

yum install dhcp-server

2️⃣ 配置 DHCP 服务器

编辑配置文件:

vi /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;
}

3️⃣ 指定监听网卡(Ubuntu)

vi /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

4️⃣ 启动 DHCP 服务

systemctl enable isc-dhcp-server
systemctl start isc-dhcp-server

查看状态:

systemctl status isc-dhcp-server

三、常见问题排查

查看是否获取到 IP

ip addr

查看 DHCP 租约

cat /var/lib/dhcp/dhclient.leases
cat /var/lib/dhcp/dhcpd.leases

防火墙(服务器)

firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload

四、总结

场景 做法
自动获取 IP dhclient / NetworkManager
固定 IP 手动配置 IP
提供 DHCP 安装 isc-dhcp-server
企业/路由器 DHCP + 网关 + DNS

如果你能告诉我:

  • ✅ 用的是 Ubuntu / CentOS / 麒麟 / OpenWrt
  • ✅ 是 客户端 还是 服务器
  • ✅ 是否用于 虚拟机 / 实体机 / 路由器

我可以给你精确到命令级别的配置方案。

0