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.conf
verbinden , können Sie auf der Serverseite (sagen wir ) Folgendes tun:x.x.x.x
y.y.y.y
x.x.x.x
push "route net mask"
oderpush "route x.x.x.x 255.255.255.0"
zum Beispiel. Dies gibt den Remote-Clientsy.y.y.y
den richtigen Weg zurückx.x.x.x
durch den Tunnel.Wenn die Serverseite (
x.x.x.x
) Stationen jenseits des OpenVPN-Gateways bei sehen müssen , müssen Sie auch die Anweisungy.y.y.y
verwenden . 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.iroute
iroute y.y.y.y 255.255.255.0
iroute
Anweisungen müssen in dasccd
(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!