這是幾個月前做的實驗,現在做一下記錄。
首先,我們需要一個域名和一個具有公網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服務器。
此時就能成功訪問外網,而不用登錄校園認證,也不走校園內流量了^ ^