zu meiner Schande muss ich gestehen, dass ich mich iptables nicht wirklich auskenne. Trotzdem habe ich versucht einen NAPT-Router aufzusetzen und verzweifle gerade an der Konfiguration.
Ich habe Folgendes vor: 3 Rechner: Node1, Node2 und Node3, sollen von einem größeren Netz abgetrennt werden. Node2 und Node3 sollen nicht mit dem größeren Netz verbunden sein. Allerdings möchte ich mich aus dem großen Netz via SSH mit ihnen verbinden können. Zu diesem Zweck verfügt Node1 über 2 Netzwerkkarten (eth0 und eth1). eth0 hängt am größeren Netzwerk während eth1 mit einem Switch verbunden ist an dem auch Node2 und Node3 hängen.
Im kleinen abgetrennten Netz haben die Maschinen die IPs 192.168.255.x, wobei x die Nummer der Node darstellt.
Nun bin ich mit meiner Workstation im äußeren Netz und will eine SSH Verbindung auf Port 10000 auf Node1 starten. Diese geht nun bei Node1 an eth0 ein. Node1 "weiss" natürlich, dass das nicht sein SSH-Port ist und soll genau diese Session an 192.168.255.2:22, also dem SSH auf Node2 weiterleiten. Das ganze genauso mit Port 10001 und 192.168.255.3:22 für Node3. Ansonsten soll Node1 nicht dafür verwendet werden können um mit Node2 oder Node3 aus dem größeren Netz zu kommunizieren.
Bei aktivierten ip forwarding habe ich dabei folgende Befehle auf Node1 benutzt:
Code: Alles auswählen
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to 192.168.255.2:22
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10001 -j DNAT --to 192.168.255.3:22
Wenn ich genau das gleiche mit Port 10001 mache kriege ich einen Connection Timeout.
Wenn ich mit SSH auf Node1 bin kann ich problemlos Node2 und Node3 pingen und mich auch per SSH auf diese verbinden. Die Kommunikation der drei Maschinen untereinander funktioniert also.
Kann mir irgendjemand von euch weiterhelfen und sagen wo der Fehler liegen könnte? Das wär' echt super. Danke schonmal im vorraus.
Gruß an alle,
Swobo