現(xiàn)在國內部分大學和企業(yè)內部網絡都使用了銳捷或港灣認證,最大可能地保證了自身的安全,但是這些認證有許多煩人的限制。例如銳捷官方認證程序在連接的時候會檢測運行平臺上是否存在多網卡,是否有安裝代理軟件或者網關之類的軟件,如果發(fā)現(xiàn)有,就停止認證。
我們現(xiàn)在的網絡環(huán)境是有兩條網絡,分別為校園網和寬帶。局域網內有多臺機器,通過路由連接寬帶,同時也可以通過一臺機器連上校園網,這臺機器就是我們對校園網的出口路由了。
前面說了銳捷官方認證程序會檢測運行平臺,會嚴查多網卡、代理、共享連接之類的,那么我們就要想辦法繞過這些限制。對于Windows平臺下的繞過,非常簡單就不做介紹了,這里只說說Linux下的實現(xiàn)。
Linux下實現(xiàn)的基本原理是,局域網內所有機器通過路由器互聯(lián),路由器負責ADSL撥號,所有機器可以通過路由器上互聯(lián)網。A機連接校園網并打開共享連接功能,作為局域網內機器進入校園網的網關,使用路由表來實現(xiàn)自動擇網。
網絡環(huán)境
1)系統(tǒng)環(huán)境
系統(tǒng)版本:Ubuntu 7.10
ansty@Ansty:~$ sudo uname -a
Linux Ansty 2.6.22-14-generic #1 SMP Tue Dec 18 08:02:57 UTC 2007 i686 GNU/Linux
2)網卡情況
ansty@Ansty:~$ sudo ifconfig -a
eth0 鏈路封裝:以太網,硬件地址**:**:**:**:**:*0
inet地址:192.168.1.100,廣播地址:192.168.1.255,掩碼:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500,躍點數:1
接收數據包:62645,錯誤:0,丟棄:0,過載:0,幀數:0
發(fā)送數據包:61388,錯誤:0,丟棄:0,過載:0,載波:0
碰撞:0,發(fā)送隊列長度:1000
接收字節(jié):74313331 (70.8MB),發(fā)送字節(jié):4567716 (4.3MB)
中斷:19,基本地址:0x2000
eth1 鏈路封裝:以太網,硬件地址**:**:**:**:**:*2
inet地址:172.***.***.***,廣播:172.***.***.255,掩碼:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500,躍點數:1
接收數據包:15314,錯誤:0,丟棄:0,過載:0,幀數:0
發(fā)送數據包:6522,錯誤:0,丟棄:0,過載:0,載波:0
碰撞:0,發(fā)送隊列長度:1000
接收字節(jié):17196095 (16.3MB),發(fā)送字節(jié):475199 (464.0KB)
中斷:20
lo 鏈路封裝:本地環(huán)回
inet地址:127.0.0.1,掩碼:255.0.0.0
UP LOOPBACK RUNNING MTU:16436,躍點數:1
接收數據包:93,錯誤:0,丟棄:0,過載:0,幀數:0
發(fā)送數據包:93,錯誤:0,丟棄:0,過載:0,載波:0
碰撞:0,發(fā)送隊列長度:0
接收字節(jié):11384 (11.1KB),發(fā)送字節(jié):11384 (11.1KB)
其中eth0網卡用于連接到ADSL路由器,IP為192.168.1.100;eth1網卡用于連接到校園網提供的端口上,IP為172.***.***.***。
功能實現(xiàn)
在以上網絡環(huán)境的基礎上,我們開始配置網絡,以達到我們的目的。
1)網絡配置
eth1這張網卡前面已經介紹過了,是用于連接到校園網的。因為我所在學校的校園網是動態(tài)獲取IP的,所以這里要選擇“自動配置(DHCP)”,如圖1所示。如果你的是固定IP就選固定IP自行輸入。這里A機分配到的IP是172.***.***.***。
圖1
eth0這張網卡用于通過路由連接到ADSL網絡,是通過路由器自動分配得到IP的,所以這里還是選用動態(tài)獲取IP,得到的IP是192.168.1.100。
其他非Ubuntu系統(tǒng)可以上網查相關網卡配置資料,不過一般都可以通過ifconfig命令來對網卡進行配置的,這里就不闡述了。
2)安裝認證程序
要達到我們的目的,就不能使用銳捷官方的認證程序,而要使用第三方的。這里使用的是xmuruijie-1.3。相比xrgsu,它不會出現(xiàn)多網卡檢測,因為XMU-Ruijie是不檢測多網卡的,功能上只做一件事,就是完成認證。
這個程序是用Python語言編寫的,安裝非常簡單。
解壓:tar -xvzf xmuruijie-1.3.tar.gz
安裝:$cd xmuruijie-1.3,$sudo ./install.sh install
安裝的時候需要Root權限,ubuntu終端下一定記得不要sudo,其他版本的Linux自行切換到Root權限下即可。
3)配置
在終端里面輸入“sudo gedit /etc/xmuruijie.conf”來配置xmuruijie.conf文件,其關鍵內容如下。
# this is the configuration file of XMU-Ruijie
# parameters for authentication
[auth]
user: Your-Acount
passwd: Your-Password
interface: eth0
# parameters for daemonize:
[daemon]
logfile: /var/log/xmuruijie.log
pid: /var/run/xmuruijie.pid
將這個文件里面的your-Acout改成認證的賬號,Your-Passwor改成密碼,eth0改成連接校園網所用的網卡,這里我改成了eth1。
因為我們學校需要用xrgsu算法來認證,所以還需要修改/etc/init.d/xmuruijie,加上“-x”參數來啟動。在終端輸入“sudo gedit /etc/init.d/xmuruijie”,找到下面的部分,在“/usr/sbin/xmuruijie –d”后面加上一個“-x”即可。
case "$1" in
start)
echo "Starting xmuruijie"
/usr/sbin/xmuruijie -d -x
echo "Running dhcp client to get ip address..."
if [ -f "/sbin/dhcpcd" ] ; then
4)使用
在ubuntu系統(tǒng)中,網絡操作都需要Root權限,所以執(zhí)行的時候不要忘了sudo。
啟動認證:sudo /etc/init.d/xmuruijie start
認證起來以后,程序是在后臺運行的。
停止認證:sudo /etc/init.d/xmuruijie stop
5)配置靜態(tài)路由表
到了這里,認證算就搞定了,剩下的就是要配置Linux雙網的擇網了。默認雙網卡激活連通了以后,系統(tǒng)的靜態(tài)路由表會出現(xiàn)兩個默認網關,Linux下上網有時候會出現(xiàn)問題,所以我們要刪除一個默認網關。
刪除前運行命令“ansty@Ansty:~/xmuruijie-1.3$ route -n”,得到如下的內核IP路由表。
目標 網關 子網掩碼 標志 躍點 引用 使用 接口
172.**.**.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 172.**.**.*** 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
這里我們要選擇用哪個網關作我們的默認網關呢?其中172.**.**.***是校園網的網關,192.168.1.1是路由器的網關,連通到ADSL線路。
在ubuntu下,使用命令“sudo route del -net 0.0.0.0 netmask 0.0.0.0 gw 要刪除的網關”就可以刪掉不做默認網關的地址,剩下的那個就是默認網關了。我這里用192.168.1.1路由作為默認網關,則執(zhí)行“sudo route del -net 0.0.0.0 netmask 0.0.0.0 172.**.**.***”,將校園網的網關刪除即可。
不過這樣做的話,我們就不能訪問校園網資源了,所有的數據只會從192.168.1.1這個網關出去。為了解決訪問校園網的問題,我們就要利用靜態(tài)路由表了,讓到某個IP段的數據通過指定網關出去。也就是說,添加一張靜態(tài)路由表就可以解決了。
命令格式為:sudo route add -net ip段 netmask 子網掩碼 gw 網關
我這里執(zhí)行“sudo route add -net 202.***.***.0 netmask 255.255.255.0 gw 172.**.**.***”,即可將我所在學校的IP段通過172.**.**.***網關出去。
再運行命令“ansty@Ansty:~/xmuruijie-1.3$ route -n”查看一下內核IP路由表。
目標 網關 子網掩碼 標志 躍點 引用 使用 接口
202.***.***.0 172.**.**.*** 255.255.255.0 UG 0 0 0 eth1
172.**.**.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
這樣,本機所有對202.***.***.0網段的訪問都會通過172.**.**.***這個網關出去了。如果有更多的IP段繼續(xù)route add就可以了,這樣我們就實現(xiàn)了對A機雙網共存,自動選擇網關了。
不過這只是我們實現(xiàn)的前一部分,還有一部分是整個局域網都要實現(xiàn)雙網自動擇網。我們的A機是用作出口校園網的網關,所以還要開啟它的轉發(fā)功能。
在Root下運行下面兩句命令就可以開啟轉發(fā)功能了。
echo 1 |tee /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
局域網的其他機器就可以通過A機進入校園網了。但是我們需要自動擇網,希望做到不修改其他機器的網絡信息。那我們就要用到路由器了,因為所有機器的默認網關是192.168.1.1,所以利用路由器的靜態(tài)路由表功能就可以實現(xiàn)了,如圖2所示。
圖2
其中192.168.1.100是A機的IP,局域網的所有機器在遇到列表列出的地址的時候就會以192.168.1.100為網關出去了,這樣我們就實現(xiàn)了Linux下雙網自動擇網,繞過多網卡等的認證了。
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206
本文出自:億恩科技【www.cmtents.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|