■ 肇慶 陳建敏 盧江興
編者按:區內三所學校需進行跨校間合作交流、資源共享,但只有其中一所學校具有靜態IP地址可以對外提供網絡服,其余學校都是動態IP。通過安裝SoftEther VPN建立校間VPN安全通道、搭配rinetd端口轉發軟件完滿地解決了這個需求。
區內的A、B、C三所學校各有特長的學科(A校:語文、B校:數 學、C校:英 語),需要實現跨校間資源共享。三所學校的網絡條件如下:
A校:電信網絡直接到校內,學校內部架設服務器,具有靜態IP地址。
B、C 校:通過移動網絡接入互聯網,由移動分配IP,是動態IP地址。
解決方案:考慮到A校有靜態IP地址,只要在A、B、C三校間布署VPN服務器,建立VPN通道,通過以下安全傳輸路線,就可以將B、C兩校的資源對外發布:
A校的靜態IP端口轉發---A校的VPN服務器端口轉發 ---B、C校的VPN橋端口轉發---B、C校 的WEB服務器

表1 服務器設置表

圖1 服務器設置表
V P N 選取:三校間的合作可能是一種短期行為,如果選用硬件VPN設備,成本較高,可以排除。從熟悉程度、易用性、穩定性出發,決定選用CentOS7平臺,Softether-V P N軟 件,Softether-VPN包括Softether-S e r v e r 、S o f t e t h e r-B r i d g e 、S o f t e t h e r-Client三類。因Softether-VPN可以添加一個虛擬網卡組成VPN網 絡,安 裝Softether-VPN軟件的電腦只需要一張真實網卡。三校的VPN服務器設置如表1所示。VPN邏輯結構如圖1所示。
SoftetherServer、SoftetherBridge的安裝相似,下載tar.gz包,解壓,make安裝即可。
進入安裝目錄,如果是Softether Server則運行./vpnserver start,如果是Softether Bridge則 運行./ vpnbridge start ,開啟不同服務。可以使用命令:./vpncmd對VPN設備進行配置、管理。安裝過程較簡單,一般可順利完成。
用命令行方式進行配置較麻煩,建議使用Windows圖型界面程序進行管理。
在Windows系統中安裝SoftEther VPN Server Manage管理器,接入各所學校局域網,分別對VPN Server與VPN Bridge進行配置,Server與VPN的配置略有不同,下面分別進行陳述。

圖2 管理器主窗口設置

圖3 新建立用戶

圖4 橋接設置
在管理器主窗口,點擊“新設置”,在新窗口填入VPN Server的資料:主機名、端口號、虛擬HUB名稱、密碼,點擊“確定”返回,可以見到新建的配置項,如圖2所示。
在管理器主窗口,選擇剛才建立的連接,點擊“連接”按鈕,連接到VPN Server,彈出VPN服務器管理窗口,可以看到VPN監聽的端口,外部設備可以通過這些端口連接到本VPN Server設備。
點擊“管理用戶”按鈕,為設備添加用戶。在彈出“管理用戶”窗口---點擊“新建”---輸入用戶名、密碼、驗證類型等資料---點擊“確定”按鈕,在新窗口可以見到新建立的用戶,如圖3所示。
返回到VPN服務器管理窗口,點擊“本地網橋設置”,添加網橋設備。
在新窗口中,選擇要橋接的虛擬HUB、新tap設備的橋接以及輸入新tap設備名稱:v1,然后再點擊“創建本地橋”,為系統創建一張虛擬網卡tap_v1用于橋接到虛擬HUB,如圖4所示。
到這里,已經為VPN Server添加了虛擬網卡tap_v1,為了每次啟動都可以正確加載VPN配置,把相關指令寫到 rc.local 文件,內容如下:
echo "1">/proc/sys/net/ipv4/ip_forward
c d /s o f t w a r e/vpnserver
./vpnserver start
sleep 10
wait
i p a d d a d d 192.16.30.1/24 dev tap_v1

圖 5 設置 VPN Bridge
/usr/sbin/rinetd
由于啟動 vpnserver 需要一定的時間,使用 sleep 10、wait 指令稍作等待,然后再往下執行 ip add 指令。這樣做的目的是保證tap_v1 虛擬網卡可以獲取正確的IP地址。如果在實際操作中發現tap_v1虛擬網卡不能正確獲取IP地址,可以適當延長等待時間,例如調整為:sleep 20。
使用rinetd 進行端口轉發,/etc/rinetd.conf 文件配置如下:
0.0.0.0 8080 172.16.30.2 8080
0.0.0.0 8081 172.16.30.3 8081
表示訪問本機8080 、8081端口的數據通過VPN通道,分別轉發到B校、C校的VPN Bridge設備。
提示:如果VPN Server有防火墻,需要打開8080、8081端口。
VPN Bridge的設置與VPN Server設置相似,只是不需要建立用戶,同樣需要添加虛擬網卡tap_v1,這與上述步驟類似。B、C校要與A校組成一個統一的VPN網絡,需要將B、C校本地VPN Bridge設備級聯到A校VPN Server設備,通過“管理虛擬HUB” --- “管理級聯連接”---“新建”---在彈出窗口輸入“A校的公網IP:8079、用戶名、密碼”,然后“確定”,建立一條到A校虛擬HUB的VPN連接,如圖5所示。
為VPN Bridge添加虛擬網卡tap_v1、設置好到上一級A校VPN Server的級聯,為了每次啟動都可以正確加載VPN配置,把相關指令寫到 rc.local 文件。
B、C校rc.local 文件相似, 內容如下:
echo "1">/proc/sys/net/ipv4/ip_forward
C d /s o f t w a r e/vpnbridge
./ vpnbridge start#啟動vpnbridge
Sleep 10 #為保證虛擬網卡可以取IP地址,可延長等待時間,如:sleep 20
wait
i p a d d a d d 192.16.30.2/24 dev tap_v1
/usr/sbin/rinetd
B校使用rinetd 進行端口轉發,/etc/rinetd.conf文件配置如下:
0.0.0.0 8080 192.168.1.100 80
C校使用rinetd 進行端口轉發,/etc/rinetd.conf文件配置如下:
0.0.0.0 8081 192.168.2.100 80
表示訪問本機8080 、8081端口的數據通過VPN通道,分別轉發到B校、C校的VPN Bridge設備。
提示:如果VPN Server、VPN Bridge有防火墻,需要打開8080、8081等相關端口。
這樣,通過以下鏈接就可以訪問B、C校的Web服務器,實現網絡資源對外開放。
http://A校靜態IP:8080