OpenVPN mit LEDE/OpenWRT oder „Bubbles“

Aus FunkFeuer Wiki
Zur Navigation springen Zur Suche springen

ENTWURF - FEEDBACK WILLKOMMEN

Diese Anleitung unterscheidet sich nicht besonders von dem, was wir für Debian oder für den EdgeRouter brauchen. Voraussetzung ist ein OpenWRT-Build mit bridge-utils, iproute2 und openvpn. Wir legen auf OpenWRT eine Bridge ohne Brigeports an, konfigurieren OpenVPN und legen ein ifup-down-Skript für den Tunnel an. OLSR läuft auf der Bridge.

Paketvorschlag: luci-app-openvpn luci-i18n-openvpn-de openvpn-mbedtls ip-full


Bridge anlegen über die Konsole

[Da klappt etwas noch nicht; OpenWRT startet offenbar eine Bridge ohne Bridgeports in 18.06.2 nicht]

uci set network.ff=interface
uci set network.ff.ifname='ff'
uci set network.ff.type='bridge'
uci set network.ff.proto='static'
uci set network.ff.ipaddr='[FUNKFEUER-IP-ADRESSE-AUS-REDEEMER]'
uci set network.ff.netmask='255.255.255.255'
uci set network.ff.empty_bridge='1'
uci commit

[Ergänzen ... OLSR mittels UCI konfigurieren ...]

Auf die OpenVPN-Konfigurationsdatei verweisen

Die Datei /etc/config/openvpn soll beinhalten:

config openvpn 'Funkfeuer'
	option enabled '1'
	option config '/etc/openvpn/funkfeuer.conf'

Über UCI legt man das an wie folgt:

uci set openvpn.Funkfeuer=openvpn
uci set openvpn.Funkfeuer.enabled='1'
uci set openvpn.Funkfeuer.config='/etc/openvpn/funkfeuer.conf'
uci commit


Die OpenVPN-Konfigurationsdatei

/etc/openvpn/funkfeuer.conf:

dev             tap-ff
dev-type        tap
proto           udp
remote          78.41.115.16
port            [5XXX]
up-delay
down-pre
up-restart
# comp-lzo #lassen wir aus Kompatibilitätsgrunden aus
script-security 2
nobind
ping 10
ping-restart 60
ping-timer-rem
fast-io
sndbuf  524288 
rcvbuf  524288
txqueuelen 1000
mute 2
verb 0
secret /etc/openvpn/funkfeuer.secret
auth none
cipher none
up "/etc/openvpn/scripts/funkfeuer-ifupdown.sh"
down "/etc/openvpn/scripts/funkfeuer-ifupdown.sh"

Das Secret

Die Datei /etc/openvpn/funkfeuer.secret enthält den Key, den Du vom Tunneladmin erhalten hast - Beispielsweise:


#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
61eaa6a0731c1114b92d98f4c71bc547
a79050f1f888bb87c84355adbe916a8a
b1e0cdd74f516b654c9542e46ea3216c
f65bdb1fdad755022d73a1b35821f46e
c9da48afb8feb3564f3d2de97a690fa9
90ca9b2ddcedc842ee88a1f085c9b3e7
518c8c9ae9a43ce64dc6c55789115652
964af121b3097dddaf0f12a72981a25f
4790575a0254f93e13ca4176433a0e8f
2d526b12280766b32ef37737199c2d6e
e1b006e9432a26a131cef64833421461
ca6ae34349b3088c3a00e3ad6b024e6b
fba26277c3818a99fa32f6be4480b075
525f81b302b527c2e95fff90a4268fe6
f067a05b484f4ea77e57afcf53c2c0b1
79be9d144c9ac7aa874d3d248f6e5b35
-----END OpenVPN Static key V1-----

Das ifupdown-Skript

Das Skript-Verzeichnis anlegen

mkdir -p /etc/openvpn/scripts

/etc/openvpn/scripts/funkfeuer-ifupdown.sh

#!/bin/sh
logger "$dev $script_type"
br=br-ff
case "$script_type" in
       up)
               /sbin/brctl addif $br $dev
               /sbin/ip link set $br promisc on
               /sbin/ip link set $dev up
       ;;
       down)
               /sbin/ip link set $dev down 
               /sbin/ip link set $br promisc off
               /sbin/brctl delif $br $dev 
       ;;
       *)
esac
exit 0

Das Skript ausführbar machen

chmod +x /etc/openvpn/scripts/funkfeuer-ifupdown.sh