Dnscrypt使用的小技巧

最近饱受ZFW的痛苦,goagent失效,连Dropbox也无法使用了,我在手机端和电脑端所使用的网盘都是Dropbox,一直都是用这个来同步文件的。这次真的想骂人,你墙完谷歌,连Dropbox都墙了,这只是一个网盘啊。F**k。
前几天看到月光博客有介绍使用Dnscrypt可以解决Dropbox无法登陆的问题,于是在自己的机器上面试了下,果然可以,不用开goagent全局代理dropbox可以正常使用,fb也可以打开了,下面是地址
http://www.williamlong.info/archives/3890.html
在该文章里面有详细的说明这个工具在Windows的用法。

主要说明

继续说这个工具,这个工具唯一不爽的是这个东西只有pc端,也就是无法在手机上面使用,于是想到了下面的办法,
在我的ubuntu虚拟机里面安装好Dnscrypt,然后将dnscrypt的监听地址修改为虚拟机的ip地址(默认为127.0.0.2),接着在虚拟机里面搭建vpn服务器,将vpn服务器的dns地址也修改为dnscrypt监听的地址,也就是虚拟机的地址,这样整个局域网就都可以使用到Dnscrypt的服务了。

安装Dnscrypt

本着F**k ZFW的精神,分享给大家,下面详细的说下过程。
安装的话你可以在
http://download.dnscrypt.org/dnscrypt-proxy/
下载源码自己编译安装。
如果你和我一样用的是ubuntu的话,可以用ppa来安装

sudo add-apt-repository ppa:shnatsel/dnscrypt
sudo apt-get update
sudo apt-get install dnscrypt-proxy

这样安装完之后就是以类似于apache,mysql的方式

service dnscrypt-proxy restart #重启服务
service dnscrypt-proxy start   #启动服务
service dnscrypt-proxy stop    #停止服务

安装完之后编辑/etc/default/dnscrypt-proxy 文件
在第5行修改成
local-address=192.168.1.110
后面的那个地址是你虚拟机的ip地址,修改成你自己的。再将ubuntu的dns服务器修改成这个。

搭建vpn服务器

然后搭建vpn服务器,可以参考
ubuntu搭建vpn服务器
或者使用下面这个脚本,直接一键安装

#!/bin/sh
if [ `id -u` -ne 0 ]
then
  echo "please run it by root"
  exit 0
fi
apt-get -y update
apt-get -y install pptpd || {
 # echo "could not install pptpd"
 # exit 1
#}

cat >/etc/ppp/options.pptpd <<END
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.110 #这块注意下,修改成上文说道的你自己的虚拟机地址
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
END

cat >/etc/pptpd.conf <<END
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.2.1
remoteip 192.168.2.10-100
END

cat >> /etc/sysctl.conf <<END
net.ipv4.ip_forward=1
END

sysctl -p

iptables-save > /etc/iptables.down.rules

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

iptables -I FORWARD -s 192.168.2.0/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300

iptables-save > /etc/iptables.up.rules

cat >>/etc/ppp/pptpd-options<<EOF
pre-up iptables-restore < /etc/iptables.up.rules
post-down iptables-restore < /etc/iptables.down.rules
EOF

cat >/etc/ppp/chap-secrets <<END
test pptpd test *
END

service pptpd restart

netstat -lntp

exit 0

测试是否成功

然后重启下dnscrypt
service dnscrypt-proxy restart
这样,就完成了使用dnscrypt的vpn服务器的搭建,用另一台电脑连接这个vpn然后访问
http://www.opendns.com/welcome/
如果出现类似于下面的就说明成功了

dnccrypt

 

好了,大概就是这样,如果你使用的时候有什么问题可以在下面留言,我会尽快回复的。

Dnscrypt使用的小技巧》上有2条评论

  1. 恒河沙数1

    博主您好,我在使用您的方法时遇到两个问题(我是通过添加源安装的dnscrypt-proxy),1:在使用service dnscrypt-proxy restart命令是返回信息告诉我没有名为dnscrypt-proxy的服务。2:修改自己网络的DNS为127.0.0.1后在终端运行dnscrypt-proxy –daemonize没有返回,打开浏览器无法上网。请问这种情况能够解决么?

    回复
    1. 逝去日子 文章作者

      如果你使用源码安装的话,开启服务不是用service的方式启动的,还有,源码安装的话默认dns地址看看配置文件,我也不清楚。。。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注