開啟 VPN 故障排除

開啟 VPN 故障排除

我正在嘗試在我們的兩個辦公室之間建立站點到站點 VPN 連線。我使用的 VPN 伺服器是 2 個“Edgerouter lite”,我使用的隧道軟體是 OpenVPN。

目前的設定是這樣的:

-

R1:
LAN subnet: 192.168.2.0/24
LAN port: 192.168.2.1

WAN port: X.X.X.X

-

R2:
LAN subnet: 10.10.0.0/24
LAN port: 10.10.0.34

WAN port: Y.Y.Y.Y

-

R1 Open VPN config:
 openvpn vtun0 {
     local-address 192.168.2.1 {
     }
     local-port 1194
     mode site-to-site
     openvpn-option --comp-lzo
     openvpn-option --float
     openvpn-option "--ping 10"
     openvpn-option "--ping-restart 20"
     openvpn-option --ping-timer-rem
     openvpn-option --persist-tun
     openvpn-option --persist-key
     openvpn-option "--user nobody"
     openvpn-option "--group nogroup"
     remote-address 10.10.0.39
     remote-host X.X.X.X
     remote-port 1194
     shared-secret-key-file /config/auth/secret
 }

-

R2 Open VPN config:
 openvpn vtun0 {
     local-address 10.10.0.39 {
     }
     local-port 1194
     mode site-to-site
     openvpn-option --comp-lzo
     openvpn-option --float
     openvpn-option "--ping 10"
     openvpn-option "--ping-restart 20"
     openvpn-option --ping-timer-rem
     openvpn-option --persist-tun
     openvpn-option --persist-key
     openvpn-option "--user nobody"
     openvpn-option "--group nogroup"
     remote-address 192.168.2.1
     remote-host Y.Y.Y.Y
     remote-port 1194
     shared-secret-key-file /config/auth/secret
 }

-

show openvpn status site-to-site on R1

OpenVPN client status on vtun0 []

Remote CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK)      Y.Y.Y.Y   10.10.0.39        51.6K   51.0K N/A

-

show openvpn status site-to-site on R2

OpenVPN client status on vtun0 []

Remote CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK)      X.X.X.X   192.168.2.1       85.3K   84.5K N/A

-

Routing table R1:
IP              Next hop    INT     TYPE
0.0.0.0/0       X.X.X.XGW   eth1    static
127.0.0.0/8                 lo      connected
192.168.2.0/24              eth0    connected
X.X.X.X/X                   eth1    connected
10.10.0.0/24                vtun0   static
10.10.0.39/32               vtun0   connected

-

Routing table R2:
IP              Next hop    INT     TYPE
0.0.0.0/0       Y.Y.Y.YGW   eth0    static
127.0.0.0/8                 lo      connected
10.10.0.0/24                eth1    connected
Y.Y.Y.Y/Y                   eth0    connected   
192.168.2.0/24              vtun0   static
192.168.2.1/32              vtun0   connected   

從 192.168.2.0 LAN(R1 上)上的主機,我可以 ping 通 10.10.0.34(R2 上的 LAN 連接埠 IP),但無法 ping 通 10.10.0.4(R2 LAN 上的主機)。

我的配置有什麼問題嗎?

答案1

這通常與路由有關。如果您可以從一個 OpenVPN 端點到達另一個端點,那麼您應該已經非常接近工作設定了 - 但是:

  • 如果需要透過特定端點存取 LAN,請確保啟用 IP 轉送。

  • 連接遠端的客戶端不知道如何返回連線的另一端。通過隧道的雙向都是如此。

您可以透過使用您選擇的中的iroute和語句來解決此問題。如果您要加入兩個網路和,那麼在伺服器端(例如),您可以執行以下操作:pushopenvpn.confx.x.x.xy.y.y.yx.x.x.x

  • push "route net mask"push "route x.x.x.x 255.255.255.0"例如。這使得遠端客戶端能夠透過隧道y.y.y.y返回正確的路由。x.x.x.x

  • 如果伺服器端 ( x.x.x.x) 需要能夠看到位於 的 OpenVPN 閘道之外的站點y.y.y.y,則也需要使用該iroute語句。放在iroute y.y.y.y 255.255.255.0伺服器端來實現這一點。這基本上讓 OpenVPN 知道哪個客戶端負責特定子網路。

    • iroute語句需要進入ccd(我認為客戶端配置目錄)。這通常位於名為/etc/openvpn/ccd/<client name>.

我想這應該會讓你繼續前進。另外,請查看優秀的 OpenVPN 文件 -就像區域網路上的這一點。希望可以幫助你!

相關內容