ubuntuusers.de

Portforwarding auf OpenVPN

Status: Gelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

ulf5

Avatar von ulf5

Anmeldungsdatum:
10. Mai 2006

Beiträge: 24

Wohnort: Berlin

Guten Morgen (hier noch das obligatorische) - ein frohes Neues.

Ich bin schon eine ganze Weile am kämpfen damit und benötige jetzt ein bisschen Hilfe.

Es gibt einen virtuellen/dedizierten Server mit einer öffentlichen IP-Adresse - z.B. 88.88.88.88 auf diesem Server läuft ein OpenVPN Server, welche auch tadelos funktioniert und die OpenVPN-Clients mit IP-Adressen versorgt (10.0.8.0/24).

Ich möchte jetzt einen Client, bei welchen ein bestimmter Dienst auf einem gewissen Port (5000) läuft über die öffentliche IP-Adresse des v/d Servers erreichbar "machen".

Wenn ich nicht ganz falsch liege brauch ich dazu zwei Regeln in iptables. Ich habe bereits eine Regel erstellt:

iptables -A FORWARD -o tun0 -i eth0 -d 10.8.0.118 -p TCP --sport 10500 --dport 5000 -j ACCEPT

Diese wurde jetzt auch in den iptables aufgenommen:

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:10500 dpt:5000
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             10.8.0.118           tcp spt:10500 dpt:5000
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Bis jetzt erhalte ich aber keine Verbindung auf dem Port.

Kann mir bitte jmd. auf die Sprünge helfen?

Danke. ulf5

nbkr

Avatar von nbkr

Anmeldungsdatum:
29. Oktober 2007

Beiträge: 1936

Wohnort: Aschaffenburg

Die Regel die du hast ist eigentlich unnötigt. Die erlaubt nur dass das Paket weitergeleitet wird, aber die Standardeinstellung steht sowieso schon auf "ACCEPT". Siehe

Chain FORWARD (policy ACCEPT)

- zu musst zunächst das IP Forwarding aktivieren, so dass sich der Rechner prinzipiell als Router ansieht. Temporär kannst du das über

echo 1 > /proc/sys/net/ipv4/ip_forward

machen. Dauerhaft über die Datei /etc/sysctl.conf. Danach brauchst du zwei Regeln:

iptables -A PREROUTING -t nat -i eth0 -o tun0 -p tcp --dport 5000  -j DNAT --to 10.8.0.118:5000

ulf5

(Themenstarter)
Avatar von ulf5

Anmeldungsdatum:
10. Mai 2006

Beiträge: 24

Wohnort: Berlin

thx nbkr für die schnelle Antwort.

../ipv4/ip_forward > 1

habe ich bereits gesetzt ... sorry, das hatte ich unterschlagen 😉

Bei der von dir geposteten Regel bekomme ich die Ausgabe:

iptables v1.4.12: Can't use -o with PREROUTING

nbkr

Avatar von nbkr

Anmeldungsdatum:
29. Oktober 2007

Beiträge: 1936

Wohnort: Aschaffenburg

Lass "-o tun0" einfach weg.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

ulf5 schrieb:

iptables -L

BTW: Mit

sudo iptables -nvx -L -t nat

bzw mit:

sudo iptables -nvx -L

kannst Du sehen, ob durch (d)eine iptables-Regel auch Daten (packets und bytes counter) "fließen", d. h. ob diese Regel wirksam ist.

Antworten |