1、測試目的
驗證l2tp服務器模式的可行性。
提供vpn-l2tp模式的服務器功能,供客戶端連接訪問內網
2、參考資料
參考連接1:https://www.jianshu.com/p/ccf8f2cca70e
參考連接2:https://openwrt.org/docs/guide-user/services/vpn/ipsec/openswan/openswanxl2tpvpn
3、測試過程
測試過程需要用到的資源:
-
- 路由器一個
- win7系統電腦倆臺
- 交換機一個
- 網線三根
測試組網如下圖所示:
組網說明:
R0公司路由器
S1 交換機
R1 路由器1
PC1 個人電腦1
PC2 個人電腦2
- ①(R0) lan口接(S1),保證(S1)接出去的設備可以訪問互聯網。
- ②(S1)分別接(R1)wan口和(PC1),確保倆個設備可以正常上網。
- ③(PC1)接(s1)後可以獲取到以太網的ip,此處是192.168.21.103(郭乙標的ip測試時請修改成自己的ip,靜態ip)
- ④(R1)wan口接(S1) 後可以獲取到以太網的ip,wan口ip是192.168.21.46(最好設置成靜態ip,動態ip的話需要注意在客戶端連接的時候檢查ip是否改變)
- ⑤(R1)lan口網關地址是192.168.1.1
- ⑥(PC2)通過無線連接到(R1)上,分配得到的ip是192.168.1.244。該ip是動態獲取的,後續測試需要注意此ip地址是否改變。因爲我們要訪問這個(PC2),所以必須要知道其ip是多少。
- ⑦在(PC1)發起pptp連接請求後,如果連接成功的話會獲取的pptp服務器分配的ip,
此時是192.168.0.20,此ip測試時可以不用關心。對於我們來說不用care這個ip,內核會自己對這個ip做處理。
與pptp服務器的組網是一樣的方式,唯一不同的是R1中在配置的時候開啓的是l2tp的服務。PC1在連接的時候是採用l2tp的方式進行連接的。
3.1 、搭建環境
硬件環境
CPU:MTK7628n
DDR:128M
Flash:16M
軟件環境
Openwrt:14.07
Linux:3.10.14
3.2、測試步驟
- 編譯,在openwrt源碼目錄下make menuconfig,配置l2tp服務器需要的包。
ipsec-tools,
iptables-mod-ipsec,
kmod-crc-ccitt,
kmod-crc16,
kmod-crypto-aes,
kmod-crypto-arc4,
kmod-crypto-authenc,
kmod-crypto-core,
kmod-crypto-des,
kmod-crypto-hmac,
kmod-crypto-md5,
kmod-crypto-sha1,
kmod-ipsec,
kmod-ipsec4,
kmod-ppp,
openswan,
ppp,
xl2tpd,
這些包需要在可視化界面配置上,然後執行make V=s,編譯出原始固件。
二、 將編譯出的
bin/ramips/openwrt-ramips-mt7628-mt7628-squashfs-sysupgrade.bin燒寫到路由器中。並啓動。
三、 修改/etc/xl2tpd/xl2tpd.conf文件:
[global]
ipsec saref = yes
saref refinfo = 30
;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes
[lns default]
ip range = 192.168.100.100 - 192.168.100.200
local ip = 192.168.100.99
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
四、 修改/etc/ppp/options.xl2tpd文件:
require-mschap-v2
ms-dns 192.168.100.99
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
五、 修改/etc/ppp/chap.secrets文件:
#USERNAME PROVIDER PASSWORD IPADDRESS(客戶端登錄時的用戶名,服務器名,*代表任何服務器都可以,客戶端登錄時的密碼,客戶端登錄時的ip,*代表任何ip都可以)
caoft1 * 123456 *
caoft2 * 12345678 *
六、 修改/etc/firewall.user文件:
iptables -A forwarding_rule -i ppp+ -j ACCEPT ## luci-app-pptpd
iptables -A forwarding_rule -o ppp+ -j ACCEPT ## luci-app-pptpd
iptables -A output_rule -o ppp+ -j ACCEPT ## luci-app-pptpd
iptables -A input_rule -i ppp+ -j ACCEPT ## luci-app-pptpd
- 七、重啓路由,l2tp服務器已經配置好
- 八、(PC2)關閉Ipsec加密服務,由於openswan與我們的linux版本不兼容,導致Ipsec加密工具openswan編譯不過,此處爲了驗證功能,先將加密去掉。關閉過程如下:
運行regedit.exe,找到如下路徑:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters,
在Parameters目錄上右鍵選擇新建,創建ProhibitIpSec註冊表項,選擇DWORD類型並將其設置爲 1 的值
- 九、配置客戶端(PC2)過程
其中①-④按照圖中步驟選擇即可。
- ⑤ Internet地址是vpn服務器公網ip地址,我們沒有公網ip,這裏使用的是路由器的wan口進行連接。即組網環境中的192.168.21.46 目標名稱可以隨便取,
回顯示在你的網絡環境中。
- ⑥輸入服務器爲你分配的用戶名和密碼,即步驟五配置文件中的內容
- ⑦點連接即可。
十、 (PC1)通過無線連接(R1),獲取到的ip是192.168.1.244
十一、 從(PC2)訪問(PC1)(爲了排除防火牆干擾,R1,PC1,PC2的防火牆全部是關閉狀態)
①ping訪問:在(PC2)運行裏輸入cmd,進入命令行模式,ping 192.168.1.244
②http訪問:需要在(PC1)安裝iis,百度搜索下載安裝即可,在(PC2)瀏覽器中輸入192.168.1.244。
③遠程登錄:需要在(PC1)確認遠程登錄已開啓,在(PC2)運行裏輸入mstsc -v 192.168.1.244
遠程登錄開啓連接:https://jingyan.baidu.com/article/63f23628177e6d0209ab3d60.html
4、測試結果
- PC2能夠ping 通192.168.1.244,即PC1的地址,沒有數據丟失會連接超時。
- PC2能夠打開192.168.1.244的網頁,網頁內容如下:
- PC2可以遠程登錄到PC1上,併成功控制PC1的電腦。