神代綺凜

[ChinaDNS] 无污染的智能路由 DNS 折腾记
手上有台去年被京东云骗了买的80多rmb一年的1M小水管机子,闲着也是闲着,就打算用 ChinaDNS 项目部署一...
扫描右侧二维码阅读全文
05
2018/04

[ChinaDNS] 无污染的智能路由 DNS 折腾记

手上有台去年被京东云骗了买的80多rmb一年的1M小水管机子,闲着也是闲着,就打算用 ChinaDNS 项目部署一个无污染的DNS服务,其中遇到了许多坑,弄清楚了之后我觉得很有必要写一篇教程(特别是在用H大的老毛子固件上的ChinaDNS的朋友们需要看一看),其中涉及到 DNS 污染的问题是重点

Head Pic: 「There is a reason」/「极道寂」[pixiv]
"We'll always be together"

ChinaDNS

最初得知这玩意是用了H大的老毛子固件,不过实际使用的时候还是会发生一些科学无法解释的问题,于是决定拿一个 VPS 手动搭一个 ChinaDNS 的服务器来实验

关于 DNS 污染

搭建这个 ChinaDNS 的首要目的是为了解决 DNS 污染问题

首先我们来使用dig命令测试一下解析

目前我自己已知的最容易判断的污染是www.pixiv.net,即P站域名

在大陆 VPS 上测试

114 DNS

通过114.114.114.114进行查询:

root@JDu4e00u53f7:~# dig www.pixiv.net @114.114.114.114

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.pixiv.net @114.114.114.114
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60508
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.pixiv.net.         IN  A

;; ANSWER SECTION:
www.pixiv.net.      33  IN  A   66.220.158.32

;; Query time: 21 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Thu Apr 05 17:13:02 CST 2018
;; MSG SIZE  rcvd: 58

我们发现其返回了66.220.158.32这个IP,这是用于污染 DNS 的投毒 IP 之一

OpenDNS

我们还知道,国外的 DNS 是无污染的,其中比较有名的就是 OpenDNS 和 GoogleDNS,不过因为谷歌被特殊照顾,你根本无法在大陆内使用8.8.8.8(自己在本机测试下路由追踪就懂了),但是 OpenDNS 是没问题的

通过 OpenDNS 208.67.222.222进行查询:

root@JDu4e00u53f7:~# dig www.pixiv.net @208.67.222.222

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.pixiv.net @208.67.222.222
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56655
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.pixiv.net.         IN  A

;; ANSWER SECTION:
www.pixiv.net.      77  IN  A   66.220.152.17

;; Query time: 2 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Thu Apr 05 17:49:26 CST 2018
;; MSG SIZE  rcvd: 47

结果是出人意料的(虽然对我来说并不意外XD),结果依然是被污染的

这是为什么?

很自然的会想到,GFW 肯定对 DNS 数据包做了手脚,因为 OpenDNS 服务器位于国外,从大陆发出的数据包势必要通过 GFW,那么被做点手脚是很容易的事情了

那么怎么办?

有一个突破口就在于,DNS 的端口不一定只能用53

幸运的是,GFW 确实只会检测53端口的 DNS 数据包,而且 OpenDNS 除了53,还提供了4435353端口的 DNS 服务

通过208.67.222.222443端口进行查询:

root@JDu4e00u53f7:~# dig www.pixiv.net @208.67.222.222 -p 443

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.pixiv.net @208.67.222.222 -p 443
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6215
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.pixiv.net.         IN  A

;; ANSWER SECTION:
www.pixiv.net.      6   IN  CNAME   pixiv.net.
pixiv.net.      41  IN  A   210.129.120.42
pixiv.net.      41  IN  A   210.129.120.41
pixiv.net.      41  IN  A   210.129.120.44

;; Query time: 108 msec
;; SERVER: 208.67.222.222#443(208.67.222.222)
;; WHEN: Thu Apr 05 18:06:33 CST 2018
;; MSG SIZE  rcvd: 104

我们看到,这一次终于返回了正确的 IP 地址结果(Yeah~

为什么使用 ChinaDNS 而不是直接使用 OpenDNS

  1. 我们必须使用非53端口去查询国外 DNS 才能得到没有被 GFW 篡改的正确解析结果,ChinaDNS 可以自定义使用的 DNS 的端口,而 Windows 系统的 DNS 设置定死了使用53端口
  2. 如果通过 OpenDNS 去解析国内网站,那么很可能会得到一个海外 IP(很多大公司都会配备有海外服务器供海外华人使用,例如京东啦淘宝啦B站啦),这样会导致访问国内网站访问速度很慢
    而 ChinaDNS 可以根据 chnrouter 来判断,如果从国内 DNS 里解析到国内 IP 的话就使用,对于国外网站会过滤掉从国内 DNS 解析得到的被污染的结果,十分完美的解决了这个问题

在大陆 VPS 上部署 ChinaDNS

# 如果 Linux 上没有安装 make 和 gcc 的话要先安装
# Ubuntu / Debian
apt-get install -y make gcc
# CentOS
yum install -y make gcc

# 下载 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(必要,因为源码中自带的 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

# 更新黑名单IP列表(推荐)
rm -f iplist.txt && wget --no-check-certificate  https://raw.githubusercontent.com/Tsuk1ko/ChinaDNS/master/iplist.txt

# 启动 ChinaDNS(编译好的程序在 src 目录中)
src/chinadns -m -c chnroute.txt -s 114.114.114.114,208.67.222.222:443

最后别忘记开放防火墙的53UDP端口,这一步如果你不会的话就自行百度吧(

需要注意的是,这样直接运行是在前台运行,如果你退出 SSH,程序就会终止
在正式使用场合,你需要使用nohub或者screen或者supervisor让 ChinaDNS 在后台一直运行(后面会讲使用supervisor的方法)

重点

  1. 如果不使用-s参数,那么 ChinaDNS 会默认使用114.114.114.114,208.67.222.222:443,8.8.8.8作为 DNS,这样会导致一个很严重的问题!

    前面我们说过,如果你不通过非53端口去查询国外 DNS,就会得到一个被污染的查询结果,因此如果你使用53端口的国外 DNS 作为 ChinaDNS 的 DNS,最终就会得到被污染的查询结果,从而无法解决污染问题

    并且8.8.8.8这个 IP 是被特殊照顾的,任何发往这个 IP 的请求都会被重定向到一个没人知道在哪的小黑屋里,因此就算谷歌有开放非53端口的 DNS 服务,我们也无法使用

  2. 使用H大老毛子固件上的 ChinaDNS 的时候也请一定要把8.8.8.8去掉,如果不开酸酸/酸酸乳,那么这个8.8.8.8就会污染你的 ChinaDNS 结果
  3. 你可以不用 114DNS 当国内 DNS,但是请注意使用-s参数指定 DNS 的时候,一定要把国内 DNS 写在前面,OpenDNS 写在最后面,否则会出现解析国内网站返回海外 IP 的现象(亲测

另外,不能在墙外的 VPS 上搭建 ChinaDNS:

  1. 从墙外 VPS 访问国内 DNS 查询国内网站会得到海外 IP 结果
  2. 你从大陆发往墙外 VPS 的 DNS 数据包仍会经过 GFW,这意味着你还是不能使用53端口

测试 ChinaDNS

以下是我在自己家路由器上dig的结果:

Pixiv

[MI-3 /opt/home/admin]# dig www.pixiv.net @我自建的ChinaDNS服务器

; <<>> DiG 9.11.2 <<>> www.pixiv.net @我自建的ChinaDNS服务器
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55219
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.pixiv.net.         IN  A

;; ANSWER SECTION:
www.pixiv.net.      39  IN  CNAME   pixiv.net.
pixiv.net.      39  IN  A   210.129.120.44
pixiv.net.      39  IN  A   210.129.120.41
pixiv.net.      39  IN  A   210.129.120.42

;; Query time: 183 msec
;; SERVER: 我自建的ChinaDNS服务器#53(我自建的ChinaDNS服务器)
;; WHEN: Thu Apr 05 18:50:49 CST 2018
;; MSG SIZE  rcvd: 104

解析正常√

Google

[MI-3 /opt/home/admin]# dig www.google.com @我自建的ChinaDNS服务器

; <<>> DiG 9.11.2 <<>> www.google.com @我自建的ChinaDNS服务器
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25408
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     300 IN  A   172.217.25.4

;; Query time: 243 msec
;; SERVER: 我自建的ChinaDNS服务器#53(我自建的ChinaDNS服务器)
;; WHEN: Thu Apr 05 18:51:05 CST 2018
;; MSG SIZE  rcvd: 59

解析正常√

B站

[MI-3 /opt/home/admin]# dig www.bilibili.com @我自建的ChinaDNS服务器

; <<>> DiG 9.11.2 <<>> www.bilibili.com @我自建的ChinaDNS服务器
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11000
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.bilibili.com.      IN  A

;; ANSWER SECTION:
www.bilibili.com.   255 IN  CNAME   bilibili.hdslb.net.
bilibili.hdslb.net. 134 IN  A   111.231.211.246
bilibili.hdslb.net. 134 IN  A   140.143.82.138
bilibili.hdslb.net. 134 IN  A   111.231.212.88
bilibili.hdslb.net. 134 IN  A   112.117.218.167

;; Query time: 166 msec
;; SERVER: 我自建的ChinaDNS服务器#53(我自建的ChinaDNS服务器)
;; WHEN: Thu Apr 05 18:51:14 CST 2018
;; MSG SIZE  rcvd: 141

解析正常√
并且解析到的结果是国内的服务器,没有跑到国外去√

综上

这样的解决方案是可行的(Yeah~

使用supervisor防止 ChinaDNS 程序挂掉

具体请参考这篇文章中的内容

我的文章对您有帮助吗?
我很可爱 请给我钱
扫一扫拿红包 → 扫商家收款码 → 花呗支付比红包多1分钱的金额
既可免费赞赏,又可完成支付宝支付任务!
Last modification:May 19th, 2018 at 04:36 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

53 comments

  1. Zvonimir  Android 8.0.0(Android 8.0.0) / Google Chrome 70.0.3538.110(Google Chrome 70.0.3538.110)

    前学习一下,正好有个国内学生机。

  2. Hadesna  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    版主您好
    當我執行到這行
    ./src/chinadns -m -c chnroute.txt -s 119.29.29.29,208.67.220.222:443
    的時候,
    畫面就不會動了,我是原始純淨的阿里雲系統~請問是不是我哪邊要先設置
    請版主幫忙~謝謝您了

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
      @Hadesna

      没有足够的信息无法判断问题原因

      另外你可以用overture试试
      https://lolico.moe/tutorial/overture.html

      1. Hadesna  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
        @神代綺凜
        该评论仅登录用户可见
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
          @Hadesna

          如果直接用ss的话是不需要考虑DNS污染问题的,因为经过ss代理均为远程DNS解析,不会有污染

          1. Hadesna  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
            @神代綺凜

            不行耶~有些還是會被汙染~

  3. 路人  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 28.0.1500.72(Google Chrome 28.0.1500.72)

    骑着收费梯子上谷歌找梯子的我泪奔路过,外面的世界真是好,遇上这么高质量的个人站

    请博主给我提点建议
    现在的梯子质量越来越差,国内的廉价VPN已经死的七七八八了,非常难找,一咬牙就充了一年vyprVPN,几百一年的资费已经赶上我半条网线的包年价格了,翻墙已经快成刚需了。我选这家VPN就是看中他宣传的变色龙加密协议,可靠性或许会强点,据说现在PPTP/L2TP/OpenVPN/SSH啥的都又快扛不住了

    现在我已经买了个烽火HG320路由器(二手30块钱),刷了tomato shibby 132固件,把vyprVPN官方插件装上去,串联个淘汰路由器,打造成了我家的翻墙专用网关

    现在我的局域网有2个网关IP了
    192.168.1.1是电信光纤的主出口网关
    192.168.1.4是翻墙出口网关,所有发送到这里的流量都会经过VPN(变色龙协议)包装,再从主网关出去

    (╯‵□′)╯︵┴─┴ 把我家的路由器弄这么乱都是为了可靠性和灵活性啊,网线电线一大堆我也不想啊,但为了保证翻墙效果我忍了,毕竟把VPN隧道直接包装成一个同网段的网关IP,会更方便后端的灵活组合,如果哪天变色龙梯子又烂了,我可以把VPN路由直接拆了,找个新型号换上去继续用

    现在的问题是,还缺一个本地DNS服务器和流量分发服务器,我希望可以自定义策略,让它灵活使用这俩网关出口,实现我的全家设备自动翻墙。刚才我就一直在谷歌上找,这个CHINADNS看着好像差不多,但貌似只能配合SSH用的嘛?有没有支持双网关的这类东西,就算让我搭建个X86 SERVER也要干,求建议,感谢

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.99(Google Chrome 67.0.3396.99)
      @路人

      这样翻墙有点过于硬核了
      所以为什么不直接买ss服务呢,你提到的这些直接靠一个能刷openwrt能装ss的路由器就能实现

      1. 路人  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 28.0.1500.72(Google Chrome 28.0.1500.72)
        @神代綺凜

        竟然还没睡

        近一年被野梯子摔了几次,伤心,所以直接下猛料买了个大牌VPN
        openwrt是吧,好,买买买,搭一个研究下

        再小声问下,有没有SS商推荐?不方便说可以邮箱

        1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
          @路人

          所以我也是自建的,自己不会跑路2333
          也没有什么推荐的

  4. Jed Sun  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)

    但是中国的ISP会自动劫持你的DNS请求到他的DNS服务器上,也就是说改了也没用。∠( ᐛ 」∠)_
    有什么好办法吗?

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.79(Google Chrome 67.0.3396.79)
      @Jed Sun

      如果是运营商劫持,你只能在本机上直接建立ChinaDNS,用非53端口查询
      https://github.com/shadowsocks/ChinaDNS-Python

  5. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)

    src/chinadns -m -c chnroute.txt -s 114.114.114.114,208.67.222.222:443
    我这么运行以后发现dig不到..
    无论是在本地dig @127.0.0.1
    还是在外部 dig @那台主机的ip
    均为..connection timed out; no servers could be reached
    netsta -ntpl发现有在监听53...

    1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
      @zephyru

      而且还一个问题..明明没有运行守护进程..但是53端口上的pi kill不掉...
      断开再连也在..
      甚至重启了也还在..

      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
        @zephyru

        不该吧……你确定53上的是chinadns吗

        1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
          @神代綺凜

          啊...还真不是..ubuntu内置了dnsmasq....
          跑起来了..那么问题来了..我有办法在保留dnsmasq的功能的前提下开启这个dns服务么..

          1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
            @zephyru

            是可以的,而且一般都是把ChinaDNS做DNSMasq的上游DNS,就和你的想法一样,只不过我这里没有讲这么深……
            原本打算对这个问题再写一篇文章,然后最近事情太多就摸了

            1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
              @神代綺凜

              敲碗等攻略....
              顺便还想要用DNSmasq来做软路由的攻略...
              我按照现在网上大多数的配置文件配置...
              DNSmasq --test 倒是通过了..
              但是运行的时候:
              会报 unknown interface 错误...
              看起来跟网卡有关...这是一个双网卡..ubuntu系统的路由开发板..
              但是..蛋疼的是..虽然是路由开发板..却没有现成的专门作路由的系统...
              openwrt的 Img倒是有..但是不知道是有啥前置条件还是怎么样..烧进Sd卡开不了机..
              无奈之下打算用docker跑openwrt..还没成功的跑起来过...
              在顺便..linux 的i/o要怎么测...我看这块板子华丽的四个千兆口..两个USB3.0.
              但是用dd指令发现1GB平均写入只有20MB/s...和树莓派相当..
              这样的话..纵然千兆网卡+USB3.0似乎也不是太有意义?

              1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
                @zephyru

                测IO可以利用下 https://github.com/FunctionClub/ZBench

                并不是USB3.0不行,其正常峰值带宽能有3Gbps,跑满千兆局域网不在话下,主要的问题是储存设备……

                一般的廉价USB3.0储存设备写入速度在20MB/s是正常的,能上个固态硬盘估计就跑满了

                1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
                  @神代綺凜

                  真高大上...然后我又有问题了...
                  我在Docker里成功的运行了..openWrt..问题是...这个openWrt完全获取不到硬件信息..比如Lan口的状态啥的...
                  这就超尴尬了....
                  我这里面插的是闪迪天猫旗舰店上号称..100mb/s的卡呀....前面通过USB 3.0 外接硬盘速度也没有变化...这就很方了..
                  我电脑直接连硬盘盒可以有100M/s左右的速度...

                  1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
                    @zephyru

                    毕竟Docker和宿主是隔离的……想要获取到宿主机信息貌似要加个什么参数,但是我不是很了解Docker更深的就不清楚了

                    那这读写速度大概是路由器CPU瓶颈了……

                    1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
                      @神代綺凜

                      那...如果说是CPU瓶颈...莫非..这板子上的USB3.0纯粹就是摆设了么.....不会有这么蠢的设计吧...20m/S的话..
                      USB2.0完全足够啊....
                      我怎么感觉我被奸商骗了....还是说其实路由不在意I/O所以也不算是被骗..
                      我本来买这个是想做家用NAS的..这I/O和树莓派差不多的话..我干嘛不用树莓派去做...
                      作为参考来说..如果我需要一个I./O性能高一点的路由器...有什么推荐么...

                      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
                        @zephyru

                        只是瞎猜,也没有什么好推荐……
                        我不拿路由器做这些,我要求是能挂ss就行了

                        新教程写好了

                        1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
                          @神代綺凜

                          哇...高产似..
                          没啥..我放弃虚拟化直接刷了openWrt..感觉好浪费...
                          而且半个小时莫名奇妙的重启了两次..不知道为啥..
                          还是树莓派好使..我打算把这个DNS服务搭到树莓派上去....
                          那大佬有什么路由器推荐么.....
                          以及知不知道什么I/O比较强的卡片电脑...不带风扇就行...
                          最后实在不行了..再看看要不要去踩淘宝上迷你主机的坑..
                          这个板子..我感觉有点坑..难关看起来这么华丽却没什么销量....

                          1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
                            @zephyru

                            没有路由器推荐……我openwrt路由就用过MI-3和MI-nano和K2P……都是很一般的

                            1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
                              @神代綺凜

                              mi 3是小米3么....
                              K2P..不知道为啥..淘宝还不给搜..
                              mi nano 我虽然知道是指小米路由器..但是淘宝上给了个小三千的迷你主机作为结果...
                              我在想要不要弄个ROS玩玩....
                              最后你这么一说..我突然又在想..能不能把手机刷成Linux的...
                              我知道似乎有跑在安卓里的虚拟机...

                              1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.181(Google Chrome 66.0.3359.181)
                                @zephyru

                                是小米3,nano是小米路由器青春版
                                安卓机貌似只能用Linux on Android……

  6. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)

    我突然想到一个问题..我如果在自己家架个树莓派,用来做这个dns解析..效果会不会非常好.....?

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
      @zephyru

      是可以的(但是你直接拿个路由器刷个H大老毛子固件就自带了呀

      1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
        @神代綺凜

        话说..在Linux里比如...centos里有办法运行这些第三方的固件么..网上搜了搜似乎可以搭编译环境..那我只是想运行应该去哪里找相关内容呢

        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.139(Google Chrome 66.0.3359.139)
          @zephyru

          呃……为什么要在linux里运行这些固件……

          1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
            @神代綺凜

            现在是这样的..我原本有个路由器但不知为啥..一连游戏PING就会飙升(相对直接插网线来说)..于是我买了个树莓派...在上面跑centos..顺便开热点当路由用...然后我就在想...这上面要怎么跑路由的固件呢..单独跑openwrt似乎没问题..但我还想要它跑Node的爬虫呀..故有此一问..

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 66.0.3359.139(Google Chrome 66.0.3359.139)
              @zephyru

              emmmmm这就超出我知识的范围了
              直接linux装DNSmasq有dhcp还凑合吧

      2. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
        @神代綺凜

        说回来..假设..我可以任意倒腾一个家用局域网的路由器..我现在想用它抓包,就是抓取所有流经这个路由器的包..我应该去找哪方面的资料?通过刷特定的固件可以达到这个需求么?网上一水的都是Wireshark在连接到该局域网的PC上用混杂模式抓..或者cain ARP欺骗...我就是想在路由器上抓..依稀记得以前360 路由器上有类似的功能..试了下APR欺骗..靶机直接上不了网了..也无所谓抓包..

        1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
          @zephyru

          不清楚。。没去研究过这种操作,因为一般本机抓就足够了,抓路由器是什么需求?
          不知道有没有linux上的抓包软件而且是有openwrt版的

          1. zephyru  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 64.0.3282.186(Google Chrome 64.0.3282.186)
            @神代綺凜

            emmm...那本机抓包..除了Wireshark还有什么好用的..记得以前做手机端的时候有一个同事用过一个可以抓包封包手机端的数据包的软件..想不起来名字了..

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
              @zephyru

              Charles,可以让手机通过连接HTTP或者SOCKS代理的方式来抓,而且界面比较新手向

  7. yyy  Android 7.0(Android 7.0) / Google Chrome 65.0.3325.109(Google Chrome 65.0.3325.109)

    博主啥时候做个用windows机器搭建无污染dns的教程呗,windows server自带dns服务,我搭了之后发现还是会被污染。请问windows的自带dns是向谁查询域名信息,13台根服务器么?那为什么还会被污染?

    1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
      @yyy

      并不能用server自带的dns服务做无污染
      无污染是因为定义一种规则使用chnrouter去对用国内dns和国外dns查询得到的结果进行筛选,并且有一个专门的污染ip黑名单列表
      很明显,windows server的dns功能并不满足这个要求

      至于为什么直接查询国外dns(即使是根域名服务器)会得到被污染的结果,文章里opendns的例子已经讲的很清楚了

      如果要用windows搭无污染dns,可以用python版的ChinaDNS
      https://github.com/shadowsocks/ChinaDNS-Python

  8. VF  Windows 8.1 x64 Edition(Windows 8.1 x64 Edition) / Google Chrome 65.0.3325.181(Google Chrome 65.0.3325.181)

    感觉有点多余啊。可以让服务器直接通过socks5查询,再以普通的53发给客户端,当作一个缓存服务器来用

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
      @VF

      但是这样并不能适用于国内的地域解析

  9. miemiedesu  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 59.0(Firefox 59.0)

    看起来China DNS 支持EDNS?
    我目前有一台win的小水管用的Pcap_dnsproxy直接打洞向上级DNS (8.8.8.8)请求的解析。
    没弄国内DNS但因为支持EDNS貌似解析效果也不错?

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
      @miemiedesu

      我也只是略懂皮毛,更深的内容就不在知识范围之内了
      查了查说是EDNS能根据客户端ip解决地域解析问题?

      1. miemiedesu  Android 8.0.0(Android 8.0.0) / Google Chrome 65.0.3325.109(Google Chrome 65.0.3325.109)
        @神代綺凜

        我也是略懂皮毛

        实测Edns服务器dig会有一个client subnet负责传递客户端的公网出口IP。这样方便服务器根据客户端的IP来返回解析结果。
        我的理解是,打个比方,对于上海的DNS服务器,对北京的用户来说,不开EDNS的话,上游DNS server收到的会是来自上海的查询请求,因此很有可能返回一个上海的CDN节点IP,导致网络性能下降。支持的话就会返回北京的节点。

        貌似Edns是一种协议支持然后client subnet是某种可选项?
        要实现这个功能貌似要自己的服务器和上游服务器都支持才行。毕竟好奇China DNS有没有提供这个功能。
        PS:听说国内DNS号称支持其实支持不完全,不过因为会被污染我没有去试。不过看起来只要打开方式正确,Google其实还是知道正确的解析结果的?

        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
          @miemiedesu

          是个好文明
          不过 ChinaDNS 支不支持我就不清楚了

  10. Zero  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.181(Google Chrome 65.0.3325.181)

    密密麻麻2333

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
  11. blank_ws  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.181(Google Chrome 65.0.3325.181)

    网站终于不被chrome识别为钓鱼网站了?2333

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
      @blank_ws

      我一直都没遇到过被识别成钓鱼网站的情况啊(我用的也是chrome

      1. blank_ws  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.181(Google Chrome 65.0.3325.181)
        @神代綺凜

        https://lolico.moe 这个网址是后来改的吧,我收藏的网址不是这个,是yli神马的,然后会自动跳到这个网址上(那个网址会被chrome识别为钓鱼网站

        1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
          @blank_ws

          嗯,去年我就换了域名了
          那个域名是直接解析过来再301跳转的,因为ssl证书不符所以会提示安全问题,忽略之后可以跳转过来

  12. dominic  Mac OS X(Mac OS X) / Safari 11.0(Safari 11.0)

    dig 加个+trace参数更清楚些
    之前我在ipv6下测试没墙

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 65.0.3325.162(Google Chrome 65.0.3325.162)
      @dominic

      ipv6当然没墙,暂时
      不过国家也说要推广v6了,不知道今后会怎么搞