So verwenden Sie NAT zwischen zwei Netzwerkschnittstellen, ohne das Routing zu beeinträchtigen

So verwenden Sie NAT zwischen zwei Netzwerkschnittstellen, ohne das Routing zu beeinträchtigen

Mein Linux-basierter Router hat 5 Ethernet-Ports. Er fungiert derzeit als Router zwischen den Ports 1 und 2 und dem dedizierten WAN-Port, ohne NAT. Port 1 ist 192.168.1.1/24, Port 2 ist 192.168.2.1/24, WAN-Port ist 192.168.0.1/24.

Die ausgehende WAN-Verbindung läuft über ein Protokollierungsgerät, das die Nutzung verfolgt, und dann über einen zweiten Heimrouter, der NAT durchführt und eine öffentliche IP auf seinem WAN-Port verwendet.

Vereinfacht sieht das Netzwerk folgendermaßen aus, mit dem IP-Präfix 192.168.-:

server1--------Router1--------Logging device--------Router2----------
   .1.2      .1.1  .0.1                           .0.254  (public ip)

Die Konfiguration von Router1 funktioniert gut (das ist ein einfacher Router), Router2 auch (das ist ein einfaches Gateway). Ich möchte jedoch Router2 entfernen und mein NAT zwischen den Ports 3 und 4 von Router1 durchführen, wobei Port4 meine echte öffentliche IP verwendet.

Wäre das machbar? Ich möchte eine strikte Isolierung zwischen den Ports 1-2-WAN und 3-4 aufrechterhalten, um sicherzustellen, dass der gesamte Datenverkehr über das Protokollierungsgerät (mit seiner ursprünglichen IP-Quelladresse) läuft.

Wäre Transparent Bridging die Lösung? Könnte ich Source NAT auf diese Bridge anwenden? Ist die IP-Adressierung richtig?

Antwort1

Angenommen, Ihre 5 Ethernet-Ports auf Router1 heißen eth0 – eth4, sodass sich das WAN auf eth3 befindet:

iptables -t nat -A POSTROUTING --source 192.168.1.0/24 --out-interface eth3 -j MASQUERADE
iptables -t nat -A POSTROUTING --source 192.168.2.0/24 --out-interface eth3 -j MASQUERADE

Wenn Sie eine feste IP als Ihre öffentliche IP-Adresse haben, ersetzen Sie „-j MASQUERADE“ durch „-j SNAT --to-source $PUBLIC_IP“ (ersetzen Sie $PUBLIC_IP natürlich durch Ihre WAN-Adresse!).

Natürlich müssen Sie Ihre Standardroute auf eth3 festlegen, aber das war nicht Teil der Frage. Sie sollten außerdem eingehenden Datenverkehr in die öffentliche IP-Adresse durch eine Firewall sperren.

verwandte Informationen