温馨提示×

ubuntu dhcp如何改端口

小樊
34
2026-09-22 08:07:27
栏目: 智能运维

在 Ubuntu 中,DHCP 服务通常由 ISC DHCP Server(isc-dhcp-server) 提供。默认情况下,DHCP 服务器监听以下端口:

  • UDP 67:服务器端口(接收客户端请求)
  • UDP 68:客户端端口(客户端使用)

⚠️ 重要说明:
DHCP 协议标准规定必须使用 UDP 67/68,如果你修改 DHCP 服务器监听端口,标准 DHCP 客户端将无法正常工作。通常只有在特殊场景(如中继、测试、非标准环境)才需要改端口。

下面分情况说明。


一、ISC DHCP Server(最常见)

1. 修改监听端口

ISC DHCP Server 本身不直接支持修改端口参数,但可以通过:

方法一:使用 dhcpd 的 -p 参数(部分版本支持)

编辑服务启动参数:

sudo systemctl edit isc-dhcp-server

添加:

[Service]
ExecStart=
ExecStart=/usr/sbin/dhcpd -f -p 6767 -cf /etc/dhcp/dhcpd.conf

然后:

sudo systemctl daemon-reload
sudo systemctl restart isc-dhcp-server

✅ 这样 DHCP 服务器会监听 UDP 6767

⚠️ 客户端也必须连这个端口(非标准)


2. 使用防火墙端口转发(推荐做法)

不改 dhcpd,而是用 iptables 转发:

sudo iptables -t nat -A PREROUTING -p udp --dport 6767 -j REDIRECT --to-port 67

这样:

  • 外部访问 6767
  • 实际由 67 处理

二、dnsmasq(轻量 DHCP)

如果你用的是 dnsmasq:

sudo nano /etc/dnsmasq.conf

修改:

dhcp-port=6767

重启:

sudo systemctl restart dnsmasq

三、DHCP 客户端端口(少见)

如果你是指客户端端口(68),一般不建议改,除非做测试。


四、适用场景建议

场景 建议
正常局域网 ❌ 不要改
DHCP 中继 ✅ 用中继端口
安全/隐藏 ✅ 用防火墙
测试 ✅ 改 -p

如果你能说明:

  • 使用的是 isc-dhcp-server 还是 dnsmasq
  • 是服务器端口还是客户端端口
  • 修改目的(测试 / 安全 / 中继)

我可以给你更精确的配置示例。

0 踩