OpenVPN mit EdgeRouter X-SFP
Anleitung in Arbeit - Entwurfsstadium
Die allgemeinen Voraussetzungen zum Einrichten eines Tunnels sind in der Übersichtsseite dargestellt. Dieser Artikel geht nur auf die rudimentäre Konfiguration des Edge Routers ein.
Einrichten des Tunnels
Empfohlen wird, die Konfigurationsdateien und das Skript zuerst auf Deinem Computer anzulegen, und diese gemeinsam in der Folge per SSH ins Verzeichnis /config/user-data/ zu kopieren. Alternativ kannst Du sie auch händisch über das CLI wie vi anlegen. Wir benötigen:
1) funkfeuer.ovpn mit folgendem Inhalt - die kursiv dargestellten Zeilen musst Du mit jenen Werten befüllen, die Du von den Tunneladmins zugewiesen bekommen hast:
dev vtun0 dev-type tap proto udp remote 78.41.115.228 port [5XXX] daemon vtun0 up-delay down-pre up-restart comp-lzo script-security 2 nobind ping 10 ping-restart 60 ping-timer-rem fast-io sndbuf 524288 rcvbuf 524288 mute 2 verb 0 up "/config/user-data/funkfeuer-ifupdown.sh 78.41.X.Y" down "/config/user-data/funkfeuer-ifupdown.sh 78.41.X.Y"
Es gibt spezielle Betriebsmodi für OLSR, wie etwa den Mode „silent“. Um diesen zu nützen kann man zwei Zeilen mit einem Skriptparameter anpassen:
up "/config/user-data/funkfeuer-ifupdown.sh 78.41.X.Y silent" down "/config/user-data/funkfeuer-ifupdown.sh 78.41.X.Y silent"
Wurde für Deinen Tunnel bereits ein shared key/secret angelegt, benötigst Du die Zeilen zusätzlich folgende Zeilen:
secret /config/user-data/funkfeuer.secret auth SHA256 cipher none
2) funkfeuer.secret - wenn ein Key angelegt wurde.
Diese Datei beinhaltet einen individuellen kryptographischen Schlüssel (shared key), der sicherstellt, dass der Tunnel nur von jenen Clients genutzt werden kann, denen er auch tatsächlich zugewiesen wurde. Das soll verhindern, dass ein Tunnel missbräuchlich oder versehentlich mehrfach genützt wird. Diesen Schlüssel erhältst Du per E-Mail und Du musst ihn lediglich in dieser Datei speichern.
3) funkfeuer-ifupdown.sh
Dieses Skript sorgt dafür, dass das Tunnel-Interface, nachdem es gestartet wurde, in die richtige Bridge gelegt wird, auf der bereits OLSR läuft. Leg Die Datei mit folgendem Inhalt an und mach sie ausführbar.
#!/bin/sh logger "$dev $script_type" case "$2" in silent) br="br9" ;; ether) br="br8" ;; *) br="br7" esac case "$script_type" in up) /sbin/brctl addif $br $dev /sbin/ip link set $br promisc on /sbin/ip link set $dev up /sbin/ip a a $1 dev $br ;; down) /sbin/ip link set $dev down /sbin/ip link set $br promisc off /sbin/brctl delif $br $dev /sbin/ip a d $1 dev $br ;; *) esac exit 0
3) Folgende Config am EdgeRouter vornehmen (lokalen Gateway für Static-Route entsprechend ändern)
set interfaces bridge br9 aging 300 set interfaces bridge br9 bridged-conntrack disable set interfaces bridge br9 description TUNNEL set interfaces bridge br9 hello-time 2 set interfaces bridge br9 max-age 20 set interfaces bridge br9 priority 32768 set interfaces bridge br9 stp false commit set protocols static route 78.41.115.228/32 next-hop 192.168.0.1 description 'TunnelServer via ISP' set interfaces openvpn vtun0 config-file /config/user-data/funkfeuer.ovpn commit save
3) Im OLSRd_V1 Wizard das interface br9, br8 oder br7 für OLSR aktivieren