Linux 各发行版搭建基于dnsmasq 搭建 DHCP 服务
1. RockyLinux-9.2 基于 dnsmasq 搭建 DHCP Sever
1.1 安装依赖
sudo dnf install dnsmasq
1.2 dnsmasq 相关配置
1.2.1 创建dhcp-server.conf 配置文件
cd /etc/dnsmasq.d
vim dhcp-server.conf
1.2.2 配置内容如下
interface=enp4s0 # 指定网络接口
dhcp-range=192.168.138.100,192.168.138.200,12h # 指定 IP 地址范围和租期时间
domain=rockyrobot.local # 指定域名
dhcp-option=option:router,192.168.138.1 # 指定默认路由网关
dhcp-option=option:dns-server,1.1.1.1,8.8.8.8 # 指定 DNS 服务器
1.2.3 使用 nmcli 配置静态网关IP
sudo nmcli connection add ifname enp4s0 type ethernet con-name dhcp-server ipv4.addresses 192.168.138.1/24 ipv4.method manual autoconnect yes
1.2.4 修改 dnsmasq.service 配置
sudo vim /usr/lib/systemd/system/dnsmasq.service
Restart=on-failure
sudo systemctl daemon-reload
sudo systemctl restart dnsmasq.service
1.2.5 客户端连接信息存储位置
cat /var/lib/dnsmasq/dnsmasq.leases
2. Ubuntu-22.04 基于 dnsmasq 搭建 DHCP Sever
2.1 安装依赖
sudo apt-get install dnsmasq
2.2 dnsmasq 相关配置
2.2.1 修改 dnsmasq 默认端口为 5353 (53端口已被 systemd-resolved 服务使用)
sudo vim /etc/dnsmasq.conf
port=5353
2.2.2 创建dhcp-server.conf 配置文件
cd /etc/dnsmasq.d
vim dhcp-server.conf
2.2.3 配置内容如下
interface=enp4s0 # 指定网络接口
dhcp-range=192.168.138.100,192.168.138.200,12h # 指定 IP 地址范围和租期时间
domain=rockyrobot.local # 指定域名
dhcp-option=option:router,192.168.138.1 # 指定默认路由网关
dhcp-option=option:dns-server,1.1.1.1,8.8.8.8 # 指定 DNS 服务器
2.2.4 使用 nmcli 配置静态网关IP
sudo nmcli connection add ifname enp4s0 type ethernet con-name dhcp-server ipv4.addresses 192.168.138.1/24 ipv4.method manual autoconnect yes
2.2.5 修改 dnsmasq 服务配置
sudo vim /lib/systemd/system/dnsmasq.service
Restart=on-failure
sudo systemctl daemon-reload
sudo systemctl restart dnsmasq.service
2.2.6 解决 dnsmasq 和 resolvconf 的冲突
sudo systemctl disable --now resolvconf
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
2.2.7 dnsmasq dhcp-server 客户端连接信息存储位置
/var/lib/misc/dnsmasq.leases