dnsmasq 是一个功能强大的 DNS 和 DHCP 服务器,能够为局域网中的计算机自动分配 IP 地址并提供主机名到 IP 地址的 映射。以下是使用 dnsmasq 的详细步骤指南
安装 dnsmasq
根据你的操作系统选择合适的安装方法:
在 Ubuntu/Debian 上安装:
打开终端并执行以下命令:
sudo apt-get update sudo apt-get install dnsmasq
在 CentOS/RHEL 上安装:
使用 EPEL 仓库:
sudo yum install epel-release sudo yum install dnsmasq
从源码安装:
下载最新的源码并编译:
sudo apt-get install build-essential wget https://github.com/dnsmasq/dnsmasq/releases/download/v2.76/dnsmasq-2.76.tar.gz tar xzf dnsmasq-2.76.tar.gz cd dnsmasq-2.76 make sudo make install
配置 dnsmasq
创建配置文件 dnsmasq.conf:
sudo nano /etc/dnsmasq.conf
示例配置:
interface= server=192.168.1.1 domain=srv.example.com
- 接口 (
interface=): 指定监听 DNS 和 DHCP 请求的网络接口,默认使用eth。 - DNS 服务器 (
server=): 指定 DNS 服务器地址,通常为本地域名解析服务器。 - 域名 (
domain=): 设置域名,用于主机名的域间域名 (FQDN)。
启用 DHCP:
sudo dnsmasq -C
配置文件选项:
--domain-needed:拒绝没有域名的请求。--allow-wildcards:允许在主机名中使用通配符。--dns-forwarders:指定 DNS 转发服务器。
定义主机名和 IP 映射
在配置文件中添加主机名和 IP 映射:
host=192.168.1.100 srv1.example.com
设置 TTL 和 其他 DNS 参数
在配置文件中添加:
ttl=60
启用并重启 dnsmasq
启动 dnsmasq:
sudo dnsmasq -C
确保 dnsmasq 以守护进程模式运行,使用 -C 选项。
启用网络服务
在 NAT 或防火墙上启用 DNS 转发:
sudo iptables -t nat -A POSTROUTING -d 192.168.1./24 -j DNAT --to-destination 192.168.1.1 sudo service iptables save sudo service iptables restart
测试配置
使用 nslookup 或 dig 检查 DNS 配置:
nslookup srv1.example.com
高级配置(可选)
- 启用缓存:
sudo dnsmasq --cache-root=/var/cache/dnsmasq
- 启用 SSL:
安装 Certbot 并配置:
sudo apt-get install certbot sudo certbot --install
维护和清理
定期清理租赁记录:
sudo dnsmasq -c /etc/dnsmasq.conf --clean
查看日志文件:
sudo tail -f /var/log/dnsmasq.log
故障排除
- 服务不响应: 检查配置文件是否有误,或者接口是否正确。
- IP 地址冲突: 使用
arp命令检查冲突情况。
文档和社区
- 官方文档: dnsmasq 文档
- 社区支持: dnsmasq 论坛
通过以上步骤,你可以轻松配置并管理局域网中的 DNS 和 DHCP 服务,dnsmasq 提供了强大的配置选项,适合不同的网络需求。

如果没有特点说明,本站所有内容均由原子加速器官方网站|提供客户端版本、线路管理与节点选择功能,适配Windows、Android、iOS等设备,便于用户进行网络连接优化原创,转载请注明出处!