DNS隧道之DNS2TCP实现

原理:通过DNS建立隧道
准备条件:有独立IP的公网服务器,能设置NS记录的域名。
总体思路:服务器端运行DNS2TCP,域名提供商设置NS记录,客户端运行DNS2TCP
本文服务器采用CentOS6.6,客户端采用Windows XP

1.服务器安装DNS2TCP

CentOS6.6安装DNS2TCP
检查CentOS版本

cat /etc/redhat-release
结果
CentOS release 6.6 (Final)
在http://www.hsc.fr/ressources/outils/dns2tcp/download/上下载源码,然后编译安装,命令如下:
wget http://www.hsc.fr/ressources/outils/dns2tcp/download/dns2tcp-0.5.2.tar.gz
tar zxf dns2tcp-0.5.2.tar.gz
cd dns2tcp-0.5.2
./configure
make & make install
编译过程中出现错误请先安装开发包
yum groupinstall "Development Tools"

2.设置域名服务器

登录你的域名服务器商如:DNSpod
在域名下面添加一个A记录,A记录的名字可以任意,如ns1.vvvtimes.com,A记录的值为你VPS服务器的IP地址。
最后,再添加一个NS记录,这个NS的名字可以任意,比如tcp.vvvtimes.com,NS记录的值为你上面添加的A记录的名字,即ns1.vvvtimes.com。


3.在服务器上运行DNS2TCPD

在 /etc 建立一个名为 dns2tcpd.conf 的文件, 然后输入以下配置:

listen = 0.0.0.0(Linux服务器的IP)  
port = 53  
user = nobody  
chroot = /tmp  
domain = tcp.vvvtimes.com(上面配置NS记录的域名)  
resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:3128 

服务端执行如下命令启动 DNS2TCP:
dns2tcpd -f /etc/dns2tcpd.conf -F -d 2

注意:腾讯云服务器不给实际网卡分配公网IP,所以要监听0.0.0.0
附:使用screen加入后台(非必须项),下面的命令执行到快捷键Ctrl+a d后面的基本就不用管了。
安装screen
yum install screen
创建screen会话
screen -S dns2tcpd
执行我们想要的命令
dns2tcpd -f /etc/dns2tcpd.conf -F -d 2
暂时离开,保留screen会话中的任务或程序
快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)
恢复screen会话
screen -r dns2tcpd
列出当前的会话列表
screen -ls
强行终止
screen -S dns2tcpd -X quit

4.客户端运行DNS2TCPC

DNS2TCP 的客户端配置较为简单, 一条命令就行:

dns2tcpc -r ssh -z tcp.vvvtimes.com 1.2.3.4 -l 8888 -d 2
-r 后接服务名称, 这里我们用ssh
-z 后接NS记录的网址, ip, 注意IP地址最好写上, 可以不写
-l 后接本地端口
-d 开启 Debug

注意本地需要安装 DNS2TCP 工具, Windows 用户请从网盘下载:
http://pan.baidu.com/s/1c05APFE 密码:rem5

5.putty登录测试

将登录端口和IP改成127.0.0.1:8888,其余设置与登录原服务器一致

6.Xshell登录转成Socks4/5通用代理

由于IE无法使用Socks5协议,所以通过Xshell转成Socks4/5通用代理比较方便

登录设置与putty类似,同样是127.0.0.1:8888

腾讯云下需要使用密钥登录,我们需要将putty使用的ppk文件转成openssl格式

打开puttygen,File-->Load private key,找到自己的ppk文件,Conversions-->Export-->OpenSSH key,保存即可

在Xshell中连接填入主机127.0.0.1端口号填8888

用户身份验证,方法选Public,用户名填root,用户密钥选择puttygen导出的OpenSSH密钥即可,点击确定,成功连接如图

连接成功后,我们来建立代理

查看-->隧道窗格,点击转移规则,右键添加,在类型里选Dynamic (SOCK4/5),默认端口1080不用改,点击确定


7.IE代理设置

工具-->Internet选项-->连接-->局域网设置,勾选为LAN使用代理服务器,点击高级,套接字地址填127.0.0.1端口填1080

速度非常慢,打开百度要一分钟左右。。。

经过多次测试辽宁移动的Wifi热点已经修复了这个漏洞,笔者用其他运营商的热点测试的。

笔者最开始用的是iodine,但是在腾讯云服务器上并不能正常开启53端口


后记:腾讯云配置外网的时候比较特殊,阿里云是双网卡,腾讯云是单网卡内网IP而且使用了自制的TGW网关,配置时需要把配置中的外网IP直接改成内网IP


本文参考
1.DNS隧道 - 绕过公共 Wifi 热点登陆免费上网 http://www.myhack58.com/Article/54/93/2015/67717.htm

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值