Gesamter Traffic soll durch VPN

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
XCircle
Beiträge: 43
Registriert: 27.01.2007 16:32:25

Gesamter Traffic soll durch VPN

Beitrag von XCircle » 02.04.2017 20:53:22

Hi, ich habe aktuell ein Problem mit meiner VPN-Verbindung und iptables :/

Ich habe einen vServer mit einen openVPN-Server.
Mein Client (Debian) soll den vServer als statische IPv4-Adresse für Webservices (auf dem Client) nutzen.
Das klappt auch, es wird auch soweit der Traffic durchgeschleust, dass die Debian-Updates ebenfalls funktionieren.

Nun ist mir aber folgendes aufgefallen:
a) PING von Client auf bspw google.de ist nicht möglich
b) SVN UP funktioniert ebenfalls nicht (mehr)

Schön wäre, wenn man das mittels iptables Regeln hinbekommt.
Alternativ "akzeptiere" ich aber auch, wenn der Client sein "eigenes Internet" dafür nutzt
und nur die Anfragen die vom Server kommen wieder zum Server zurück gehen.

Trotz Internet-Recherche und vielen Versuchen habe ich das bisher nicht hinbekommen :(

Nachfolgend meine aktuelle Konfiguration:

openVPN
client.conf

Code: Alles auswählen

client
dev tun
proto udp
remote my-vpn-server.de 1194

resolv-retry infinite

persist-key
persist-tun

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client1.crt
key /etc/openvpn/keys/client1.key

ns-cert-type server

auth SHA256
cipher BF-CBC
comp-lzo
keepalive 10 120

verb 3
server.conf

Code: Alles auswählen

port 1194
proto udp
dev tun

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh4096.pem

server 10.0.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "route 10.0.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option WINS 8.8.4.4"

client-to-client

keepalive 10 120
auth SHA256
cipher BF-CBC
max-clients 10
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log

verb 3
vServer-Ausgabe

Code: Alles auswählen

# ifconfig
lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:114 errors:0 dropped:0 overruns:0 frame:0
          TX packets:114 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:10184 (9.9 KiB)  TX bytes:10184 (9.9 KiB)

tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet Adresse:10.0.0.1  P-z-P:10.0.0.2  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:126414 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127068 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100 
          RX bytes:7126379 (6.7 MiB)  TX bytes:15204036 (14.4 MiB)

venet0    Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet Adresse:127.0.0.2  P-z-P:127.0.0.2  Bcast:0.0.0.0  Maske:255.255.255.255
          inet6-Adresse: 41::15/56 Gültigkeitsbereich:Global
          UP BROADCAST PUNKTZUPUNKT RUNNING NOARP  MTU:1500  Metrik:1
          RX packets:276988 errors:0 dropped:0 overruns:0 frame:0
          TX packets:275060 errors:0 dropped:919 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:34082603 (32.5 MiB)  TX bytes:33556664 (32.0 MiB)

venet0:0  Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet Adresse:162.00.00.00  P-z-P:162.00.00.00  Bcast:162.00.00.255  Maske:255.255.224.0
          UP BROADCAST PUNKTZUPUNKT RUNNING NOARP  MTU:1500  Metrik:1
iptables Regeln

Code: Alles auswählen

#SSH
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 20000 -j DNAT –to-destination 10.0.0.25:22

#WEBSERVICE
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 25000 -j DNAT –to-destination 10.0.0.25:20001
angepasste Konfigurationen auf vServer
IP/Traffic forwarding

Code: Alles auswählen

echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/sysctl.conf

Code: Alles auswählen

net.ipv4.ip_forward = 1  # Raute entfernt
DANKE im Voraus für die Hilfe :)

Benutzeravatar
spiralnebelverdreher
Beiträge: 1296
Registriert: 23.12.2005 22:29:03
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Frankfurt am Main

Re: Gesamter Traffic soll durch VPN

Beitrag von spiralnebelverdreher » 06.04.2017 00:02:05

Ich hab jetzt leider keine konkrete Antwort auf deine Frage. Aber vielleicht kannst du dich von Infos auf der Seite https://www.whonix.org inspirieren lassen. Dort wird dieses Problem durch zwei miteinander gekoppelte virtuelle Maschinen angegangen.

heinzelrumpel
Beiträge: 159
Registriert: 26.07.2004 20:07:58

Re: Gesamter Traffic soll durch VPN

Beitrag von heinzelrumpel » 20.04.2017 19:04:12

XCircle hat geschrieben:Hi, ich habe aktuell ein Problem mit meiner VPN-Verbindung und iptables :/

Ich habe einen vServer mit einen openVPN-Server.
Mein Client (Debian) soll den vServer als statische IPv4-Adresse für Webservices (auf dem Client) nutzen.
Das klappt auch, es wird auch soweit der Traffic durchgeschleust, dass die Debian-Updates ebenfalls funktionieren.
Wo funktionieren die Updates, client oder server?
Nun ist mir aber folgendes aufgefallen:
a) PING von Client auf bspw google.de ist nicht möglich
b) SVN UP funktioniert ebenfalls nicht (mehr)
Also kommt der Client gar nicht aus dem Netz raus? Hast Du ein Masquerade der Clients auf dem Server, die den Tunnel nutzen? Willst Du überhaupt, dass die Clients zuhause den Tunnel für alles nutzen? Warum?

Was sagt nslookup http://www.heise.de? Mach mal ein traceroute.

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Gesamter Traffic soll durch VPN

Beitrag von unitra » 27.04.2017 10:48:54

Schaue Dir die Routing table auf dem Client an, BEVOR der "Tunnel" aufgebaut wurde und NACHDEM der "Tunnel" aufgebaut wurde

Mit folgendem Befehl

Code: Alles auswählen

ip route show
route -rn
Die Lösung ist für das beschriebene Problem ist die Default Route (0.0.0.0) in Richtung Tunnel (tun0)zu Routen.
Danach wird der gesamte Traffic durch VPN geroutet.

Es sollte immer nur eine default Route in der Routing table da sein, ODER die vorhandene default route, die in der Routing Tabelle schon da var BEVOR der Tunnel aufgebaut wurde sollte NACHDEM der Tunnel aufgebaut wurde eine schlechtere Metrik bekommen, nachdem der Tunnel aufgebaut wurde und eine zusätzliche Default Route installiert wurde.

Für das Testen benötigt mein nur iproute

Code: Alles auswählen

ip route add default via tun0
Wie man mit der oben erwähnten Software eingerichtet werden sollte kann man auf der Herstellerseite bestimmt nachlesen.

Viel Erfolg!

Antworten