# Zu blöd für iptables (Port forwarding)

## BlaZoR

Hiho,

Ich bin gerade irgendwie zu blöd für iptables.

Folgende Situation:

Ich verbinde meinen Heimserver via OpenVPN mit meinem Rootserver. Nun möchte ich, dass wenn ich versuche zu dem Rootserver eine SSH Verbindung aufzubauen auf Port 20022, dass er auf meinen Heimserver weiterleitet, also 10.1.0.11:22. Was tun?

Ich habs u.a. hiermit probiert (auf dem Rootserver):

 *Quote:*   

> iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 20022 -j DNAT --to-destination 10.1.0.11:22
> 
> iptables -A FORWARD -p tcp -d 10.1.0.11 --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

 

Aber funzt nicht, bekomme einen Timeout beim Connectversuch  :Sad: 

Jemand ne Idee?

Gruß

BlaZoR

----------

## papahuhn

DNAT ändert die Zieladresse aber nicht die Quelladresse. D.h. selbst wenn das Paket von Quelle Q über den Tunnel bei deinem Heimserver ankommt, sieht dein Heimserver diese Quelladresse und versucht Antwortpakete an Q zu schicken. Q kann diese Pakete aber nicht zuordnen, er erwartet ja Antworten vom Rootserver. Du müsstest also beides NATen, source und destination.

----------

## BlaZoR

Und das stell ich mit SNAT an richtig?

Dann hab ich jetzt das hinzugefügt:

 *Quote:*   

> iptables -A POSTROUTING -s 10.1.0.0/24 -o eth0 -j SNAT --to-source $ext_serveripadresse

 

Funktioniert aber immernoch nicht   :Sad: 

----------

## papahuhn

Die Quelle ist doch bestimmt nicht aus dem 10.1.0.0/24er Netz, oder doch?

----------

## BlaZoR

10.1.0.0/24 ist halt das VPN Netz. Verwechsel ich das gerade irgendwie?

----------

## papahuhn

Scheint so.

"-s a.b.c.d" matcht doch die Quelladresse eines Paketes. Wenn da eine Anfrage aus dem wilden Internet reinkommt, ist die Quelladresse irgendwas aus dem öffentlichen Netz, z.B. T-Online, und nicht 10.x.y.z.

----------

## AmonAmarth

was steht in 

```
cat /proc/sys/net/ipv4/ip_forward
```

? sollte für deine Zwecke eine "1" sein...

----------

