考虑目前DNS污染等情况。 安装了DNSMASQ等软件解决一下。
sudo apt-get install python-software-properties sudo add-apt-repository ppa:shnatsel/dnscrypt sudo apt-get update sudo apt-get install dnscrypt-proxy dnsmasq
添加iptables规则
# Generated by iptables-save v1.4.12 on Fri Jan 9 15:12:34 2015 *mangle :PREROUTING ACCEPT [16:2761] :INPUT ACCEPT [16:2761] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [13:2482] :POSTROUTING ACCEPT [13:2482] -A PREROUTING -p udp -m udp --sport 53 -m u32 --u32 "0&0x0F000000=0x05000000 && 0>>22&0x3C@8&0x810F=0x8000 && 0>>22&0x3C@12&0xFFFF=0x0000" -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|042442B2|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|0807C62D|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|1759053C|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|253D369E|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|2E52AE44|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|31027B38|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|364C8701|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|3B1803AD|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|402158A1|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4021632F|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4042A3FB|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4168CAFC|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|41A0DB71|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|422DFCED|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|480ECD63|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|480ECD68|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4A7D2766|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4A7D2771|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4A7D7F66|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4A7D9B66|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4D04075C|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|4E10310F|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|5D2E0859|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|76053106|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|80797E8B|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|9F6A794B|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|A9840D67|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|BC050460|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|BDA31105|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|C043C606|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|C504040C|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|CA6A0102|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|CAB50755|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|CB620741|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|CBA1E6AB|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|CF0C5862|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D0381F2B|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D1244921|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D155E58A|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D1913632|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D1DC1EAE|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D35E4293|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D5A9FB23|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D8DDBCB6|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|D8EAB30D|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|F3B9BB27|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|F9812E30|" --from 60 --to 180 -j DROP -A PREROUTING -p udp -m udp --sport 53 -m string --algo bm --hex-string "|FD9D0EA5|" --from 60 --to 180 -j DROP COMMIT # Completed on Fri Jan 9 15:12:34 2015 # Generated by iptables-save v1.4.12 on Fri Jan 9 15:12:34 2015 *filter :INPUT ACCEPT [784:110498] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [488:63285] COMMIT # Completed on Fri Jan 9 15:12:34 2015
直接保存到 /etc/iptables.set
更改网卡设置 /etc/network/interface 添加如下项目
auto eth0 iface eth0 inet dhcp dns-nameservers 127.0.0.1 pre-up iptables-restore</etc/network/iptables.up.rules up route add -net 192.168.100.0 netmask 255.255.255.192 gw 192.168.10.2 eth1 up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.10.2 eth1 auto eth0:1 iface eth0:1 inet static address 1.2.3.4 netmask 255.255.224.0
启动iptables
sudo iptables-restore</etc/network/iptables.up.rules
更改 dnscrypt-proxy设置 /etc/default/dnscrypt-proxy
sudo sed -i "s/127.0.0.2:53/127.0.0.1:54/g" /etc/deault/dnscrypt-proxy
更改dnsmasq设置 /etc/dnsmasq.conf
cache-size=5120 all-servers #114 DNS server=114.114.114.114 server=114.114.115.115 server=127.0.0.1#54
重启 dnscrypt-proxy, dnsmasq
添加启动 /etc/rc.local
/etc/init.d/dnscrypt-proxy start /etc/init.d/dnsmasq start
dnscrypt-proxy 如果启用 tcp-only 可能有如下错误:
;; Truncated, retrying in TCP mode.
另: 如果dnscrypt-proxy 不能用的话,可以到github 去更新 dnscrypt-resolvers.csv