[Berlin-wireless] Status Communitytunnel (gelöst)

Thorsten Maerz info
Mi Mai 23 09:31:17 CEST 2018


On Wed, 23 May 2018 00:41:58 +0200
Holger <gonzo.d at web.de> wrote:

> Am 23.05.2018 um 00:16 schrieb Carsten Zimmermann:
> > Trotzdem versucht: In der Tat wird noch die Verbindung zum alten VPN
> > Dienst aufgebaut und da passiert nichts. Händisch die Daten für den
> > Community Tunnel angepasst (mit OpenVPN Config-Daten aus meiner Hedy
> > 1.0.0 stable Berlin Tunnel Sysupgrade Installation von vorher): VPN
> > Verbindung ok, aber selbes Problembild*.
> > 
> > Zurück auf Kathleen v0.1.2 und die veraltete OpenVPN Konfig mit o.g.
> > Hedy-Inspiration auf Berlin Community Tunnel umgestellt: Tunnel ok,
> > aber kein gerouteter Verkehr aus dem FF Netz.
> > 
> > Zuletzt von Kathleen mit der 1.0.1-rc2 Berlin Tunnel Sysupgrade
> > versucht. Musste die Zertifikate (CA und Extra CA sowie user
> > cert/key) händisch hochladen, aber dann klappte es**.
> 
> w.o. cross-upgrades
> Mag ich jetzt nicht nachvollziehen, vpn03 nach hedy-vpn03 mit 1.0.1 
> migrieren und dann ggf. crossupgrades auf andere / no tunnel-Version. 
> Mit ggf. neuen Tunnel-creds könnte es gehen.
> Alles andere ist eher Glück!

Vorab: Wer nach Hilfe fragt, sollte statt solcher Hacks neu flashen und den Standard-Weg gehen, sonst sucht man sich als Helfer blöd, weil man nicht ahnen kann, was da alles im Gegensatz zum Default-Setup verstellt wurde. Wer selbst bastelt, darf auch selbst suchen :)

Aber es ist nicht wirklich kompliziert, zwischen VPN03 und Community-Tunnel umzuschalten, ohne neu zu flashen:
a) Man braucht (neben den eigenen, zum Tunneltyp passenden Keys) noch die Standard-Keys, entweder von einem entsprechenden Image/Backup oder aus Github.
b) In /etc/config/openvpn sind ein paar Änderungen vorzunehmen
c) Die OpenSSL Version muss durch openssl-openvpn ersetzt werden, wenn man ein community-tunnel Image zu vpn03 umbiegt (auch, wenn man BBB-VPN mit community-tunnel nutzen will).

a) Zusätzliche Keys:
Für tunnel-berlin:
  tunnel-berlin-ca.crt		https://github.com/freifunk-berlin/firmware-packages/blob/v1.0.0/uplinks/freifunk-berlin-uplink-tunnelberlin-files/openvpn/tunnel-berlin-ca.crt
  tunnel-berlin-extra.crt	https://github.com/freifunk-berlin/firmware-packages/blob/v1.0.0/uplinks/freifunk-berlin-uplink-tunnelberlin-files/openvpn/tunnel-berlin-extra.crt
Für VPN03:
  freifunk-ca.crt		https://github.com/freifunk-berlin/firmware-packages/blob/v1.0.0/uplinks/freifunk-berlin-uplink-vpn03-files/openvpn/freifunk-ca.crt

b) Änderungen an /etc/config/openvpn
   ACHTUNG: Namen der eigenen Keys sind noch anzupassen!
        # -- vpn03 -->
        #list remote 'vpn03.berlin.freifunk.net 1194'
        #list remote 'vpn03-backup.berlin.freifunk.net 1194'
        #option key '/etc/openvpn/ffuplink-vpn03.key'
        #option cert '/etc/openvpn/ffuplink-vpn03.crt'
        #option ca '/etc/openvpn/freifunk-ca.crt'
        # <-- vpn03 --
        # -- tunnel-berlin -->
        list remote 'tunnel-gw.berlin.freifunk.net 1194'
        option key '/etc/openvpn/ffuplink-tunnelberlin-1043-1.key'
        option cert '/etc/openvpn/ffuplink-tunnelberlin-1043-1.crt'
        option ca '/etc/openvpn/tunnel-berlin-ca.crt'
        option extra_certs '/etc/openvpn/tunnel-berlin-extra.crt'
        # <-- tunnel-berlin --

c) OpenVPN-mbedtls durch OpenVPN-OpenSSL ersetzen
	opkg update
	opkg remove --force-depends openvpn-mbedtls
	opkg install openvpn-openssl


> > **) Da ich einen WLAN-Uplink für mein WAN benutze[1] war noch ein
> > Tweak nötig: Das WAN Interface wurde auf eine Bridge ungestellt. Das
> > wollte des WLAN-WAN-Iface nicht und ich hab die Option "creates
> > bridge over[…]" abgehakt, als ich das physische Interface auf wlan2
> > umgestellt habe.
> 
> Dazu hat Thorsten auf dem wcw18 die Lösung vorgestellt.
> 
> > [1]<https://aegisnet.de/2015/04/19/freifunk-mit-wlan-uplink.html#kmod-package-installation>

Carstens Link/Vorgehen enthält so ziemlich das, was ich als erste Lösung aufgezeigt habe.

Ist ganz praktisch, noch /etc/hotplug.d/iface/60-ffopenvpn zu kennen: Das Skript versorgt OpenVPN mit der IP-Adresse des WAN-Interfaces.
Dessen Zeile
  [ "$INTERFACE" = wan ] || exit
kann man auf weitere Interfaces erweitern, dann kann man z.B. mehrere Interfaces definieren (ohne WAN umbiegen zu müssen) und der Router schnappt sich dann automatisch das, worüber wirklich eine Verbindung existiert (z.B. WAN, WLAN-WAN, USB-TETHERING-WAN, ...). Nach folgendem Muster:
  [ "$INTERFACE" = wan ] || [ "$INTERFACE" = wlan-wan ] || exit
Diese zusätzlichen Interfaces müssen zum Netzwerk "wan" gehören, oder man passt noch die Zeile
  network_get_ipaddr wanip "wan"
entsprechend an, dass wenn z.B. "wanip" leer ist, noch die anderen networks abgeklappert werden.
Und die Interfaces müssen zur Firewall-Zone "wan" gehören.

Wie man in 60-ffopenvpn sieht, gibt es Log-Ausgaben mit den Tags "ff-userlog" und "ff-vpn-hotplug". Wenn man also 'logread -f|grep "ff-"' mitlaufen lässt, kann man ganz gut erkennen, ob die Basteleien in der Tunnel-Konfiguration ankommen. Und in logread nach openvpn greppen, um zu sehen, ob die OpenVPN Verbindung auch wirklich aufgebaut wurde.

-- 
LG Thorsten




Mehr Informationen über die Mailingliste Berlin