#resolv-file= 用来指定上游 DNS 服务器列表所在文件路径,默认注释掉,意思等同于 resolv-file=/etc/resolv.conf ,这里改为/etc/resolv.dnsmasq.conf
sed -i '1,$s/^#resolv-file=.*/resolv-file=\/etc\/resolv.dnsmasq.conf/' /etc/dnsmasq.conf
然后指定上游 DNS
echo "nameserver 8.8.8.8" >> /etc/resolv.dnsmasq.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.dnsmasq.conf
对于 /etc/resolv.conf 只保留一条本地 DNS
echo "nameserver 127.0.0.1" > /etc/resolv.conf#strict-order 若取消注释,用来表示严格按照 resolv-file 指定的文件中的顺序从上到下进行 DNS 解析,直到第一个成功解析成功为止
#no-resolv 若取消注释,则表示不读取 resolv-file 指定的文件,但取消的同时应该在此文档添加上游服务器地址,否则 DNS 查询会 refused ,比如添加一行上游服务器 server=8.8.8.8
#no-dhcp-interface= 若取消注释并指定网卡名,则关闭此网卡的 DHCP功能,只启用 DNS 功能
sed -i '1,$s/^#no-dhcp-interface=.*/no-dhcp-interface=venet0/' /etc/dnsmasq.conf
这里有个问题,若 resolv-file= 不另外指定文件(即默认使用 /etc/resolv.conf ),并在 /etc/resolv.conf 追加一行 nameserver 127.0.0.1 ,这样就把上游服务器地址和本地 DNS 服务器地址放在同一文件,还是可以解析的,只是不知为何不会有循环问题,还有 DNS 优先级是怎样的?
参考:http://www.freeoa.net/osuport/servap/dnsmasq-use-intro-refer_2480.html
No comments:
Post a Comment