OpenVPN mit LEDE/OpenWRT oder „Bubbles“: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
Diese Anleitung unterscheidet sich nicht besonders von dem, was wir für Debian oder für den EdgeRouter brauchen.
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.
Voraussetzung ist ein OpenWRT-Build mit bridge-utils, iproute2 und openvpn.
Wir legen auf OpenWRT eine Bridge ohne Interfaces an, konfigurieren OpenVPN und legen ein ifup-down-Skript für den Tunnel an. OLSR läuft auf der Bridge.
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:
Paketvorschlag:
luci-app-openvpn luci-i18n-openvpn-de openvpn-mbedtls ip-full  
luci-app-openvpn luci-i18n-openvpn-de openvpn-mbedtls ip-full  


Bridge anlegen über die Konsole:
 
== 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=interface
  uci set network.ff.ifname='ff'
  uci set network.ff.ifname='ff'
Zeile 15: Zeile 17:
  uci set network.ff.ipaddr='[FUNKFEUER-IP-ADRESSE-AUS-REDEEMER]'
  uci set network.ff.ipaddr='[FUNKFEUER-IP-ADRESSE-AUS-REDEEMER]'
  uci set network.ff.netmask='255.255.255.255'
  uci set network.ff.netmask='255.255.255.255'
uci set network.ff.empty_bridge='1'
  uci commit
  uci commit


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


[Ergänzen ... OLSR mittels UCI konfigurieren ...]
== Auf die OpenVPN-Konfigurationsdatei verweisen ==
 
Die Datei /etc/config/openvpn soll beinhalten:
/etc/config/openvpn:
  config openvpn 'Funkfeuer'
  config openvpn 'Funkfeuer'
  option enabled '1'
  option enabled '1'
  option config '/etc/openvpn/funkfeuer.conf'
  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:
/etc/openvpn/funkfeuer.conf:
  dev            tap-ff
  dev            tap-ff
Zeile 43: Zeile 54:
  sndbuf  524288  
  sndbuf  524288  
  rcvbuf  524288
  rcvbuf  524288
txqueuelen 1000
  mute 2
  mute 2
  verb 0
  verb 0
Zeile 51: Zeile 63:
  down "/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-----


/etc/openvpn/funkfeuer.secret:
== Das ifupdown-Skript ==
=== Das Skript-Verzeichnis anlegen ===
mkdir -p /etc/openvpn/scripts


 
=== /etc/openvpn/scripts/funkfeuer-ifupdown.sh ===
/etc/openvpn/scripts/funkfeuer-ifupdown.sh:
  #!/bin/sh
  #!/bin/sh
  logger "$dev $script_type"
  logger "$dev $script_type"
Zeile 74: Zeile 112:
  esac
  esac
  exit 0
  exit 0
=== Das Skript ausführbar machen ===
chmod +x /etc/openvpn/scripts/funkfeuer-ifupdown.sh

Aktuelle Version vom 17. Juni 2019, 12:20 Uhr

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