Dnsmasq

Dnsmasq

Config File

/etc/dnsmasq.conf
/etc/dnsmasq.d/ # need to be included in main conf

部分配置项

#port=53 # default
listen-address=127.0.0.1 # 只监听 lo 本地回环

Use with VPN

/etc/resolv.conf

nameserver 127.0.0.1

/etc/dnsmasq.conf

no-resolv
server=8.8.8.8
conf-dir=/etc/dnsmasq.d/,*.conf

只允许本机自身的DNS解析(仅用于代替 /etc/resolv.conf)

listen-address=127.0.0.1
no-resolv
server=8.8.8.8
conf-dir=/etc/dnsmasq.d/,*.conf

或使用一个独立的 resolv-file

resolv-file=/etc/resolv-native.conf
conf-dir=/etc/dnsmasq.d/,*.conf

iptables

部署在路由器上时,可以劫持所有(局域网机器)发送的 DNS 解析请求到本机。这样所有设备无论配置的是什么 DNS,都可以保证由本路由器解析。某些版本的路由器固件 Web UI 里自带开关可以启用下面这条 iptables 语句。

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 53

Route

通过 ip route 或 ip rule 使 8.8.8.8 通过 VPN 路由。

# 直接添加 route 到 main 路由表
ip route add 8.8.8.8 dev tun0

# 或配合 ip rule 策略路由 (推荐这种,更灵活)
ip route add default dev tun0
ip rule add to 8.8.8.8 table 10 prio 10

dnsmasq-china-list (optional)

推荐配合 dnsmasq-china-list 使中国国内域名解析支持国内的 CDN。

cd /root/
git clone https://github.com/felixonmars/dnsmasq-china-list

# vi /etc/dnsmasq.conf
# add the below line

conf-dir=/root/dnsmasq-china-list,*.conf

Last update: 2018-06-26 09:17:45 UTC