这是几个月前做的实验,现在做一下记录。
首先,我们需要一个域名和一个具有公网ip的主机(推荐Linux VPS)。假设我们的域名是www.carrot0411.com,服务器ip地址是115.28.77.17。
然后添加两条域名解析记录,如下所示:
其次,我们的主机上需要下载一款软件叫作iodine。传送门:http://code.kryo.se/iodine/。
可以源码编译安装,或是通过linux源安装。
此时服务端运行:./iodined -f -c -P password 192.168.0.1 ns.carrot0411.com
客户端运行:./iodine -f -P password ns.carrot0411.com
成功建立隧道后,客户端会得到192.168.0.1的IP,可以通过ping 192.168.0.1测试连通性。
但是此时只是在服务器和客户端之间建立了隧道,访问别的网址还是不通的。
所以还需要添加路由表项。
通过route -n查看路由表。添加命令如下:
route add -host 115.28.77.17 netmask 255.255.255.255 gw 192.168.1.253 wlan0
我们通过traceroute看看走的路径:
发现走的是我们主机的dns服务器,而不是原来学校的dns服务器。
此时就能成功访问外网,而不用登录校园认证,也不走校园内流量了^ ^