ubuntu 安装dnsmasq dnscrypt-proxy

简介:

考虑目前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,如需转载请自行联系原作者

相关文章
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
207 78
|
2月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤
在整个安装过程中,你可能需要管理员权限,因此你可能要使用 `sudo` 来获取必要的权限。记得做完每一个步骤后,都要检查输出,以确保没有发生错误,并且每项操作都成功完成。如果在安装过程中遇到问题,查看 `/var/log/` 下的日志文件对于问题的解决可能是有帮助的。
122 21
|
2月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
100 11
|
2月前
|
Kubernetes 负载均衡 Ubuntu
Kubernetes安装详细教程 Ubuntu版
本教程基于Ubuntu 22.04配置Kubernetes环境,涵盖依赖安装、swap关闭、内核参数调整、containerd与Kubernetes组件安装、集群初始化及CNI网络插件部署等内容,并提供常见问题处理方法和相关工具推荐。
|
1月前
|
Ubuntu Java Android开发
在Ubuntu 18.04上安装与JDK 8兼容的Eclipse版本的步骤。
安装过程结束后,您就可以开始使用Eclipse来开发您的Java项目了,并且确保它与JDK 8兼容无误。这个过程涉及的是一个基本的安装流程,针对使用Java 8的用户,Eclipse的其他配置和插件安装根据个人开发环境和需求来定制。
126 0
|
3月前
|
Ubuntu 机器人 定位技术
Loam在Ubuntu 18.04上的一站式安装指南
现在,你已经完成了Loam在Ubuntu 18.04上的一站式安装盛宴。从更新系统清洁,到搭建魔法环境的工作空间,再到召唤和激活Loam精髓的艺术——每步都妙不可言,每步都至关重要,让你在这场技术的饕餮盛宴中大显身手。
83 8
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Windows中安装WSL 2和Ubuntu系统的教程
回看这一路,有趣吧?你已经跨界成为了一个Windows和Linux的桥梁。期待在代码的世界里,把一切玩得风生水起!
171 13