屌絲自制路由器 破校園網絡封鎖
世界上本來就有屌絲,只不過有人給屌絲取了“屌絲”這個名字,屌絲才被稱作“屌絲”。“少壯不努力,老大搞IT”,作為一名姑且稱之為“IT人士”的屌絲,暮然回首,原來自己一直都是屌絲,并沒有因為“屌絲”的名字只是新近出現,而縮短當屌絲的時間。想當年,青蔥歲月,大好年華,沒有花前月下,卻都獻給了計算機。不過,令本屌絲欣慰的是,還是為人民造了些許福利的,那就是成功把校園網寬帶共享給了兩個兄弟宿舍。
大學校園網一般都會采取一定的網絡限制,所有用戶都得通過客戶端接入,這樣“邪惡”的校園網管理員就可以坐等收取源源不斷的網費了,只要你想上網就要每個月上交50元網費。今天看來,錢雖不多,但是對于還木有任何收入的屌絲來說,一年下來也要小半千哪,一個宿舍六個人加起來那就更多了,兩個宿舍加起來那就更不用說了啊。本屌絲雖然數學不好,但是萬兒八千的數字還是能算得清的。
適逢當時本屌絲學習到Linux iptables防火墻,才知道原來俺們可以不用花那么多錢來上網的!咋回事呢,不就是我們可以給他來個NAT轉發么,沒有可以安裝客戶端的路由器,難道還沒有可以安裝客戶端的電腦么。理論上這是行得通的,但是實施起來還是需要耗費一些腦細胞的。因為你能想到的,邪惡的網絡管理員也能想到。這里給還在象牙塔里還有剛剛步入“IT行業”的屌絲們一個好的建議,捯飭“IT”這個東西,一定要做到“胸有成竹”以后才能開始動手。
本屌絲把整個事在腦子里捋順如下:
第一步:虛擬出一個網卡來
第二步:配置好NAT轉發
第三步:接入校園網
這個方案說白了就是做一個“軟路由”,偉大的“百度一下”告訴我們,軟路由是指利用臺式機或服務器配合軟件形成路由解決方案,主要靠軟件的設置,達成路由器的功能;而硬路由則是以特用的硬設備,包括處理器、電源供應、嵌入式軟件,提供設定的路由器功能引。當然,在windows平臺下也有許多的路由軟件,但是,由于windows下的軟路由相對來說被萬惡的網管監管的比較嚴,加上每隔一段時間客戶端就會掃描有沒有多網卡路由轉發的情況,所以,實施起來也是有難度的。
為什么本屌絲要采用linux機器做軟路由呢,主要是恰好當時(大概是2008年)另一位神級的女屌絲,竟然千里迢迢從家里帶來了一臺賽揚三、內存128M的品牌機,造型迷你,性能免談,后來就被本屌絲改成“路由器”,在宿舍發揮余熱。系統也被換成Red Hat 9.0,iptables是linux平臺上系統級的防火墻,所以用不著獨立安裝,裝好最基本的系統就已經附帶了該功能。時過境遷,當時的設備流入了二手奸商的手中。但是,后浪推前浪,校園網共享愈演愈烈,現在已經成為一個不能說的秘密。今天,本屌絲也緊隨潮流,借鑒網絡高手的方法,告訴大家如何做一個UBUNTU版的軟路由器,希望使用某校園網的童鞋能有所收獲。(僅供交流參考,本屌絲不負任何法律責任)
整個方案需要用到的東西有:廢舊電腦一臺(做軟路由使用),hub(路由器、交換機都行)一個(連接所有的寢室電腦),網線若干。把充當路由的舊電腦網線連到任意一個LAN口,寢室其他電腦的網線也都連到LAN卡口。因為是單物理網卡,所以我們首先要在軟路由電腦上虛擬一個網卡,設置兩個IP地址,一個用于連接外網,一個用于連接內網。一定注意不要把兩個IP弄混,內網IP可以使用靜態分配也可以使用動態分配。
第一步:給做軟路由的舊電腦添加虛擬網卡。修改網卡配置文件 添加虛擬網卡
在debian或者ubuntu下,網卡的配置文件是/etc/network/interfaces,所以我們修改它:
sudo vim /etc/network/interfaces在這個文件中增加如下內容并保存:
auto eth0:0
iface eth0:0 inet static
address 192.168.1.63
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255保存后,我們需要重啟網卡(重新加載配置文件)才會生效,使用如下命令重啟:
sudo /etc/init.d/networking restart
開啟路由功能:
在文件/etc/sysctl.conf添加net.ipv4.ip_forward = 1
設置iptable規則:
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
在文件 /etc/rc.local 里加入上面的幾行(注意,加在 exit 0 的前面)
目前,基本條件已經具備,所有的IP地址需要各位根據實際情況設置。下一步我們需要做的是安裝和配置校園網客戶端,接入互聯網。
至于當時本屌絲使用的是哪家的校園網,這里不便透露。只給大家透露這個校園網客戶端的名字,已經使用方法。這個校園網linux版客戶端到底是官方制作還是三方制作,現在也不得而知,只知道它的名字是xrgsu。另外,在安裝這個客戶端之前,有些需要大家注意的,就是linux和windows在安裝軟件時有些不同,一般在windows下裝軟件,“下一步”基本都能OK,但是linux下就沒那么輕松,得看這個軟件包還需要什么庫文件,如果缺少,還要先把庫文件補上。這個xrgsu在ubuntu上缺少一下幾個庫文件,希望網友注意提前安裝。(可以在Ubuntu packages站點搜索并下載)
安裝
·按下Alt+F2鍵,在調出的運行對話框中輸入gksu。這樣就開啟了管理員運行對話框,接著在彈出的運行框中輸入nautilus。調出管理員專用的文件管理器,進入目錄/usr/local/,并新建目錄bin,復制xrgsu到bin中。
·打開終端,輸入命令
sudo ln -s /usr/lib/libpcap.so.0.7.2 /usr/lib/libpcap.so.0.6.2
sudo chmod 744 /usr/local/bin/xrgsu
配置
直接在終端中運行
sudo xrgsu
進入配置模式,認證時的選項如下:
a.please input your user name:
軟件請求輸入認證用戶名
b.please input your password:
軟件請求輸入認證密碼
c.Use DHCP,1-Use,0-UnUse(Default: 0):
如果操作系統使用了DHCP獲得動態地址,請選擇1,否則請選擇0
d.Use default auth parameter,0-Use 1-UnUse(Default: 0):1
是否使用默認的參數進行認證,選擇0將使用默認的參數進行認證,并且不在詢問后面的參數
e.please input Eap-start Timeout(Default: 30s):30
請輸入Eap-start報文的超時時間,單位為秒
f.please input Eap-response Timeout(Default: 30s):30
請輸入Eap-Response報文的超時時間,單位為秒
g.please input Eap-packet resend Time(Default: 3):3
請輸入報文的重傳次數
h.Use Red-Giant private MAC? 1-Use,0-UnUse(Default: 1):1
是否使用星網銳捷的私有組播地址進行認證,選擇0將不使用,這時軟件使用802.1x標準組播地址進行認證。
運行
·靜態IP環境直接輸入命令,可完成認證,注意:如果你使用靜態IP的方式,請手動指定系統的IP和DNS服務器地址。
sudo xrgsu -a
DHCP動態IP環境下執行認證操作,輸入命令
sudo xrgsu -d
sudo xrgsu -a
軟件在認證完成后將調用ifup命令獲取IP地址,如果您的設備使用其他的命令獲得IP地址,請將相應的命令附加在參數中,例如:sudo xrgsu -d ifup eth0,然后再運行:sudo xrgsu -a
·當你看到,下面的提示時,就證明認證成功,可以上網了。
Searching server...
Connecting server...
Authenticating...
Authenticate SUCCESSFULLY! //SUCCESSFULLY!
Please input 'unauth' to LogOff: //
好的,至此如果沒有其他問題的話,其他的寢室屌絲成員就可以共享上網了。