考虑目前DNS污染等情况。 安装了DNSMASQ等软件解决一下。
1
2
3
4
|
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规则
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# 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 添加如下项目
1
2
3
4
5
6
7
8
9
10
11
12
|
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
1
|
sudo
iptables-restore<
/etc/network/iptables
.up.rules
|
更改 dnscrypt-proxy设置 /etc/default/dnscrypt-proxy
1
|
sudo
sed
-i
"s/127.0.0.2:53/127.0.0.1:54/g"
/etc/deault/dnscrypt-proxy
|
更改dnsmasq设置 /etc/dnsmasq.conf
1
2
3
4
5
6
7
|
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
1
2
|
/etc/init
.d
/dnscrypt-proxy
start
/etc/init
.d
/dnsmasq
start
|
dnscrypt-proxy 如果启用 tcp-only 可能有如下错误:
1
|
;; Truncated, retrying
in
TCP mode.
|
另: 如果dnscrypt-proxy 不能用的话,可以到github 去更新 dnscrypt-resolvers.csv
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1602366,如需转载请自行联系原作者