
Ich habe folgendes Setup:
Box A
eth0 - 192.168.1.101
eth1 - 10.10.2.1
Box B
eth0 - 10.10.2.2
Box A hat über eth0 Internetzugang. Ich möchte, dass Box B im Netzwerk 192.168.1.0/24 sichtbar ist, sodass ich von einer anderen Box aus direkt per SSH darauf zugreifen kann, aber Box A muss auch verfügbar sein.
Ich dachte darüber nach, eine virtuelle IP für eth0 auf Box A zu erstellen und dann den gesamten Datenverkehr an Box B weiterzuleiten mit
ifconfig eth0:0 192.168.1.102
iptables -t nat -A PREROUTING -i eth0:0 -j DNAT --to-destination 10.10.2.2
aber das scheint nicht zu funktionieren.
Außerdem ist die IP-Weiterleitung aktiviert und Box B hat Internetzugang mit
iptables -t nat -A POSTROUTING -j MASQUERADE
Antwort1
Ich würde dies erreichen, indem ich eine statische Route zum Standard-Gateway im 192.168.1.0/24
Netzwerk hinzufüge, die besagt, dass alle Pakete an 10.10.2.0/24
das Netzwerk über den Knoten geroutet werden 192.168.1.101
.
Dann müssen Sie die IP-Weiterleitung aktivieren 192.168.1.101
.
Dann müssten Sie auch in Feld B eine Route zu 192.168.1.0/24
Via hinzufügen.10.10.2.1
10.10.2.x
Auf diese Weise können Sie die - und -Adressen in beiden Netzwerken verwenden 192.168.1.x
und der gesamte Datenverkehr wird zwischen den Netzwerken umgeleitet.
Antwort2
Sie können keine virtuelle Schnittstelle als Argument für verwenden -i
. Der Trick besteht stattdessen darin, das Ziel zu verwendenAdresse:
iptables -t nat -A PREROUTING -d 192.168.1.102 -j DNAT --to-destination 10.10.2.2