我在外部网络上的 CentOS 机器上使用 dnsmasq。我的配置文件如下:
port=53
bind-interfaces
user=root
group=dnsmasq
pid-file=/var/run/dnsmasq.pid
domain-needed
bogus-priv
no-hosts
dns-forward-max=150
cache-size=1000
neg-ttl=3600
resolv-file=/etc/resolv.dnsmasq
no-poll
log-facility=/var/log/dnsmasq.log
log-queries
当我将计算机的 DNS IP 设置为我的 VPS 时,没有网站解析。我可以在日志文件中看到
答案1
Centos 默认有iptables防火墙已安装并正在运行。默认配置非常严格。我怀疑您没有在防火墙配置中设置允许访问端口 53。要检查
sudo /sbin/iptables -L | grep domain
如果你得到这样的输出
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
那么端口 53 是开放的,问题就出在其他地方。
如果您得到空白输出,那么您将需要添加规则来打开端口 53。
sudo /sbin/iptables -I RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
sudo /sbin/iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT
然后保存配置
sudo /sbin/service iptables save