打开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 文档 -就像局域网上的这个。 希望可以帮助你!

相关内容