Port von externer Verbindung an einen Computer im LAN weiterleiten (Ubuntu-iptables)

Port von externer Verbindung an einen Computer im LAN weiterleiten (Ubuntu-iptables)

ich habe ein Problem: Ich kann von außerhalb meines LAN keine Verbindung über Remotedesktop zu einem Windows-Computer herstellen.

Ich verwende Ubuntu 14.04, iptables.

External Inferface: eth1
LAN Intergace: eth2
Windows IP: 192.168.1.100
Serverlinux LAN IP: 192.168.1.2
Serverlinux External IP: 186.xxx.xxx.xxx

Aktuelle iptables-Konfiguration:

iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF

ich habe viele Beispiele ausprobiert, aber ohne Erfolg.

Beispiel 1:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.100
iptables -t nat -A POSTROUTING -s 192.168.1.100 -p tcp --sport 3389 -j SNAT --to 192.168.1.2
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Beispiel 2:

iptables -A INPUT -i eth1 -p tcp --destination-port 3389 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT 192.168.1.100:3389
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Beispiel 3: Fehler (iptables: Keine Kette/Ziel/Übereinstimmung mit diesem Namen.)

iptables -A PREROUTING -d 186.xxx.xxx.xxx -p tcp -m tcp --dport 3386 -j DNAT --to-destination 192.168.1.100:3399 
iptables -A FORWARD -i eth1 -o eth2 -d 192.168.1.100 -p tcp -m tcp --dport 3399 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

Was vermisse ich??

Dank im Voraus.

Antwort1

Folgendes leitet Port 1337 der externen IP-Adresse an Port 3389 der internen IP-Adresse weiter:

iptables -t nat -I PREROUTING -d 186.xxx.xxx.xxx -p tcp --dport 1337 -j DNAT --to-destination 192.168.1.100:3389
iptables -I FORWARD -o eth2 -d 192.168.1.100 -p tcp --dport 3389 -j ACCEPT

Die erste Regel (in der NAT-Tabelle, die Sie in Ihrem dritten Beispiel übersehen haben) schreibt die Zieladresse des Pakets beim Eintreffen neu. Die zweite Regel erlaubt die Weiterleitung des neu geschriebenen Pakets.

Ich habe alle Verweise auf die eingehende Schnittstelle entfernt, da ich davon ausgehe, dass Sie möchten, dass sie auch funktioniert, wenn Sie sich hinter dem Router befinden (nur aus Gründen der Konsistenz).

Antwort2

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 1337 -j DNAT --to-destination 192.168.1.100:3389

iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

verwandte Informationen