Portweiterleitung von VPN zu Server im LAN

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 28.04.2016 08:03:43

Hallo Leute,
ich plage mich seit Tagen mit der folgenden Konfiguration rum, komme aber nicht zum Ziel. Ich hoffe Ihr könnt mir helfen.

Folgende Situation:
In meinem Heimnetz läuft ein Server 192.168.10.201 (Mail und www), der von außen, also aus dem Internet, erreichbar sein soll. Nur leider hänge ich am Kabelnetz, welches keine öffentliche IP-Adresse vergibt, somit funktionieren die DynDNS-Dienste nicht. Ich habe dazu einen VPN-Tunnel bestellt, der eine statische IP im Internet hat und über den ich mich über OpenVPN einwählen kann. Ich möchte aber ungern den Server direkt ans VPN, damit also ungeschützt, ins Internet hängen, sondern einen im Heimnetz befindlichen Raspberry Pi 192.168.10.205 dazu benutzen, den VPN-Tunnel aufzubauen (tun0) und die eingehenden Datenpakte an tun0 auf Port 25, 143, 80, 443 über eth0 im Heimnetz an den Server zu weiterzureichen. So funktioniert es ja auch mit einer Portfreigabe/-weiterleitung im DSL-Router.
Der Raspberry mit raspbian wheezy baut den VPN tunnel tun0 einwandfrei auf, ich kann auch damit ins Internet. Auch ein Ping aus dem Internet kommt beim Raspberry an. Versuche ich nun auf Port 80 zuzugreifen, Ziel nicht erreichbar.

Ich habe viel zu iptables gelesen, steige aber noch nicht so richtig durch und habe auch schon folgendes probiert:

Code: Alles auswählen

iptables -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT 
iptables -t filter -A INPUT -p icmp -j ACCEPT 
iptables -t filter -A INPUT -p tcp -m tcp -m multiport --dports 25,80,143,443 -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp -i eth0 -j ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 25 -j DNAT --to-destination 192.168.10.201
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.201
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 143 -j DNAT --to-destination 192.168.10.201
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 443 -j DNAT --to-destination 192.168.10.201
Leider funktioniert es nicht :(

Was ist denn falsch an den obigen Regeln? Muss ich sonst noch etwas einstellen?
Der Server ist ein Windows Server 2012 R2, die betreffenden Ports sind dort geöffnet und können aus dem Heimnetz angesprochen werden, auch vom Raspberry aus, nur halt nicht aus dem Internet.

Danke
Kriztan

mat6937
Beiträge: 3415
Registriert: 09.12.2014 10:44:00

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von mat6937 » 28.04.2016 09:50:22

kriztan hat geschrieben: In meinem Heimnetz läuft ein Server 192.168.10.201 ... im Heimnetz befindlichen Raspberry Pi 192.168.10.205 ... Auch ein Ping aus dem Internet kommt beim Raspberry an.
Kriztan
Hast Du in deinem PI, auch:

Code: Alles auswählen

sudo sysctl -w net.ipv4.ip_forward=1
konfiguriert? Wie sind auf deinem PI (als VPN-Client), die Ausgaben von:

Code: Alles auswählen

sudo iptables -nvx -L POSTROUTING -t nat
ip a
ip r
?

EDIT:
kriztan hat geschrieben: Ich habe dazu einen VPN-Tunnel bestellt, der eine statische IP im Internet hat und über den ich mich über OpenVPN einwählen kann.
Kannst Du in diesem bzw. mit diesem VPN-Tunnel (... den Du bestellt hast und das "border device" ist oder sein soll), auch Destination-NAT-Regeln (... für das LAN deines PI/VPN-Client/"Router") konfigurieren?

EDIT 2:

... oder ist das so, dass bedingt duch den VPN-Tunnel, dein PI die externe/öffentliche statische IP-Adresse hat (d. h. zum "border device" geworden ist) und DNAT-Regeln außerhalb vom PI, gar nicht erforderlich sind?
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 28.04.2016 13:16:21

Hallo und erstmal danke für Deine Antwort.
Ich schau heute Abend nochmal rein in den PI und gebe Info.
mat6937 hat geschrieben: Hast Du in deinem PI, auch:

Code: Alles auswählen

sudo sysctl -w net.ipv4.ip_forward=1
konfiguriert? Wie sind auf deinem PI (als VPN-Client), die Ausgaben von:

Code: Alles auswählen

sudo iptables -nvx -L POSTROUTING -t nat
ip a
ip r
?
Der VPN hat eine statische IP, die direkt durchgereicht wird. Also der PI bzw. der tun0 hat dann ebenfalls diese IP. Also trifft wohl Dein EDIT 2 zu.
mat6937 hat geschrieben: EDIT:
kriztan hat geschrieben: Ich habe dazu einen VPN-Tunnel bestellt, der eine statische IP im Internet hat und über den ich mich über OpenVPN einwählen kann.
Kannst Du in diesem bzw. mit diesem VPN-Tunnel (... den Du bestellt hast und das "border device" ist oder sein soll), auch Destination-NAT-Regeln (... für das LAN deines PI/VPN-Client/"Router") konfigurieren?

EDIT 2:

... oder ist das so, dass bedingt duch den VPN-Tunnel, dein PI die externe/öffentliche statische IP-Adresse hat (d. h. zum "border device" geworden ist) und DNAT-Regeln außerhalb vom PI, gar nicht erforderlich sind?

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von mludwig » 28.04.2016 14:38:31

Hat dein Server die richtige Route gesetzt? Wenn der Standard-Gateway deines Servers nicht der Pi ist, schickt der Server die Anworten vermutlich über deinen Kabelanschluss nach draußen.

mludwig

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 28.04.2016 14:51:00

mludwig hat geschrieben:Wenn der Standard-Gateway deines Servers nicht der Pi ist, schickt der Server die Anworten vermutlich über deinen Kabelanschluss nach draußen.
Das bedeutet, ich muss im Server den PI als Standardgateway eintragen? Aber dann wird doch sämtlicher Datenverkehr durch den VPN geschickt. Lässt sich das realisieren, dass nur der Datenverkehr, der ursprünglich vom VPN eingeht, auch über den VPN rausgeht, die restlichen Daten, also z.B. Windows Updates über das normale Kabelnetz?

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von mludwig » 28.04.2016 15:41:29

Zunächst einmal würde ich als Gateway den Pi eintragen und prüfen, ob damit dein Server erreichbar ist. Damit wäre die Ursache des deines bisherigen Problems gelöst. Die Updates über den Kabelanschluss zu holen wäre vielleicht mit einer eigenen Route möglich, wenn der Updateserver bekannt ist. Was spricht dagegen, dass auch Updates etc über den Tunnel laufen?

viel Erfolg

mludwig

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 28.04.2016 15:47:31

Danke erstmal, ich werde Deine Vorschläge nachher mal probieren.
Dagegen, dass sämtlicher Datenverkehr durch den Tunnel läuft spricht, dass dieser eine Volumenbegrenzung hat :wink:
Ob ich das Limit erreiche, werde ich dann im ersten Monat sehen... Ich werde es mit dem Gateway mal probieren und mich zurückmelden.

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 28.04.2016 18:38:47

:THX: Perfekt.
Danke für Deine Hilfe, die Umstellung des Gateways im Server hat zur Lösung geführt.
Gibt es für den gesamten Datenverkehr durch den VPN auch eine Lösung? Also das nur Pakte über tun0 raus gehen, die vorher auch über tun0 eingegangen sind?

mat6937
Beiträge: 3415
Registriert: 09.12.2014 10:44:00

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von mat6937 » 28.04.2016 23:06:04

kriztan hat geschrieben:Lässt sich das realisieren, dass nur der Datenverkehr, der ursprünglich vom VPN eingeht, auch über den VPN rausgeht, die restlichen Daten, also z.B. Windows Updates über das normale Kabelnetz?
Ja, das wäre auch möglich. Z. B., ohne den PI als default route im Server bzw. mit DNAT und SNAT auf dem PI.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 29.04.2016 11:35:27

mat6937 hat geschrieben:...das wäre auch möglich. Z. B., ohne den PI als default route im Server bzw. mit DNAT und SNAT auf dem PI.
Ja das habe ich nun eingerichtet, jedoch ist dann die anfragende IP immer der PI und nicht mehr die desjenigen, der die Anfrage sendet. Somit sind sämtliche .htaccess rules, die Zugriffe aus dem Heimnetz erlauben und aus dem Internet verbieten nutzlos, da alles frei im Internet ist... Wie kann ich das umgehen?

Danke schon mal.

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von mludwig » 29.04.2016 12:15:06

Eine Möglichkeit: Erlaube in der .htaccess die IPs den lokalen Netzes, aber verbiete die IP des Pi.

mludwig

kriztan
Beiträge: 7
Registriert: 28.04.2016 06:38:41

Re: Portweiterleitung von VPN zu Server im LAN

Beitrag von kriztan » 29.04.2016 18:56:22

mludwig hat geschrieben:Eine Möglichkeit: Erlaube in der .htaccess die IPs den lokalen Netzes, aber verbiete die IP des Pi.
mludwig
Das kommt leider nicht in Frage, daher habe ich nun ausgehende Pakete auf den Ports 80, 443 markiert und dafür eine Route zum Standardgateway erstellt. Das funktioniert soweit.

Ich danke trotzdem vielmals für deine Unterstützung!

Antworten