Ich habe einen Centos-Server mit drei NIC-Karten.
ETH0Öffentliche IP xx.xx.xx.xx1/xx.xx.xx.xx2 (mit zwei öffentlichen IPs)
EHT1Lokales Subnetz 192.168.80.0 (DHCP-Server lauscht auf dieser Schnittstelle)
ETH2Lokales Subnetz (10.0.1.10) Verbunden mit Druckern/Dateiservern/anderen LANs, auf die nur innerhalb der Organisation zugegriffen werden kann.
Meine Setup-Anforderungen: - Auf ETH1 (Subnetz 192.168.800/24) habe ich einige Benutzer, die auf das Internet und ihre E-Mails zugreifen müssen. Wir haben einen Mailserver im Subnetz 192.168.80.0/24 selbst eingerichtet, damit der E-Mail-Zugriff für die Benutzer schneller sein sollte.
Ich habe statisches NAT für den Mailserver 192.168.80.2 aktiviert, der die öffentliche IP xx.xx.xx.xx2 hat. Die übrigen Benutzer auf eth1 sehen ihre öffentliche IP als xx.xx.xx.xx1, da wir DNAT auch dafür aktiviert haben.
Dateiserver/Drucker sind für die Benutzer im Subnetz 192.168.80.0/24 zugänglich.
Ich habe ein anderes Subnetz 192.168.70.0/24, das mit dem Subnetz 192.168.80.0/24 kommunizieren muss, und ebenso muss 192.168.80.0.24 mit 192.168.70.0/24 kommunizieren.
192.168.80.0/24 ist über einen L3-Switch mit 10.0.0.0/24 verbunden. 192.168.70.0/24 ist über einen L3-Switch mit 10.0.0.0/24 verbunden.
Alles funktioniert einwandfrei, aber es ist keine Kommunikation zwischen 192.168.80.0/24 und 192.168.70.0 möglich.
Immer wenn ich einen Traceroute vom Netzwerk 192.168.80.0/24 zum Netzwerk 192.168.70.0/24 ausführe, geht es zum Internet.
traceroute 192.168.70.1
* * * 192.168.80.1
* * * ISP default gateway IP
Wie kann ich die Weiterleitung oder das Routing für Datenverkehr aktivieren, der aus dem Subnetz 192.168.80.0/24 stammt und für 192.168.70.0/24 bestimmt ist und über eth2 (10.0.1.10) laufen sollte, sodass der obige Traceroute ungefähr wie unten angezeigt wird und der Rest so funktionieren sollte, wie er jetzt funktioniert.
traceroute 192.168.70.1
* * * 192.168.80.1
* * * 10.0.1.10
Ich habe keine Ahnung, was jetzt getan werden muss.
Meine NAT-Regeln:
-A PREROUTING -d xx.xx.xx.xx2/32 -i eth0 -j DNAT --to-destination 192.168.80.2
-A POSTROUTING -s 192.168.80.2/32 -o eth0 -j SNAT --to-source xx.xx.xx.xx2
-A POSTROUTING -s 192.168.80.0/24 -o eth0 -j SNAT --to-source xx.xx.xx.xx1
-A POSTROUTING -o eth0 -j MASQUERADE
Routenplanung:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
115.xx.xx.200 0.0.0.0 255.255.255.252 U 0 0 0 eth0
192.168.80.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.0.0 0.0.0.0 255.255.252.0 U 0 0 0 eth2
115.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
0.0.0.0 115.xx.xx.137 0.0.0.0 UG 0 0 0 eth0
Antwort1
Irgendwo muss ein Gateway vorhanden sein, das mit dem Netzwerk 10.0.1.0/24 verbunden ist und das auch mit dem Netzwerk 192.168.70.0/24 verbunden ist. Nehmen wir an, dieses Gateway hat die IP-Adresse 10.0.1.20.
Anschließend müssen Sie diese Route auf Ihrem Linux-Router hinzufügen:
ip ro add 192.168.70.0/24 via 10.0.1.20
Da Ihr Router auch das Gateway für das Netzwerk 192.168.70.0/24 ist (wenn auch über einen Hop), müssen Sie auf dem Gateway des Netzwerks 192.168.70.0/24 keine Route für 192.168.80.0/24 hinzufügen.
BEARBEITEN1:
Um diese Route dauerhaft auf CentOS einzurichten, müssen Sie der /etc/sysconfig/network-scripts/route-eth2
Datei folgende Zeile hinzufügen:
192.168.70.0/24 via 10.0.1.20 dev eth2
Du kannst sehendieser Bereitstellungsleitfaden.