Open alwaystest opened 9 years ago
最近又折腾了刷路由器的办法,发现大家在~使用pdnsd来做dns缓存,dnsmasq只做ipset添加和dns转发~(纠正:使用pdnsd的原因主要是可以使用tcp协议进行dns查询,防止udp查询方式的投毒攻击,缓存部分和ipset添加依然是dnsmasq进行控制,当然pdnsd也可以配置缓存。所以现在的模式是dnsmasq监听53端口的dns查询,如果命中缓存,就直接返回结果,如果需要进行查询,则根据配置选择上级dns服务器,如果是在黑名单的域名,就转发给pdnsd,否则就使用正常的上级dns进行查询,这样会比较快一些)。因为之前我也遇到过,虽然dnsmasq设置了缓存的dns数量,但是经常会莫名其妙的丢失记录,导致经常性的需要把dns请求转发到VPS进行查询。
正常的网络的话,其实转发就转发了,大不了网络首次访问会慢一丢丢。但是遇上坑爹的小运营商就糟糕了,本来VPS的丢包率就高,如果dns缓存总是丢失的话,经常会出现dns请求超时的问题。
目前已经被我拉入黑名单的运营商有长城宽带和鹏博士宽带。预计其他小运营商也好不到哪去。
作为一名软件工程师,网络的投资还是不能省的。一个稳定的网络,带给我们的是丝滑的体验,而不是三天两头给客服打电话反映网络有问题。
树莓派二代 dnsmasq ipset iptables shadowsocks 网关代理
标签(空格分隔): linux 树莓派 翻墙
sudo passwd root
然后sudo passwd -u root
解锁root帐号然后操作。dnsmasq -v
显示版本,下面有编译信息显示是否支持ipset,默认直接apt-get install dnsmasq
安装的版本十分落后,于是到官网自己下载tar.gz,tar zxvf *
cd
make install
。ipset -N ss iphash
。iptables的规则也是重启后会清空,配置好规则后使用iptables-save > /etc/sysconfig/iptables
保存一次,每次开机后使用iptables-restore < /etc/sysconfig/iptables
恢复,注意这个命令运行最好在ipset之后,防止检测不到ipset的list导致失败。命令example:
conf-dir=/etc/dnsmasq.d
==> enable last line 指定配置文件的位置 //my input software is not stable /etc/dnsmasq.d/ 下建立配置文件比如 light.confnetstat -tunlp|grep 53
//查看53端口佔用情況,判斷dnsmasq是否啓動成功开机启动可以自己写一个指定格式的脚本,放到/etc/init.d/ 下,执行update-rc.d就可以自动把开机启动加到对应的目录下,网上说手动软连接也可以实现开机启动,但是我上次软连接以后开机并没有自动启动,待测。
參照
CentOS6.5 64bit如何安装DNS服务dnsmasq 作为翻墙利器 OpenWRT配合shadowsocks 最智能的全局代理 OpenWrt VPN 按域名路由 利用ipset进行选择性的翻墙 如何在Linux下大量屏蔽恶意IP地址(ipset) 智能翻墙: 树莓派 + shadowsocks