当前位置: 首页 > news >正文

dnscrypt-proxy+dnsmasq搭建无污染DNS服务器

为什么要搭建自己的DNS服务器?

国内的DNS已经被严重污染了,很多的域名返回的都是错误的域名。要防止DNS的污染,就需要用一种加密的DNS协议。DNSCrypt 协议就能满足这种要求,DNSCrypt 是一种加密的DNS协议,有很多的DNS服务器都支持这种协议,支持 DNSCrypt 协议的服务器列表在这里。

方案

最好的方案是国内的域名通过国内的DNS服务器(比如114或阿里DNS)查询,国外的通过 DNSCrypt 查询,这就需要dnsmasq的配合。dnsmasq是一个开源的,小巧的DNS服务器,支持很多的配置选项,最大的优点是能通过配置文件指定不同的域名通过不同的DNS服务器来查询。已经有人把这样的配置文件做好了,放在Github上了,叫做dnsmasq-china-list,这是一个国内域名列表。

安装和配置

安装和配置参考这篇文章。
文章中讲的是编译安装的方式,也可以直接在软件源中安装(软件源中不一定有)。
安装dnscrypt-proxy之前必须安装libsodium,centros中,在安装libsodium之后要执行下面这两行命令,不然configure时会有错误:

# echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
# ldconfig

dnscrypt-proxy 通过添加启动参数来配置的方式比较简单,可以通过下面这条命令来启动 dnscrypt-proxy 服务:

# dnscrypt-proxy --resolver-name=4armed --local-address=127.0.0.1:35535

主要需要指定解析服务器和端口,4armed是解析服务器列表中的第一个,速度还可以,自己找一个速度比较快的就可以。默认的端口是53,53必须留给dnsmasq用,所以必须换另外一个端口。
dnscrypt-proxy 服务启动之后,用dig命令查询 youtube.com 的 ip 测试一下:

$ dig @127.0.0.1 -p 35535 youtube.com
; <<>> DiG 9.9.4-RedHat-9.9.4-18.el7 <<>> @127.0.0.1 youtube.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53341
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
;youtube.com.                   IN      A;; ANSWER SECTION:
youtube.com.            1       IN      A       74.125.68.136
youtube.com.            1       IN      A       74.125.68.91
youtube.com.            1       IN      A       74.125.68.190
youtube.com.            1       IN      A       74.125.68.93;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun May 22 21:13:25 CST 2016
;; MSG SIZE  rcvd: 93

应该就能查询到正确的 ip 地址。

然后配置 dnsmasq。

dnsmasq 的配置文件在 /etc/dnsmasq.conf 中,在配置文件中写入:

#配置文件的目录,dnsmasq-china-list的配置文件就放在这个目录中,会陪自动加载
conf-dir=/etc/dnsmasq.d
#禁用resolv配置文件
no-resolv
no-poll
#resolv server 使用本机的dnscrypt-proxy
server=127.0.0.1#35535
#cache 大小,默认为150
cache-size=1500

然后将dnsmasq-china-list项目中的三个 .conf 配置文件放到 /etc/dnsmasq.d 目录下。

这样,一个无污染,快速的DNS服务器就搭建好了!


http://www.taodudu.cc/news/show-3525719.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • TDNN—时延神经网络原理
  • SNN介绍-来自脉冲神经网络原理
  • 《深度学习》之 循环神经网络 原理 超详解
  • 竞争神经网络原理
  • BP神经网络原理详解
  • 前馈神经网络原理与实现
  • 《深度学习》之 前馈神经网络 原理 详解
  • 深度神经网络原理
  • 通俗理解RNN循环神经网络原理
  • 人工神经网络原理图解
  • BP神经网络原理及实现
  • 神经网络原理
  • 【学习笔记】神经网络的基本原理
  • 神经网络的基本原理
  • 泰拉瑞亚Linux服务器搭建教程
  • Linux服务篇之DNS服务器搭建
  • Linux服务器搭建云盘,linux 搭建个人云盘Nextcloud
  • Linux宝塔搭建
  • Linux下搭建SVN服务器【亲测可用】
  • 服务器怎搭建Linux,linux服务器怎么搭建
  • Linux搭建NFS服务器
  • Linux搭建DHCP服务器
  • LINUX服务器搭建pytorch环境
  • Terraria/泰拉瑞亚linux服务器搭建教程
  • Linux搭建mysql服务器
  • 搭建Linux虚拟机服务器
  • 【深度学习】Linux服务器搭建pytorch环境
  • 完整linux搭建服务器过程,Linux搭建服务器步骤
  • Linux服务器搭建 -- Web静态/动态服务器及论坛的搭建(apache)
  • 基于Linux的服务器搭建