IPTables/Routen - wie kann ich alles Ports in beide Richtungen weiterleiten ?

AdrianW

New Member
Hallo,

hey -wiedermal ich mit was ungewöhnlichem.

Plan :

- vServer A mit mehreren Public IPs
- Server B daheim bei mir


Server B wird eine RouterVM bekommen und soll als externes Device die OpenVPN Schnittstelle nutzen

vServer A stellt OpenVPN Router und soll eine dieser PublicIPs sowohl für ausgehenden als auch einkommenden Traffic nutzen

Sind der Aktion : wenn ein Netzwerkgerät bei mir Server B als Gateway angibt, soll dieses Gerät mit einer PublicIP vom vServer online gehen.
Dies ist soweit absolut kein Problem - der OpenVPN wird als Standartgateway gesetzt und gut ist.

Wie jedoch muss ich iptables konfigurieren, bzw. routen setzen, damit zum Beispiel eine Anfrage auf Port 80 der PublicIP nun auf Port 80 der OpenVPN-IP der RouterVM landet, die dann wiederum über NAT dies im Heimnetz weitergeben kann.


Oder klappt es einfach so :
iptables -t nat -A PREROUTING -p tcp -d "externeIP" --dport * -i eth0 -j DNAT --to-destination openvpnIP:*

Ich hoffe der Sinn ist verständlich und ihr könnt mir da fix helfen.
Was iptables angeht bin ich eher "Anfänger" ;)

grüße & danke
Adrian
 
Last edited by a moderator:
Hallo,

Code:
-A PREROUTING -i EXTINTERFACE -d EXTIP -p tcp -j DNAT --to-destination INTIP
-A PREROUTING -i EXTINTERFACE EXTIP -p icmp -j DNAT --to-destination INTIP

Zweite Zeile kannst du eigentlich Auslassen, ich tu sie aber immer dazu rein.
 
Code:
-A PREROUTING -i EXTINTERFACE -d EXTIP -p tcp -j DNAT --to-destination INTIP
-A PREROUTING -i EXTINTERFACE EXTIP -p icmp -j DNAT --to-destination INTIP

(bei der zweiten Regel fehlt ein -d vor der EXTIP). Da dein vServer mehrere public IPs hat geht das. Hast du nur eine, würdest du dich damit selbst aussperren.

Ich würde mich auf einzelne Ports oder Port-Ranges beschränken. Damit wird z.B. Port 80 bis 100 weitergeleitet:
Code:
iptables -A PREROUTING -i EXTINTERFACE -d EXTIP -p tcp --dport 80:100 -j DNAT --to-destination INTIP

die Regel kannst du für verschiedene einzelne Ports auch wiederholen.

Nicht vergessen ip_forwarding zu aktivieren, sollte aber schon aktiv sein, wenn du den Server bereits als Gateway nutzt, /etc/sysctl.conf:
Code:
net.ipv4.ip_forward=1
 
Back
Top