温馨提示×

Linux DHCP如何设置网关

小樊
41
2026-08-21 13:37:58
栏目: 智能运维

在 Linux 中配置 DHCP 服务器并设置网关(Gateway),通常是指 DHCP 服务器在分配 IP 地址的同时,把默认网关下发给客户端。下面以最常见的 ISC DHCP Server(isc-dhcp-server) 为例说明。


一、安装 DHCP 服务(如未安装)

Debian / Ubuntu

sudo apt update
sudo apt install isc-dhcp-server

RHEL / CentOS / Rocky / Alma

sudo yum install dhcp
# 或
sudo dnf install dhcp-server

二、配置 DHCP 网关(核心)

DHCP 通过 option routers 来指定网关。

1️⃣ 编辑配置文件

sudo vim /etc/dhcp/dhcpd.conf

2️⃣ 示例配置(重点看 option routers

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option subnet-mask 255.255.255.0;
    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;
}

option routers 192.168.1.1; 就是设置网关


三、指定 DHCP 监听网卡(可选但常见)

Ubuntu / Debian

sudo vim /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

四、启动 / 重启 DHCP 服务

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

检查状态:

systemctl status isc-dhcp-server

五、客户端验证

Linux 客户端

ip route

应看到类似:

default via 192.168.1.1 dev eth0

Windows 客户端

ipconfig

六、常见错误排查

1️⃣ 客户端拿不到网关

  • 子网配置错误
  • option routers 不在 subnet 范围内
  • DHCP 服务未监听正确网卡

2️⃣ DHCP 服务启动失败

journalctl -u isc-dhcp-server

七、补充说明

项目 说明
网关 必须是客户端可达的 IP
多网关 DHCP 不支持多默认网关
静态路由 可用 option classless-static-routes

如果你用的是 dnsmasqKea DHCPOpenWrt特定 Linux 发行版,可以告诉我,我可以给你对应配置示例。

0