Konfigurieren von NAT über iptables

Konfigurieren von NAT über iptables

Das möchte ich ändern:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.212.120.5   192.168.1.254   255.255.255.255 UGH   0      0        0 eth2.2
208.67.222.222  192.168.1.254   255.255.255.255 UGH   0      0        0 eth2.2
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2.2
192.168.10.0    *               255.255.255.0   U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     0      0        0 br0
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth2.2

das mögen:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.212.120.5   192.168.1.254   255.255.255.255 UGH   0      0        0 ra0
208.67.222.222  192.168.1.254   255.255.255.255 UGH   0      0        0 ra0
192.168.1.0     *               255.255.255.0   U     0      0        0 ra0
192.168.10.0    *               255.255.255.0   U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     0      0        0 br0
default         192.168.1.254   0.0.0.0         UG    0      0        0 ra0

und konfigurieren Sie NAT folgendermaßen:

  1. Die öffentliche NAT-Schnittstelle ist ra0mit IP192.168.1.3
  2. Das interne NAT-Subnetz ist 192.168.10.0/24eingeschaltetbr0

Mein Problem ist, dass ich zwar weiß, wie man Linux routeund ifconfigBefehle verwendet, aber nichts über weiß iptables.

Antwort1

Eine "einfache" Lösung wäre, route und ifconfig zu verwenden, um die ra-Schnittstelle und das Routing einzurichten und dann einen iptables-Befehl auszugeben -

/sbin/iptables -t nat -I POSTROUTING -o ra0 -j MASQUERADE

Dadurch wird (der gesamte) Datenverkehr maskiert, der über ra0, aber nicht über br0 ausgeht. Ich stelle jedoch fest, dass die „NAT-Schnittstelle von ra0“ eigentlich keine echte IP-Adresse ist, also verwenden Sie entweder Double-NAT oder die IP-Adresse ist falsch.

verwandte Informationen