隐约雷鸣,阴霾天空。

搭建无污染dns

        起因:

     前段时间u2被dns投毒了,然后就想着能不能自己建一个dns。

首先要准备一台在国内的服务器 ,或者刷了openwrt之类的路由器也行。

        然后先搭建chinadns作为上游dns。

     Github地址:https://github.com/shadowsocks/ChinaDNS

        先下载编译chinadns

    wget --no-check-certificate  https://github.com/shadowsocks/ChinaDNS/releases/download/1.3.2/chinadns-1.3.2.tar.gz
    tar -zxvf chinadns-1.3.2.tar.gz
    cd chinadns-1.3.2
    ./configure && make

        然后更新CHNRouter

    curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt

        开启

    ./src/chinadns -m -c chnroute.txt -s 119.29.29.29,208.67.220.222:443

        这里默认开启的是53端口,要注意的是记得打开防火墙,阿里云之类的服务商还得打开安全组的udp和tcp端口。

        访问http://tool.chinaz.com/dns/?type=1&host=你想解析的域名&ip=服务器的ip看看能不能用,如果响应ip那里啥也没有请检查服务是否出错和防火墙的配置是否有问题。

        确认无误后把chinadns用5353端口启动就行了。注意,终端退出的话chinadns也会停止,具体解决方法有很多,随便找一个用就是了。

        然后安装DNSMasq。至于是编译安装还是用包管理器安装随便,这里就不说了。

        安装完后编辑/etc/dnsmasq.conf文件

    # 指定监听 53 端口

      port=53
    # 禁止 DNSMasq 使用 resolv.conf
      no-resolv
      no-poll
    # 指定监听IP,将 x.x.x.x 换成你的 eth0 网卡IP(用 ifconfig 命令查看)
      listen-address=127.0.0.1,x.x.x.x
    # 指定额外配置文件夹
      conf-dir=/etc/dnsmasq.d/

          需要注意的是,如果你是想把这个dns服务用于公网,后面那个x.x.x.x是必须要加的。127.0.0.1是让本地访问。<br/>

          添加chinadns作为上游dns服务器

                echo "server=127.0.0.1#5353" > /etc/dnsmasq.d/chinadns.conf

           然后重启DNSMasq就行了。

添加新评论