Frage, OpenVPN als Gateway

Domi

Member
Hallo Leute, ich habe da eine kleine Problematik.
Es existiert ein kleiner vServer bei OVH im RZ in Canada. Der wird bei dem Preis primär als Sync Server (z.B. OwnCloud oder Firefox) verwendet. Da er in Canada steht, wollte ich OpenVPN darauf einrichten und diesen ab und an als Gateway für YouTube verwenden :)

Naja... und zusätzlich wollte ich auch mal einen VPN Gateway aufbauen. Aber irgendwas scheint da nicht so wirklich zu klappen. Meine server.conf auf dem vServer sieht wie folgt aus,
Code:
port xxxx
proto udp
dev tun

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/server.crt
key easy-rsa/keys/server.key

dh easy-rsa/keys/dh4096.pem

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1"
push "dhcp-option DNS 213.186.33.99"

keepalive 10 120

cipher AES-256-CBC
comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status openvpn-status.log

verb 3
Eine VPN Verbindung dort hin kann ich aufbauen. Sobald diese auch besteht, scheint mein System auch über den Gateway ins Netz gehen zu wollen. Aber ich kann keine Domain wie google etc. pingen oder öffnen, doch ich weiß noch nicht wirklich warum.

Ich hatte mich beim Aufbau an diese, diese oder diese Config gehalten.

Auch die iptables Regeln oder das Forwarding hatte ich eingetragen. Aber irgendwie will das nicht funktionieren :( Hat zufälligerweise noch jemand einen Tipp für mich, was ich vergessen haben könnte?

Gruß, Domi
 
Also der Nameserver der gepushed wird, steht so in der resolv.conf vom VPN Server. In einer der Anleitungen stand drin, dass man diesen nach Möglichkeit verwenden sollte.
 
Dass man den verwenden will, hat nachvollziehbare Gründe. Die Frage war, ob auf dem Client über den Server die Auflösung funktioniert.

Edit: Kannst du vom Client aus die VPN-IP des Servers pingen? Oder auch andere Services (z.B. SSH) erreichen?
 
Okay, dann hoffe ich mal das ich deine Frage richtig verstehe...

Vom Client kann ich die VPN IP (10.8.0.1) mit einem Ping erreichen. Auch die statische IP kann ich erreichen. Wenn ich am Client bei bestehender VPN Verbindung 'ping google.de' ausführe, bekomme ich eine IP angezeigt, diese kann aber nicht erreicht werden. Auch wenn ich einen Ping zu einer meiner privaten Domains ausführe, kann die IP aufgelöst werden aber der Ping an sich funktioniert nicht.

Auch die SSH Verbindung via Putty zum Server kann ich aufbauen, wenn die VPN Verbindung besteht.

Hilft dir das schon weiter?
Gruß, Domi
 
Ok. Ich denke DNS resolution funktioniert soweit (sonst würde ping keine IP anzeigen).

Bleibt Routing als nächste Punkt zu checken. Ist denn der Firewall auf dem VPS ordentlich konfiguriert?

Folgende Punkte sind zwingend erforderlich:
- IP-Forwarding aktiviert
- vom VPN-Interface gerouteter Traffic wird auf dem Internet-Interface maskiert (NAT)

Gerade das zweite funktioniert nicht ohne explizite Konfiguration.
 
Also ich habe unter 'ifconfig' mehrere interfaces...
Code:
root@vsrv01:~# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:219 errors:0 dropped:0 overruns:0 frame:0
          TX packets:219 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23211 (23.2 KB)  TX bytes:23211 (23.2 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:232 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:13739 (13.7 KB)  TX bytes:120 (120.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: xxxx:xxxx:100::562/56 Scope:Global
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:3543 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2603 errors:0 dropped:230 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:495130 (495.1 KB)  TX bytes:857210 (857.2 KB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:xxx.xxx.xxx.32  P-t-P:xxx.xxx.xxx.32  Bcast:xxx.xxx.xxx.255  Mask:255.255.248.0
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
Aufgrund dieser Grundlage habe ich folgenden iptables Eintrag gemacht.
-> iptables -t nat -A POSTROUTING -o venet0:0 -s 10.8.0.0/24 -j MASQUERADE

Und das IP Forwarding habe ich durch diesen Befehl aktiviert...
-> echo "1" > /proc/sys/net/ipv4/ip_forward

Nachtrag1: Hallöchen, also ich kann schon mal sagen, dass mein Client die IPs von den Domains bei einem Ping auflösen kann, aber er bekommt keine Verbindung zustande. Ich befinde mich in einem /30er Netz, meine IP ist die 10.8.0.6 und DHCP sowieo Gateway sind die 10.8.0.5, somit sollte es doch laufen. Anscheinend funktioniert eine iptables Regel am Server nicht richtig :(

Nachtrag2: So, ich habe die exakt identischen Config Dateien auf einen vServer bei Hetzner gezogen und nur diese Parameter eingetragen...
Code:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j SNAT --to 'meine Server IP'
nachdem die postrouting Regel eingetragen war, ging alles sofort. Also entweder liegt es am VPS von OVH oder ich habe etwas anders gemacht. Weitere Informationen folgen ;)

Nachtrag3: Okay, der Fehler war einfacher als ich dachte. Obwohl ich via 'ifconfig' venet0 und venet0:0 als Virtuelles Interface angezeigt bekomme, muss ich venet0 mit der IP des Servers verwenden... darauf wäre ich ja im Leben nicht gekommen :D Aber nun funktioniert alles!
 
Last edited by a moderator:
Back
Top