Wenn ich eine Linux-Box mit 4 (oder mehr) Ethernet-Ports habe, wie richte ich sie als Router ein, um 4 Subnetze der Klasse C zu handhaben? Beispiel: eth0 => 192.168.1.0/24, eth1 => 192.168.2.0/24, eth2 => 192.168.3.0/24, eth3 => 192.168.4.0/24, alle Client-Rechner in diesen 4 Subnetzen können miteinander kommunizieren.
Irgendwelche Skriptvorschläge?
Antwort1
Gemäß Ihren Schnittstelleneinstellungen müssen Sie den Kernel eine Netzwerkadressübersetzung durchführen lassen, um Pakete über diese Subnetze zu routen. Versuchen Sie zunächst Folgendes:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j SNAT --to 192.168.2.1
# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j SNAT --to 192.168.1.1
Wobei 192.168.2.1
die IP-Adresse von eth1 und das Standard-Gateway für das Subnetz 192.168.2.0/24
gleichermaßen gelten 192.168.1.1
.
Und stellen Sie sicher, dass Sie net.ipv4.ip_forward=1
es haben /etc/sysctl.conf
. Und führen Sie es aus sysctl -p
, um die Änderung wirksam zu machen.