背景:同事搭建了一套路由模式的open***,不能連接,幫忙調試。
問題分析:
open***有兩種模式,橋接模式和路由模式。
橋接模式:顧名思義,是將物理網卡和***的虛擬網卡橋接成一個bridge網卡,通過bridge網卡實現***的訪問,client連接***成功後,就和server端處於一個局域網中,對於局域網中其他服務器(不管有沒有安裝***)都可以正常實現訪問。
路由模式:點對點的,安全性更高,虛擬出另外一個獨立於server端所在局域網的另外一個網段,client端只能連接安裝了同網段***的服務器。
配置區別如下:
1.修改配置文件,將server-bridge註釋掉,打開server模式即可。
2.另外,由於路由模式是虛擬出另外一個獨立於server端所在局域網的另外一個局域網,因此配置的時候server 10.8.0.0 255.255.255.0。這個網段不能和物理網段重複。不然***的tun網卡沒辦法生成。
調試中問題整理:
1.另外調試的時候發現當我client登陸成功之後外網無法訪問,只能訪問***所在的服務器。查看本地路由:
C:\Users\Administrator>route print
看到結果如圖:
我配置的***網關是192.168.5.1,通過路由表分析發現我的外網網關變成了***的網關。查看***配置文件:
push "redirect-gateway"將這一行配置註釋掉,不讓***將網關推送給client端。重啓後問題解決。
2.我本地有三塊虛擬網卡,兩個路由模式,使用的是tun虛擬網卡,一個橋接模式,使用的設備是tap。剛開始登陸的時候發現一直登陸失敗,服務端也沒有日誌,說明還沒連到服務端,經過分析客戶端日誌,查看連接,發現客戶端登陸的時候使用的物理網卡不對,於是嘗試將另外兩塊虛擬網卡禁用掉,***登陸成功。問題解決:
在客戶端的配置文件中增加dev-node haha(網卡名稱)
例如:
client
dev tun
dev-node haha
proto tcp-client
將***要使用的設備重命名爲haha.
重啓客戶端***進程,問題解決。
問題解決,原理還在分析中。