-
安装DNSMasq:
- 在Debian或Ubuntu系统上执行:
sudo apt-get update sudo apt-get install dnsmasq
- 在Debian或Ubuntu系统上执行:
-
启动并设置服务:
- 启动服务并确保其在系统启动时自动运行:
sudo systemctl start dnsmasq sudo systemctl enable dnsmasq
- 启动服务并确保其在系统启动时自动运行:
-
配置DNSMasq:
- 创建配置文件
/etc/dnsmasq.conf:sudo nano /etc/dnsmasq.conf
interface=eth listen=127...1 # 设置DNS记录 host=127...1,localhost # 指定DNS服务器 server=8.8.8.8 # 设置静态IP(如有需求) # host=192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5,192.168.1.6,192.168.1.7,192.168.1.8,192.168.1.9,192.168.1.10,192.168.1.11 # 指定接口 interface=eth
- 保存并关闭编辑器。
- 创建配置文件
-
设置静态IP(如有需求):
- 在
/etc/dnsmasq.conf中添加静态IP映射:host=192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5,192.168.1.6,192.168.1.7,192.168.1.8,192.168.1.9,192.168.1.10,192.168.1.11
- 每个IP地址对应一个主机名,如
host=192.168.1.2,hostname=server1。
- 在
-
开放DNS端口:
- 安装iptables:
sudo apt-get install iptables
- 允许DNS查询:
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT
- 保存iptables规则:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
- 安装iptables:
-
重启DNSMasq服务:
- 应用配置并重启服务:
sudo systemctl restart dnsmasq
- 应用配置并重启服务:
-
测试配置:
- 在本地测试:
nslookup localhost dig localhost
- 在另一台机器上测试外部DNS:
nslookup google.com 192.168.1.1
- 在本地测试:
-
确保自动启动: -编辑
/etc/rc.local:sudo nano /etc/rc.local
添加
@dnsmasq,保存后重启系统。
完成以上步骤后,DNSMasq将作为本地 DNS 和 DHCP 服务器运行,确保网络接口名正确(如eth),并根据需要调整配置,遇到问题时,检查配置文件的语法和系统日志。









