Re: ein kleines routing Problem
On Sun, 29 Mar 2015 14:13:00 +0200, Christian Wolf
<ChristianLupus@gmx.de> wrote:
>ich springe noch einmal rein, weil ich glaube das Problem gesehen zu haben.
>
>Kannst du den Client anpingen? Sprich sowohl 10.101.101.22 als auch (!)
>10.101.2.253?
>
>>>>> ##### ip ro li
>>>>> default via 10.101.1.254 dev eth0
>>>>> 10.100.0.0/16 via 10.100.100.253 dev vpn2boe
>>>>> 10.101.1.0/24 dev eth0 proto kernel scope link src 10.101.1.1
>>>>> 10.101.101.0/24 via 10.101.101.2 dev tun0
>>>>> 10.101.101.2 dev tun0 proto kernel scope link src 10.101.101.1
>>>>> 10.101.102.0/24 dev vmbr0 proto kernel scope link src 10.101.102.1
>>>>> 10.101.200.0/24 dev eth2 proto kernel scope link src 10.101.200.1
>>>>> 239.0.0.0/8 dev eth0 scope link
>>
>> Hier fehlt die Route für 10.101.2.0/24 oder eine Route, die dieses
>> Netz einschließt. Dein Server weiß nicht, dass Pakete für die
>> Wetterstation in den Tunnel müssen.
>>
>>> #######################################################################
>>> Ich dachte dem Server zu sagen das an dem VPN Client 10.101.101.22 ein
>>> Netz 10.101.2.0/24 hängt und der VPN Client ist dafür der Router, langt.
>>> #######################################################################
>>
>> Du sagst dem Server aber nicht, dass der VPN-Client für 10.101.2.0/24
>> der Router ist.
>
>Eine grundsätzliche Regel zum Routing:
>Eine Route sollte immer nur zum nächsten GW zeigen. Es macht also wenig
>Sinn, dem Server zu sagen, dass 10.101.2.0/24 über 10.101.101.22 zu
>erreichen ist. Siehe unten.
Ein Gateway muss immer direkt erreichbar sein, die von Dir
angesprochene Route zu 10.101.2.0/24 über 10.101.101.22 ist also nur
dann sinnvoll wenn das Gerät, das die Route hat, auch eine IP-Adresse
im gleichen Netz wie 10.101.101.22 hat. Das kann 10.101.101.0/24, aber
auch exemplarisch 10.101.101.16/28 sein.
>> ip ro add 10.101.2.0/24 dev tun0?
>> ip ro add 10.101.2.0/24 via 10.101.101.22 dev tun0?
>>
>> Wenn das nicht hilft, geht es nicht ohne OpenVPN, "route 10.101.2.0
>> 255.25.255.0" in der Konfiguration des Servers. An manchen Stellen
>> sitzt OpenVPN quer zum normalen Routing. Ja, das ist unlogisch und
>> häßlich.
>
>Nein, es ist logisch. Ob hässlich, kann man drüber streiten, das gebe
>ich zu.
Ich finde das nicht logisch und ich hätte es vermutlich auch so
implementiert. Die zwei OpenVPN contributors, die ich persönlich
kenne, sehen das ähnlich ("historisch gewachsen").
>So jetzt zur Erklärung:
>Du verwendet OpenVPN mit tun Geräten. Lies dir man die Doku dazu durch.
>Daran liegt nämlich vermutlich dein Problem. Es funktioniert so:
>Der Server legt ein Subnetz /30 für sich selbst und für jeden einzelnen
>Client an. Das erste ist das Subnetz 10.101.101.0/30, das nächste
>10.101.101.4/30 etc. In jedem Subnetz gibt es 4 IPs. Die mit dem selben
>Offste haben immer die selbe Funktion:
>- Offset 0 (...0, ...4, ...20) beschrieben das Subnetz.
>- Offset 1 (...1, ...5, ...21) beschrieben die IP des jeweiligen Geräts.
>- Offset 2 (...2, ...6, ...22) beschrieben die IP des Tunnels. Die Route
>auf dem Gerät muss über diesen P2P Tunnel laufen
>- Offset 3 (...3, ...7, ...23) ist der Broadcast in dem Subnetz.
>Intern bildet OpenVPN einen Router virtuell ab, der für den Server und
>jeden Client einen Port hat. Das sind die P2P Tunnel-IPs (Offset 2).
Nichtsdestotrotz kann man (IIRC seit OpenVPN 2.1) die IP-Adressen der
Tunnelgegenstellen frei und insbesondere direkt aufeinanderfolgend
vergeben:
|[4/501]mh@torres:~$ grep -h "ifconfig-push" /etc/openvpn/client-config-dir/* | sort -n
|ifconfig-push 10.8.0.10 10.8.0.1
|ifconfig-push 10.8.0.11 10.8.0.1
|ifconfig-push 10.8.0.12 10.8.0.1
|ifconfig-push 10.8.0.128 10.8.0.1
|ifconfig-push 10.8.0.13 10.8.0.1
|ifconfig-push 10.8.0.14 10.8.0.1
|ifconfig-push 10.8.0.15 10.8.0.1
|ifconfig-push 10.8.0.16 10.8.0.1
|ifconfig-push 10.8.0.17 10.8.0.1
|ifconfig-push 10.8.0.18 10.8.0.1
|ifconfig-push 10.8.0.19 10.8.0.1
|ifconfig-push 10.8.0.27 10.8.0.1
|ifconfig-push 10.8.0.28 10.8.0.1
|ifconfig-push 10.8.0.30 10.8.0.1
|ifconfig-push 10.8.0.31 10.8.0.1
|[5/502]mh@torres:~$
Interessanterweise habe ich "topology subnet" nicht explizit
konfiguriert, und die manpage schweigt sich darüber aus, welche
Topologie in OpenVPN 2.3 der Default ist (ich verwende einen
Backport).
Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
Reply to: