Fehlerbehebung bei OpenVPN

Fehlerbehebung bei OpenVPN

Ich versuche, eine Site-to-Site-VPN-Verbindung zwischen zwei unserer Büros einzurichten. Die von mir verwendeten VPN-Server sind zwei „Edgerouter lite“ und die von mir verwendete Tunneling-Software ist OpenVPN.

So sieht das Setup im Moment aus:

-

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   

Von einem Host im LAN 192.168.2.0 (auf R1) kann ich 10.10.0.34 (LAN-Port-IP auf R2) anpingen, aber nicht 10.10.0.4 (einen Host im LAN R2).

Ist etwas in meiner Konfiguration falsch?

Antwort1

Dies hat normalerweise mit dem Routing zu tun. Wenn Sie von einem OpenVPN-Endpunkt zum anderen gelangen können, sollten Sie einem funktionierenden Setup ziemlich nahe kommen - aber:

  • Stellen Sie sicher, dass die IP-Weiterleitung aktiviert ist, wenn ein LAN über einen bestimmten Endpunkt hinaus zugänglich sein muss.

  • Clients auf der Remote-Seite einer Verbindung wissen nicht, wie sie zur anderen Seite der Verbindung zurückgelangen. Dies gilt in beide Richtungen durch den Tunnel.

Sie können dies beheben, indem Sie die iroute- und push-Anweisungen in den Ihrer Wahl verwenden. Wenn Sie zwei Netzwerke und openvpn.confverbinden , können Sie auf der Serverseite (sagen wir ) Folgendes tun:x.x.x.xy.y.y.yx.x.x.x

  • push "route net mask"oder push "route x.x.x.x 255.255.255.0"zum Beispiel. Dies gibt den Remote-Clients y.y.y.yden richtigen Weg zurück x.x.x.xdurch den Tunnel.

  • Wenn die Serverseite ( x.x.x.x) Stationen jenseits des OpenVPN-Gateways bei sehen müssen , müssen Sie auch die Anweisung y.y.y.yverwenden . Setzen Sie auf der Serverseite ein, um dies zu ermöglichen. Dadurch wird OpenVPN grundsätzlich darüber informiert, welcher Client für ein bestimmtes Subnetz verantwortlich ist.irouteiroute y.y.y.y 255.255.255.0

    • irouteAnweisungen müssen in das ccd(Client-Konfigurationsverzeichnis, glaube ich) gehen. Dies wäre normalerweise in Dateien mit dem Namen /etc/openvpn/ccd/<client name>.

Damit sollten Sie loslegen können, denke ich. Werfen Sie auch einen Blick auf die hervorragende OpenVPN-Dokumentation -wie dieses Bit auf LANs. Hoffe, es klappt für Sie!

verwandte Informationen