
Ich habe das folgende Szenario:
ein Ubuntu-Server 20.04 lts, der Einfachheit halber A-Server genannt, mit den folgenden Netzwerkschnittstellen:
- Schleife
- enp1s0 (wan) ÖFFENTLICHE IP/23
- enp8s0 (lan) 10.9.96.3/20
- ppp0 (l2tp) 192.168.42.1
mit dieser Routing-Tabelle (öffentliche Routen werden absichtlich weggelassen):
- 10.9.96.0/20 dev enp8s0 proto Kernel Umfang Link src 10.9.96.3
- 192.168.1.0/24 über 192.168.42.10 dev ppp0
- 192.168.42.10 dev ppp0 proto Kernel Bereich Link src 192.168.42.1
Es gibt einen Remote-VPN-Client, der mit der IP 192.168.42.10 verbunden ist.
Dieser Client ist ein MikroTik-Router, der das Remote-LAN-Netzwerk 192.168.1.0/24 bereitstellt
. Über die von mir hinzugefügte statische Route (192.168.1.0/24 über 192.168.42.10 dev ppp0) kann ich 192.168.1.0/24-Geräte erreichen.
ein weiterer Ubuntu-Server 20.04 lts, der Einfachheit halber B-Server genannt, mit den folgenden Netzwerkschnittstellen:
- Schleife
- enp1s0 (wan) ÖFFENTLICHE IP/23
- enp8s0 (lan) 10.9.96.4/20
und diese Routing-Tabelle (öffentliche Routen werden absichtlich weggelassen):
- 10.9.96.0/20 dev enp8s0 proto Kernel Bereich Link src 10.9.96.4
Grundsätzlich muss ich von Server B aus auf 192.168.1.0/24-Geräte zugreifen, aber ich bekomme es nicht hin.
Ich habe auch versucht, eine statische Route hinzuzufügen: 192.168.1.0/24 über 10.9.96.3 dev enp8s0
innerhalb dieses Servers, aber ohne Erfolg. Ich sehe, dass Pakete, die für 192.168.1.X bestimmt sind, Server A erreichen, aber dann werden sie wohl nicht an die ppp0-Schnittstelle weitergeleitet (also habe ich auch einige iptables-Regeln ausprobiert).
Wie kann dieses Problem behoben werden?
Die Firewall ist auf beiden Servern deaktiviert.
Antwort1
NOTIZ: In dieser Antwort stellt das Netzwerk 100.64.10.0/23
das öffentliche Netzwerk dar. Es ist nicht besonders relevant, sondern dient nur dazu, die Netzwerkkonfiguration dieser virtuellen Knoten mit dem abzustimmen, was Sie in Ihrer Frage beschrieben haben.
Ihr Problem besteht darin, dass Hosts im Netzwerk 192.168.1.0/24 nicht wissen, wie sie das Netzwerk 10.9.96.0/20 erreichen.
Basierend auf dem, was Sie uns in Ihrer Frage gezeigt haben, sieht die Routing-Tabelle auf dem Microtik-Router (192.168.42.10/192.168.1.1) wahrscheinlich ungefähr so aus:
192.168.1.0/24 dev h1-eth0 proto kernel scope link src 192.168.1.1
192.168.42.0/24 dev h1-eth1 proto kernel scope link src 192.168.42.10
Und die Routing-Tabelle auf ServerA sieht ungefähr so aus:
default via 100.64.10.1 dev serverA-eth0
10.9.96.0/20 dev serverA-eth1 proto kernel scope link src 10.9.96.3
100.64.10.0/23 dev serverA-eth0 proto kernel scope link src 100.64.10.10
192.168.1.0/24 via 192.168.42.10 dev serverA-eth2
192.168.42.0/24 dev serverA-eth2 proto kernel scope link src 192.168.42.1
Wenn Sie am serverA
eine Adresse im 192.168.1.0/24
Netzwerk anpingen, lautet Ihre Quelladresse 192.168.42.1
. Der Microtik-Router hat eine Route für dieses Netzwerk, also ist alles in Ordnung.
Wenn serverB
Sie eine Routing-Tabelle wie diese haben:
default via 100.64.10.1 dev serverB-eth0
10.9.96.0/20 dev serverB-eth1 proto kernel scope link src 10.9.96.4
100.64.10.0/23 dev serverB-eth0 proto kernel scope link src 100.64.10.20
192.168.1.0/24 via 10.9.96.3 dev serverB-eth1
Wenn Sie dann versuchen, eine Verbindung zu einer Adresse im 192.168.1.0/24
Netzwerk herzustellen, lautet Ihre Quelladresse 10.9.96.4
. Der Microtik-Router weiß nicht, wie er diese Adresse erreichen kann (oder er versucht, über das Standard-Gateway zu antworten, was nicht angemessen ist).
Die Lösung besteht darin, dem Microtik-Router eine Route wie folgt hinzuzufügen:
ip route add 10.9.96.0/20 via 192.168.42.1
Jetzt:
- ServerB kann den Microtik-Router anpingen, da der Microtik-Router eine gültige Route zurück zu ServerB hat
- ServerB kann pingenandereHosts im
192.168.1.0/24
Netzwerk, da diese Hosts den Microtik-Router (192.168.1.1
) als Standard-Gateway verwenden … und wie im vorherigen Aufzählungspunkt festgestellt, verfügt der Router über eine entsprechende Route.
Ich habe das alles in einer simulierten Netzwerkumgebung getestet, die mitMininetz; die Konfiguration finden SieHierfalls Sie neugierig sind.