Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Support Problem mit Routing und VPN

    Nobody is reading this thread right now.

ueker123

Ist oft hier
Registriert
17. Dezember 2011
Beiträge
141
Reaktionspunkte
14
Punkte
38
N'abend,

ich habe einen kleinen VPN Server, KVM virtualisiert.
Ich möchte diesen Server dauerhaft durch eine VPN Verbindung schützen, dabei soll ein Port durchgeschaltet werden. (Anbieter ovpn.to)

Mein Problem ist, dass beim Herstellen sämtlicher Netzverkehr über den VPN Tunnel umgeleitet wird, sprich ich komme nicht mehr per SSH auf den Server und mir stehen auch sonstige Funktionen nicht mehr zur Verfügung (Webinterfaces, etc.)

Der Server ist halt nur noch über das tun0 Device erreichbar.

Welche Möglichkeiten habe ich gewisse Ports daran vorbeizuleiten, damit ich trotz vestehender openvpn Verbindung noch per SSH auf die Kiste komme?

Danke ;-)

ädit: So also ich hab das Problem zum Teil gelöst. Das Problem ist, dass das tun0 device automatisch als default gateway setzt.
Das lässt sich umgehen, indem man route-noexec in der config hinzufügt.
Meine Config sieht dann so aus:

client
proto udp
auth SHA1
dev tun
route-noexec
topology subnet
remote xxx.xxx.xxx.xxx 443
remote-cert-tls server
ns-cert-type server
resolv-retry infinite
nobind
float
ping restart 30
comp-lzo
cipher AES-256-CBC
persist-key
persist-tun
verb 4
script-security 2
ca "/etc/openvpn/dsfo/ca.crt"
cert "/etc/openvpn/sdfsdf/ssdfsdf.crt"
key "/etc/openvpn/sdfdsf/ssdfsdfsdf.key"
tls-auth "/etc/openvpn/sddffsd/static.key" 1
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf


Jetzt habe ich nur das Problem, dass ich es nicht hinbekomme die Anfragen vom tun device zum eth0 controller zu routen.
Da ich den Zugriff auf gewisse Ports beschränken wollte, hatte ich die Absicht per iptables script/nat zu routen.

#Leitet alles was per Port 13243 reinkommt um
$FW -t nat -A PREROUTING -i tun0 -p tcp --dport 12345 -j DNAT --to 127.0.0.1
$FW -t nat -A PREROUTING -i tun0 -p udp --dport 12345 -j DNAT --to 127.0.0.1

#Laesst alles in's VPN durch
$FW -A FORWARD -i eth0 -o tun0 -p tcp -j ACCEPT
$FW -A FORWARD -i eth0 -o tun0 -p udp -j ACCEPT

Aber leider gehen die Anfragen nicht durch :-(

Hat jemand eine Idee?
 
Zuletzt bearbeitet:
Hast du am Server das Routing aktiviert ?

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

$FW -t nat -A PREROUTING -i tun0 -p tcp --dport 12345 -j DNAT --to 127.0.0.1
$FW -t nat -A PREROUTING -i tun0 -p udp --dport 12345 -j DNAT --to 127.0.0.1

Und wenn zu einem anderem Rechner geleitet wird wirds was schwieriger ;=) Dann hast du doppeltes NAT - das geht wohl bedarf allerdings einiges mehr an Configarbeit

Und maskieren könnte hilfreich sein : iptables -t nat -A POSTROUTING -o tun0 -s 192.168.178.xy -j MASQUERADE
 
Zuletzt bearbeitet:
Hast du am Server das Routing aktiviert ?

Es handelt sich um den Dienst von ovpn.to.
Der Port ist freigeschaltet, rufe ich die IP+Port im Browser auf, sehe ich (ifconfig) am tun0 Device beim RX Paketzähler eine Änderung.
Die Anfrage scheint also beim tun0 Device anzukommen.

$FW -t nat -A PREROUTING -i tun0 -p tcp --dport 12345 -j DNAT --to 127.0.0.1
$FW -t nat -A PREROUTING -i tun0 -p udp --dport 12345 -j DNAT --to 127.0.0.1

Und wenn zu einem anderem Rechner geleitet wird wirds was schwieriger ;=) Dann hast du doppeltes NAT - das geht wohl bedarf allerdings einiges mehr an Configarbeit

Nein es soll nicht zu einem anderen Rechner geleitet werden, sondern lediglich von tun0 Device auf das eth0 Device umgeleitet werden.
Also die Anfrage soll local bleiben.

Oder wäre damit folgendes zutreffender:
$FW -t nat -A PREROUTING -i tun0 -p tcp --dport 13243 -j REDIRECT
$FW -t nat -A PREROUTING -i tun0 -p udp --dport 13243 -j REDIRECT



Und maskieren könnte hilfreich sein : iptables -t nat -A POSTROUTING -o tun0 -s 192.168.178.xy -j MASQUERADE

Welche IP ist dort bei -s (Quell-IP) einzusetzen? Die Ip des tun0 Devices oder die des eth0 Devices?

Irgendwie verwirrt mich jede Aussage die ich lese nur noch mehr :-(
Wie du vielleicht schon merkst, bin ich absolut kein Experte was Routing/Iptables angeht :D
 
Zuletzt bearbeitet:
Probier es mal so :
input von port 12345 erlauben

$FW -A INPUT -p tcp -m tcp -i tun0 --dport 12345 -j ACCEPT

forwarding von tun0 auf eth0 (und wieder zurück):
$FW -A FORWARD -i eth0 -o tun0 -p tcp -j ACCEPT
$FW -A FORWARD -i tun0 -o eth0 -p tcp -j ACCEPT

maskiere alles was über tun0 raus soll und von 192.x.y.z kommt mit der ipaddy des servers:
$FW -A POSTROUTING -s 192.168.?.0/24 -o tun0 -j MASQUERADE

portweiterleitung von 12345 auf ipadresse:54321
$FW -A PREROUTING -p tcp -m tcp --dport 12345 -j DNAT --to-destination 192.168.178.?:54321

ist alles für tcp , wenn damit klappt dann halt umschreiben für udp.**überleg**
teste das mal aus - ich werde das nachher auch mal testen ;=)
 
Zurück
Oben