论定期更新ChinaDNS忽略列表的重要性

论定期更新ChinaDNS忽略列表的重要性

shadowsock+ChinaDNS成功实现科学上网之后,为了防止对国内IP和国外IP的误判。还需要定期更新忽略列表

  • Shadowsock的ss-redir服务的TCP转发能力,将ip段不符合 /etc/shadowsocks/ignore.list描述的请求进行
  • redirect。同时,ChinaDns服务所需配置文件 /etc/chinadns_chnroute.txt (或者是其他名字) 为解决DNS污染问题,也需要保持内容的更新。

这两个文件内容是一致的。

如果长时间不更新的话,可能就会出现某些国内网站反应很慢,甚至打不开,比如优酷或者其他视频网站。而国外网站反倒还好。

这个脚本可以帮你定期更新:

1
2
3
#!/usr/bin                                                                                                                                                                                     
wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/shadowsocks/ignore.list;
cp /etc/shadowsocks/ignore.list /etc/chinadns_chnroute.txt

需要把这个脚本存到路由器上,使用ssh客户端软件或终端模拟登陆路由器:

1
ssh root@192.168.1.1

写上密码 默认也是root
之后就可以把上面内容通过vi或者cat存到一个update.sh里了

可以保持以上两个文件同步,且内容为最新。
将上述脚本保存成一个update.sh文件,然后执行sh update.sh就可以更新了。
如果需要的话,可以放到crontab里,自动执行update.sh.

还有一种情况,AWS global的一个EC2实例,之前不翻墙用的好好的,用了翻墙后,不好使,ssh连不上这个实例了,后来发现,跟忽略列表有关。需要手动将这个实例的ip段追加到ignore.list和chinadns_chnroute.txt中去,格式如下
12.34.0.0/16
这样,整个12.34的B类网段下的ip就都不走翻墙了。

推荐文章