安装和准备
确保已安装dnsmasq:
sudo apt-get install dnsmasq
配置文件结构
编辑配置文件/etc/dnsmasq.conf,按照以下结构添加规则:
@ # 主规则
interface=eth
server=192.168.1.1/24
domain=example.com
添加默认DNS服务器
为防止内部DNS解析失败,添加外部DNS服务器作为递归:
server=208.67.222.123
设置域名映射
将内部IP映射到域名:
map 192.168.1.100 example.com map 192.168.1.101 www.example.com map 192.168.1.102 ftp.example.com
配置NAT转换
指定NAT接口并映射外部IP:
interface:192.168.1.1 server=203..113.10 192.168.1.100
添加端口转发规则
指定特定端口转发到内部IP:
port=80 192.168.1.100 port=443 192.168.1.100
启用DNSSEC
如果支持DNSSEC,配置如下:
dnssec server=2001:db8:8519:1::1
设置接口和域名解析服务器
指定接口和递归DNS服务器:
interface=eth server=192.168.1.1
配置DNS缓存
设置缓存大小和超时:
cache-size=100 cache-ttl=86400
安全设置
限制dnsmasq权限:
sudo chown -R dnsmasq:dnsmasq /etc/dnsmasq.conf sudo chmod 644 /etc/dnsmasq.conf
启动并测试
启动dnsmasq并启用在启动时自动启动:
sudo systemctl start dnsmasq sudo systemctl enable dnsmasq
测试配置
使用nslookup或dig验证域名解析:
nslookup www.example.com
验证NAT转换
使用外部IP访问内部服务:
curl http://203..113.10
检查日志和错误
查看dnsmasq日志,确保没有错误:
journalctl -u dnsmasq
配置完成
重启dnsmasq并确保所有服务正常运行:
sudo systemctl restart dnsmasq
通过以上步骤,您可以配置一个功能丰富的dnsmasq,提供DNS解析、NAT转换和安全的DNSSEC服务,确保每一步都仔细检查,避免配置错误。









