本文亦在此處更新:
http://www.in189.com/viewthread.php?tid=70451&extra=&page=1
本文主要寫給使用XP卻不想買無線路由的人們。 本文符合CC協議,轉載請勿刪除更改本文任何文字,配圖版見附件version1.3.by antique@bupt 我的機型爲華爲C8500(窮人一個),但該問題適用於所有android手機 感謝in189論壇添翼圈的wvsp: 啓發了我嘗試該方法 http://www.in189.com/viewthread.php?tid=55178&rpid=938591&ordertype=0&page=1#pid938591 問題概述(如果你是linux,win7用戶本文你就不用浪費時間了) 電腦=>wifi=>手機=>3G=>internet //這個相信大家都會了,直接手機開共享。 手機=>wifi=>電腦=>ADSL/小區寬帶=>internet //目前XP不支持,原因如下,本文將解決該問題 常用的解決方法: win7下安裝Connectify啓動無線網卡的master模式 linux下折騰無線網卡到master模式 XP由於驅動限制導致目前爲止只能讓網卡處於ad hoc模式,而android目前不支持處於ad hoc模式下的wifi熱點。換言之,如果你的系統是XP,手機上android是無法通過電腦上的無線網卡共享上網的。 需要以下軟件(附地址) 電腦連接手機的wifi軟件:這個選自己能用的就行,我用的是Wirelesstether: http://www.coolapk.com/apk-1230-android.tether/ 調試用的: Busybox: http://www.coolapk.com/apk-2755-stericson.busybox/ Better Terminal Emulator: http://www.coolapk.com/apk-2172-com.magicandroidapps.bettertermpro/ 解決問題: 一.基本原理 電腦A=====>wifi=>手機 //這一步是建立手機和電腦A(你的電腦)的網絡連接(a) 172.20.21.103=wifi=> 172.20.21.254 手機====>VPN==>電腦A(VPN服務器)=> ADSL/小區寬帶 192.168.0.4=VPN=>192.168.0.2 //利用上一步建立的網絡連接建立手機到電腦的VPN(b) 192.168.0.1=共享上網==>本地連接 //利用電腦的共享上網(c) 二.具體辦法: 1.電腦=>wifi建立連接(a): 將自己的手機設置爲wifi熱點,保證XP可以接入手機上的wifi, (1)首先,關閉XP的防火牆,沒錯,你處於調試狀態,防火牆會極大干擾調試。 (2)打開Wireless tether,XP連接到手機上的無線網。以我的爲例 手機Wireless tether的網關地址爲172.20.21.254,電腦得到的地址爲172.20.21.103 2.設置電腦的共享上網(c):控制面板=>本地連接=>屬性=>高級=>允許其他用戶訪問網絡,然後將家庭網絡連接選中爲無線網絡連接A(你連接到手機的無線網),確定。此時XP會將無線網A的IP更改爲192.168.0.1.右鍵無線網絡A(我的爲無線網絡連接5),屬性=>TCP/IP的屬性=>高級=>IP設置選項卡,添加172.20.21.103,默認網關添加172.20.21.254.此時將無線網卡設置爲雙IP地址。XP上cmd打開命令行ping 172.20.21.254.說明正常。 3.將XP架設爲VPN服務器,android作爲VPN客戶端訪問它(b1)。 控制面板=>網絡連接=>左邊側邊欄=>創建一個新的連接,進入“新建連接嚮導”,點下一步=>選第四項 設置高級連接,下一步=>接受傳入的連接,下一步=>默認直接下一步=>選允許虛擬專用連接,下一步=>選擇一個用戶,或者創建一個,設置密碼(這個用戶即爲VPN的帳號,密碼),下一步=>確定TCP/IP被選中,點屬性,如圖設置: 要確保地址一定爲192.168.0.2和192.168.0.X(X>2,我選爲127,後面解釋原因),確定後點下一步=>完成,這時候出現傳入的連接,說明VPN服務器架設完畢。 4.到此時,爲了確保萬一,你需要測試一下這個VPN(b2) (1)打開Better Terminal Emulator:Ping172.20.21.103檢查網絡連接是否正常,導航鍵按下再按c停止ping(ctrl+c),不正常建議重做一遍,關機重啓等 (2)打開android上的設置=>無線和網絡=>虛擬專用網設置=>添加虛擬專用網=>選第一個添加VPN“PPTP”(點對點隧道協議)=>接下來如圖填寫,名稱隨意,服務器地址填寫172.20.21.103(即你的手機獲取到的wifi地址),取消加密,DNS填寫google的8.8.8.8或者你當地的DNS服務器地址(電腦上用ipconfig /all看),完畢保存。=>點擊連接,彈出對話框讓你輸入帳號密碼(還記得剛纔設置的VPN帳號密碼麼)=>確定,你的手機將連接電腦上的VPN服務器。如果正常,會顯示:一個以你的用戶名爲名字的連接。WAN微型端口(PPTP),同時傳入的連接會顯示1客戶連接上,恭喜你,跳過以下文字直接看5 如果不正常,手機會顯示無法連接。這個時候,我建議你重新啓動計算機或網絡。 5.再次打開Better Terminal Emulator(b3): ping 192.168.0.2 //檢查網絡是否正常,正常往下繼續,這個地址是VPN服務器的地址,參見原理圖 busybox route add default gw 192.168.0.2 //添加VPN服務器IP到路由表作爲默認網關 請仔細看這個圖:圖中第一條命令busybox route -n是用於查看當前路由信息的,可以不用輸入。這些命令可以去參考Linux。
//這裏的原理解釋下,因爲手機上發出的數據包全部發送到192.168.0.2(電腦A的VPN服務器IP),又因爲192.168.0.1(電腦A無線網卡的主IP地址,參見原理圖)與192.168.0.2同一網段,且設置了共享上網,所以XP(電腦A)會自動將192.168.0.2(VPN服務器)的包轉到192.168.0.1(無線網卡主IP),而192.168.0.1被設置了與"本地連接"共享上網,所以所有到192.168.0.1的數據包都會轉到本地連接,繼而進入外網。 ping 8.8.8.8 //防止萬一ping下DNS 結束了。手機上的所以程序應該都能訪問網絡了。如果你的電腦有ipv6.改過host或是電腦上有其他代理,那麼應該能上youtube等網站。
|