安装 dnsmasq
方法 1:在 Ubuntu/Debian 系统中安装
sudo apt-get update sudo apt-get install dnsmasq
方法 2:在 CentOS/RHEL 系统中安装
sudo yum install dnsmasq
方法 3:在 Windows 系统中安装
在 Windows 系统中,可以通过 Wget 下载并运行安装脚本:
wget https://github.com/dnsmasq/dnsmasq/releases/download/v2.76/dnsmasq-2.76-win32 Setup.exe 双击运行安装脚本进行安装。
配置 dnsmasq
启用 DHCP 和 DNS
编辑配置文件:
sudo nano /etc/dnsmasq.conf
在文件末尾添加以下内容:
interface=eth dhcp-range=192.168.1./24,192.168.1.255,255.255.255.,24h domain=example.com
保存并退出编辑器:
Ctrl + O # 保存 Ctrl + X # 退出
启动 dnsmasq
sudo dnsmasq -C /etc/dnsmasq.conf -h
使用 dnsmasq 作为 DNS 和 DHCP 服务器
作为 DNS 服务器
sudo dnsmasq -C /etc/dnsmasq.conf
作为 DHCP 服务器
sudo dnsmasq -C /etc/dnsmasq.conf --dhcp
动态配置
如果希望动态更新 DNS 记录,可以使用以下选项:
sudo dnsmasq -C /etc/dnsmasq.conf --dhcp --dynamic
测试配置
测试 DNS 配置
使用 nslookup 或 dig 命令来测试 DNS 配置:
nslookup www.example.com
测试 DHCP 配置
查看 DHCP租约:
sudo dhclient -v eth
管理 dnsmasq 服务
启动服务
sudo systemctl start dnsmasq
停止服务
sudo systemctl stop dnsmasq
重启服务
sudo systemctl restart dnsmasq
设置开机启动
sudo systemctl enable dnsmasq
高级配置
设置 TTL
在配置文件中添加 TTL:
tftp-timeout=60
日志配置
设置日志级别:
log-dnsmasq= info
防火墙设置
确保防火墙允许 DNS 和 DHCP 传输:
sudo ufw allow 53 sudo ufw allow 67
故障排除
权限问题
确保运行 dnsmasq 有足够的权限:
sudo chown -R dnsmasq:dnsmasq /etc/dnsmasq.conf
端口占用
检查端口 53 和 67 是否被占用:
sudo netstat -tuln | grep 53 sudo netstat -tuln | grep 67
DNS 解析问题
DNS 解析不正确,检查 /etc/resolv.conf 文件是否正确配置。
dnsmasq 是一个强大的工具,可以轻松配置和管理 DNS 和 DHCP 服务,通过以上步骤,您可以快速搭建一个功能强大的网络服务服务器。








