ubuntuusers.de

Default Route Openvpn

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

duese22

Anmeldungsdatum:
22. Oktober 2006

Beiträge: 46

Hallo allerseits!

Ich habe ein VPN nach dieser Anleitung aufgesetzt: http://openvpn.net/index.php/open-source/documentation/howto.html Diese ist ähnlich der im WIKI. Ich kann mich auch mit dem VPN Verbinden. Auch das Tunnelinterface funktioniert. Jetzt möchte ich natürlich, dass mein gesamter traffic von meinem Client über diesen Tunnel umgeleitet wird. Um dies zu ermöglichen habe ich folgendes gemacht:

1
2
# ip route add default via 10.8.0.1
RTNETLINK answers: No such process

Was bedeutet der Fehler, bzw. was muss ich anders amchen? Vielen Dank!

senden9

Avatar von senden9

Anmeldungsdatum:
8. Februar 2010

Beiträge: 965

Wohnort: Österreich

Hast du es schon mit sudo davor versucht?

duese22

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2006

Beiträge: 46

Hi, wie du an dem # erkennen kannst, bin ich als root angemeldet.

1
2
3
4
5
6
7
8
#route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     2      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
default         fritz.fonwlan.b 0.0.0.0         UG    0      0        0 wlan0

Auch ein:

1
route del default gw 192.168.1.1 netmask 0.0.0.0

Bring nichts, die Fehlermeldung bleibt weiterhin bestehen. Könnte es daran liegen, dass ich das Netzwerk automatisch konfigurieren lasse?

duese

jmjmjm439

Anmeldungsdatum:
25. April 2010

Beiträge: 15

Hallo!

Trage in der Config-Datei auf dem Client

1
pull

ein.

In der Conf-Dat. auf dem Server/Gateway

1
push "route [IP-Adresse des Server/Gateway][IP-Maske]"

Das Teilt dem Client mit, dass er eine neue Route zum Server setzen soll.

MFG

dubitat

Anmeldungsdatum:
1. Dezember 2009

Beiträge: 191

Hallo, ist fritz.fonwlan.b deine 192.168.0.1? Zeig doch sonst mal die Ausgabe von "route -n"

mfg dubitat

EDIT: schau dir mal folgende Lösung im Thread an: http://forum.ubuntuusers.de/topic/routen-in-ubuntu-eintragen/

duese22

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2006

Beiträge: 46

@jmjmjm439:

Danke für die tolle Idee, das wird klappen. Soll ich bei push route das Netzwerk angeben, in welchem der openvnServer steht (192.168.1.0), oder soll ich das vpn Netzwerk (10.8.0.0) dort eintragen? Was davon sollte ich machen? Wenn ich die Rute in das VPN-Netz schreibe muss ich noch im VPN-Server eine Route vom VPN-Netz auf den Router packen und am besten den Adressbereich von dem Netz in einen ungewöhnlicheren ändern oder?

vielen Dank für eure beiden Antworten!

die duese

dubitat

Anmeldungsdatum:
1. Dezember 2009

Beiträge: 191

Hallo, auf dem Server musst du in der OpenVPN Config die Adresse des OpenVPN-IP-Bereiches angeben (also 10.8.0.0 wenn ich dich richtig verstanden habe). Dann kannst du auch noch push "redirect-gateway" machen und dann sollten die Routen im Client automatisch angepasst werden. Im Server die entsprechenden IPTables-Einträge nicht vergessen, damit der auch weiß, was er mit den Paketen seiner Clients anstellen soll.

mfg dubitat

P.S. Meine Lösung mit den seperaten Routen ist sinnvoll, wenn nicht alle Clients und nicht immer ihren Traffic über das VPN senden sollen. Ich habe dazu ein Skript geschrieben, was z.B. prüft, ob man sich im Heim-Wlan befindet, sodass dann die entsprechenden Routen nicht gesetzt werden.

jmjmjm439

Anmeldungsdatum:
25. April 2010

Beiträge: 15

Hallo!

Ich habe etwas mist geschrieben. dubitat hat recht.

LG

duese22

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2006

Beiträge: 46

Hallo,

1
push "redirect-gateway"

War exakt das was ich gebraucht habe. (Es funktioniert). Was allerdings noch nicht klappt. ist das die Pakete von dem VPN-Server weiter in das Internet gegeben werden. (Das was du mit IPTables-Einträgen meintest) Ich habe versucht dies so zu erreichen:

1
route add -net 10.8.0.0  255.0.0.0 gw 192.168.1.1 eth0

was allerdings mit einer Fehlermeldung endet, die sagt, dass ich die falsche Syntax nutze. Danach habe ich probiert in die server.conf nach dem push "redirect-gateway" noch ein

1
push "route 192.168.1.0 255.255.255.0"

einzutragen. Dies sieht erfolgversprechender aus, allerdings habe ich dennoch keine Verbindung in das Internet.

Eine weitere frage habe ich noch (was damit zusammenhängen könnte): Der VPN-Server steht in meinem Heimnetzwerk: 192.168.1.0 - 255.255.255.0 und hat dort selbstverständlich auch eine Adresse aus dem 1er Netzwerk. Dies ist ja nun ein sehr gewöhnliches Netzwerk, welches genauso auch in dem entsprechenden Fremdnetz genutzt wird. Kann dies zu Problemen führen? Es wäre ja möglich mein Heimnetz z.B. auf die 192.168.33.0 - 255.255.255.0 zu legen.

Ich hoffe ich konnte mich verständlich ausdrücken. Sind noch irgendwelche Configs wichtig?

route -n ohne VPN Aktiviert:

1
2
3
4
5
6
root@02:/# route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0

route -n mit aktiviertem VPN:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@02:/# route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
79.247.244.94   192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         10.8.0.5        0.0.0.0         UG    0      0        0 tun0
root@02:/# 

Vielen Dank nochmal für Eure Antworten!

die duese

dubitat

Anmeldungsdatum:
1. Dezember 2009

Beiträge: 191

Hallo, dein Befehl müsste wie folgt lauten:

1
route add -net 10.8.0.0 netmask 255.0.0.0 gw 192.168.1.1 eth0

Zu den Iptables: du legst am besten ein Skript auf dem Server unter "/etc/network/if-up.d" (ich habe es iptables genannt). Dort trägst du dann folgendes ein:

1
2
3
4
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -o eth0 -s 10.8.0.0/8 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

dieses Skript solltest du dann noch mit

1
chmod +x iptables

ausführbar machen. Ich bin davon ausgegangen, dass dein Internet-Device (also da wo quasi die Verbindung zum Internet ankommt) eth0 ist.

mfg dubitat

duese22

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2006

Beiträge: 46

Für den ersten Befehl bekomme ich nur die Antwort:

1
2
# route add -net 10.8.0.0 netmask 255.0.0.0 gw 192.168.1.1 eth0
route: netmask doesn't match route address

Habe ich es richtig verstanden, dass die Lösung mit den Iptables die Alternative dazu ist?

Kannst du mir sagen ob die Gedanken unbegründet sind, welche ich mir mache, wenn die beiden privaten Netze identisch sind?

die duese

dubitat

Anmeldungsdatum:
1. Dezember 2009

Beiträge: 191

Hallo, wenn ich das Prinzip mit den Routen richtig verstanden habe, dann sieht das folgendermaßen aus: Du kannst damit deinem PC nur sagen, wenn er Netwerk X (in diesem Fall 10.8.0.0) sucht, dann soll er das ganze über das Gateway xyz versuchen. Das heißt, dass du mit den Routen keine Pakete durch den Server ins Internet routen kannst. Ich hoffe ich habe das verständlich dargestellt.

Die IPtables-Regeln machen aber genau das. Sie erwarten auf dem Server Pakete aus dem 10.8.0.0 Netwerk und leiten die dann weiter an die Internetschnittstelle eth0 im Server weiter.

Zu deinem Problem mit der Netzmaske: Ich war etwas irritiert, ob du diese Maske mit Absicht gewählt hast. Vermutlich reicht auch 255.255.255.0 aus (wenn du max. 255 Geräte in deinem VPN verwalten möchtest. Ansonsten musst du natürlich eine andere Netzmaske wählen. Wikipedia hilft dir sonst auch beim Verständnis der Netzmaske weiter (http://de.wikipedia.org/wiki/Netzmaske)). Wenn du wirklich 255.0.0.0 haben möchtest, dann musst du die IP-Adresse als 10.0.0.0 angeben. Diese Einstellungen musst du dann auch in der Server Config von einem VPN Server eintragen. Ich glaube dort steht defaultmäßig die Netzmaske auf 255.255.255.0

mfg dubitat

Antworten |