[Frage] OpenVPN und das Routing.

q-wardis

Neuer User
Mitglied seit
29 Aug 2008
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich bin dieser Anleitung gefolgt (mit kleinen Anpassungen) und auf meiner Fritz!Box 7390 läuft nun der OpenVPN-Client und im Telnet zeigt ein traceroute auch, dass ein ping erfolgreich über meinen OpenVPN-Server ins Internet geleitet wird.
Im selben Blog gibt es auch diese Anleitung, mit welcher der gesamte Internetverkehr umgeleitet werden kann. Aus Performancegründen möchte ich das jedoch nicht, sondern nur eine bestimmte IP-Adresse aus meinem Heimnetz über das VPN leiten.
Welche routen muss ich dafür löschen und erstellen?
 
Kurzer Tipp: Wenn Du wirklich von jemanden Hilfe möchtest, dann zwinge uns nicht irgendwelche Anleitungen durchlesen zu müssen - Das wird niemand tun! Schon gar nicht, wenn Du "kleine Anpassungen" daran vorgenommen hast - Die Helfer hier sind zwar Profis aber keine Hellseher. xD
 
Ja gut, da hast du recht. Bei meinem bisherigen stöbern hier im Forum bin ich schon darauf gestoßen, dass OpenVPN nicht gut mit dem Routing der Fritzbox harmoniert und dachte, das hat dann jemand direkt auf dem Schirm.
Hier also die normale Routing-Tabelle
Code:
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.180.1   0.0.0.0         255.255.255.255 UH        0 0          0 dsl
192.168.180.2   0.0.0.0         255.255.255.255 UH        0 0          0 dsl
192.168.1.30    0.0.0.0         255.255.255.255 UH        0 0          0 dsl
192.168.179.0   0.0.0.0         255.255.255.0   U         0 0          0 guest
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 lan
88.888.120.0    0.0.0.0         255.255.252.0   U         0 0          0 dsl
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 lan
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 dsl
Und hier die Tabelle nachdem der OpenVPN-Client gestartet wurde.
Code:
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.8.0.1        10.8.0.49       255.255.255.255 UGH       0 0          0 tun0
192.168.180.1   0.0.0.0         255.255.255.255 UH        0 0          0 dsl
10.8.0.49       0.0.0.0         255.255.255.255 UH        0 0          0 tun0
192.168.180.2   0.0.0.0         255.255.255.255 UH        0 0          0 dsl
80.82.70.245    0.0.0.0         255.255.255.255 UH        0 0          0 dsl
192.168.1.30    0.0.0.0         255.255.255.255 UH        0 0          0 dsl
192.168.179.0   0.0.0.0         255.255.255.0   U         0 0          0 guest
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 lan
88.888.120.0    0.0.0.0         255.255.252.0   U         0 0          0 dsl
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 lan
0.0.0.0         10.8.0.49       128.0.0.0       UG        0 0          0 tun0
128.0.0.0       10.8.0.49       128.0.0.0       UG        0 0          0 tun0
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 dsl
Wobei 88.888.121.171 Meine IP im Internet ist.
Kann ich jetzt nachdem OpenVPN gestartet ist, einfach Routen hinzufügen und entfernen nach belieben, oder müssen manche Sachen vor dem Start von OpenVPN schon fertig sein?
 
OpenVPN muss gestartet sein, damit Du die Routen hinzufügen kannst. Andernfalls fehlt Dir das Interface (tun0, tun1, tunn), über welches geroutet werden soll. Du kannst natürlich auch die Routen entfernen. Jedoch solltest Du sie lieber aus der Konfig rausnehmen sodass die gar nicht erst eingetragen werden, da OpenVPN auch ein eigenes internes Routing besitzt. Könnte (nicht muss!) zu unerwarteten Problemen führen.
 
Ich habe aber nur eine einfache OpenVPN Binary hier aus dem Forum. Wo sucht die sich denn das Config-File?

Ansonsten würde ich jetzt einfach das ungefähr so angehen, nachdem OpenVPN gestartet ist

Das Routing über das VPN rausnehmen?:
Code:
route del -net 0.0.0.0 netmask 128.0.0.0 dev tun0
?

Und wie füge ich jetzt eine Route ein, die nur von der lokalen IP-Adresse 192.168.1.66 ins 0.0.0.0 netz gehen? route kümmer sich doch nur um die Zieladressen, oder?
 

öhm.... mir ist jetzt erst aufgefallen das Du da absoluten murks in der Routing-Tabelle stehen hast. Wieso?

Folgende Einträge machen null Sinn!
Code:
0.0.0.0         10.8.0.49       128.0.0.0       UG        0 0          0 tun0
128.0.0.0       10.8.0.49       128.0.0.0       UG        0 0          0 tun0


Du solltest Dir lieber mal anschauen was Routingeinträge eigentlich sind und wie Du sie verwendest - denn das scheint Dir nicht so wirklich klar zu sein. Es bringt Dir nichts, wenn ich Dir nun fertige Routen zusammen baue (davon mal ab kenn ich gar nicht Dein Netzwerk) da Du im Fehlerfall das Ding auch selbst troubleshooten können musst.


[EDIT]
Ok, ich hab Dich scheinbar falsch verstanden. Du möchtest das nur einige interne Hosts das VPN der Fritzbox als Default-Gateway nutzen. Alle anderen sollen den lokalen WAN-Anschluss als default-gateway nutzen - ist das so richtig?

Wenn ja, dann kommst Du hier mit routing nicht weiter. Das musst Du dann via Firewall lösen!
[/EDIT]
 
Zuletzt bearbeitet:
Folgende Einträge machen null Sinn!
Code:
0.0.0.0         10.8.0.49       128.0.0.0       UG        0 0          0 tun0
128.0.0.0       10.8.0.49       128.0.0.0       UG        0 0          0 tun0
Nö, das passt schon, das ist das Ergebnis von "redirect-gateway def1" (statt das alte DG zu löschen und eine Route über das VPN einzutragen wird das mit Routen zu den "zwei Hälften des IPv4-Adressraumes" erledigt).

Um nur bestimmte Adressen oder Netze zum Server zu routen, musst du nur "route <Adresse> <Netzmaske>" in der Config eintragen (statt "redirect-gateway"). So in etwa:
Code:
# Host 1.2.3.4 durch das VPN
route 1.2.3.4 255.255.255.255
# Netz 192.168.178.0/24 durch das VPN
route 192.168.178.0 255.255.255.0

Wenn du den "redirect"-Befehl nicht in deiner Config hast, sondern das vom Server bekommst, musst du das "pullen" der Routen unterbinden:
Code:
# keine Routen vom Server annehmen
route-nopull
Irgendeine Config musst du schon haben, ohne die funktioniert der Client nicht. In dem einen Bespiel war die als "vpnclient.conf" angegeben.

Damit du von irgendeinem Gerät aus dem LAN (nicht von der Box selbst) etwas durch das VPN hindurch erreichen kannst, muss aber sicher gestellt sein, dass der Server "dein LAN kennt", also so konfiguriert ist, dass er die Adressen deines LANs zu deinem Client schickt. Ansonsten müsstest du zusätzlich (wie in dem anderen Beitrag) alle Geräte aus dem LAN "natten", wenn sie ducth den VPN-Tunnel laufen.
 
huh? na sieh mal einer an... Danke für die Info - War mir nicht bewusst das OVPN so das DG ersetzt. Bin immer vom Standard-Eintrag ausgegangen.

Weisst Du eventuell noch warum das nicht per Standard DG-Entry gemacht wird?
 
Warum nicht mit DG? Ist wohl die Idee, dass es "sicherer" ist, nicht das alte DG löschen zu müssen (weil es nachher ja wieder herzustellen ist), sondern es zu lassen, und mit den zwei halben Netzbereichen eine "genauere" Route einzuführen:
Code:
def1 -- Use this flag to override the default gateway by using 0.0.0.0/1 and 128.0.0.0/1 rather than 0.0.0.0/0. 
	This has the benefit of overriding but not wiping out the original default gateway.
 
Hm. Also ich denke ich weiß jetzt, wo es hapert bei mir. Die Routingtabellen sehen ja ganz vernünftig aus, aber ich habe natürlich vergessen, dass die Fritzbox noch als NAT zwischen Heimnetz und VPN-Netz fungieren muss. Von der Fritzbox aus geht natürlich in der Konsole der Internetzugriff über das VPN, aber die dahinter liegenden Geräte im Heimnetz haben keinen Zugriff.
Geht das überhaupt ohne Freetz? iptables steht ja nicht zur Verfügung.

So sieht es gerade aus
Code:
Heimnetz (192.168.1.0) 
  ^
  |
{192.168.1.1}
FRITZBOX (kein NAT)
{10.8.0.30}
  |
  v
VPN-Tunnel
  ^
  |
{10.8.0.29}
OpenVPNServer NAT
{Internet-IP}
  |
  v
INTERNET
 
Kurz: Ohne NAT auf der Box geht es nur, wenn du den Server konfigurieren (lassen) kannst, damit
1. dein LAN zu deinem Client geroutet wird
2. dein LAN "genattet" wird in Richtung Internet.
 
Also nochmal zusammengefasst: NATten geht nicht mit der standard-Firmware aber mit Freetz?
 
Jein ;-)
Mit "standard-AVM" geht es nicht.Freetz kann man zwar mit iptables bauen, NAT funktioniert aber mit aktuellen Firmwares nicht.
Daher wäre der vermutlich einzige Weg, das auf dem Server zu machen. Ohne VPN-Server-Zugriff wird es nur mit alten Boxen/Firmwares möglich sein, bei der 7390 z.B. aus dem 84.04.x-er Bereich.
 
Kostenlos!

Statistik des Forums

Themen
248,890
Beiträge
2,304,236
Mitglieder
378,579
Neuestes Mitglied
fftest