OpenVPN mit EdgeRouter X-SFP: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Zur Navigation springen Zur Suche springen
(Übersichtlichkeit erhöht)
Zeile 1: Zeile 1:
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 [[Hardware/EdgeRouter_X-SFP EdgeRouter ein.
 
Update 02/2018: ein EdgeOS-Wizard hierfür ist in Entwicklung: https://github.com/pocki80/ER-wizard-0xFF-OpenVPN2TS
 
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.
 
Update 02/2018: ein EdgeOS-Wizard hiefür ist in Entwicklung: https://github.com/pocki80/ER-wizard-0xFF-OpenVPN2TS


== Einrichten des Tunnels ==
== 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:
Empfohlen wird, die Konfigurationsdateien und das Skript zuerst auf dem Computer anzulegen, und diese gemeinsam in der Folge per SSH ins Verzeichnis /config/user-data/ zu kopieren. Alternativ ü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:
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:
Zeile 31: Zeile 27:
  mute 2
  mute 2
  verb 0
  verb 0
up "/config/user-data/funkfeuer-ifupdown.sh"
down "/config/user-data/funkfeuer-ifupdown.sh"
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 silent"
  up "/config/user-data/funkfeuer-ifupdown.sh silent"
  down "/config/user-data/funkfeuer-ifupdown.sh silent"
  down "/config/user-data/funkfeuer-ifupdown.sh silent"
Wurde für Deinen Tunnel bereits ein shared key/secret angelegt, benötigst Du zusätzlich folgende Zeilen:
  secret /config/user-data/funkfeuer.secret
  secret /config/user-data/funkfeuer.secret
  cipher none
  cipher none
Sowie
  auth none
  auth none
alternativ
oder
cipher none
  auth SHA256
  auth SHA256


Zeile 57: Zeile 44:
3) funkfeuer-ifupdown.sh
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 im vorgesehenen Modus läuft. Diese Vorgehensweise ist nicht sonderlich schön, aber sie funktioniert. Wir arbeiten an einer besseren Lösung. Leg Die Datei mit folgendem Inhalt an und mach sie ausführbar.
Dieses Skript sorgt dafür, dass das Tunnel-Interface, nachdem es gestartet wurde, in die richtige Bridge gelegt wird, auf der bereits OLSR im vorgesehenen Modus läuft.  
Leg Die Datei mit folgendem Inhalt an und mach sie ausführbar.
----
----


Zeile 82: Zeile 70:
                 /sbin/ip link set $br promisc off
                 /sbin/ip link set $br promisc off
                 /sbin/brctl delif $br $dev
                 /sbin/brctl delif $br $dev
         ;;
         ;;
         *)
         *)
  esac
  esac
  exit 0
  exit 0
chmod +x funkfeuer-ifupdown.sh


3) Folgende Config am EdgeRouter vornehmen (lokalen Gateway für Static-Route entsprechend ändern)
3) Folgende Config am EdgeRouter vornehmen (lokalen Gateway für Static-Route entsprechend ändern)
Zeile 104: Zeile 88:
  set protocols static route 78.41.115.16/32 next-hop 192.168.0.1 description 'TunnelServer via ISP'
  set protocols static route 78.41.115.16/32 next-hop 192.168.0.1 description 'TunnelServer via ISP'
  set interfaces openvpn vtun0 config-file /config/user-data/funkfeuer.ovpn
  set interfaces openvpn vtun0 config-file /config/user-data/funkfeuer.ovpn
chmod +x /config/user-data/funkfeuer-ifupdown.sh
  commit
  commit
  save
  save


3) Im OLSRd_V1 Wizard das interface br9=silent, br8=ether oder br7=mesh für OLSR aktivieren
4) Im OLSRd_V1 Wizard das Interface br9=silent, br8=ether oder br7=mesh für OLSR aktivieren

Version vom 9. August 2019, 12:51 Uhr

Die allgemeinen Voraussetzungen zum Einrichten eines Tunnels sind in der Übersichtsseite dargestellt. Dieser Artikel geht nur auf die rudimentäre Konfiguration des [[Hardware/EdgeRouter_X-SFP EdgeRouter ein. Update 02/2018: ein EdgeOS-Wizard hierfür ist in Entwicklung: https://github.com/pocki80/ER-wizard-0xFF-OpenVPN2TS

Einrichten des Tunnels

Empfohlen wird, die Konfigurationsdateien und das Skript zuerst auf dem Computer anzulegen, und diese gemeinsam in der Folge per SSH ins Verzeichnis /config/user-data/ zu kopieren. Alternativ ü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.16
port            [5XXX]
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 silent"
down "/config/user-data/funkfeuer-ifupdown.sh silent"
secret /config/user-data/funkfeuer.secret
cipher none

Sowie

auth none

oder

auth SHA256

2) funkfeuer.secret - wenn ein Key angelegt wurde, wie in 1) beschrieben.

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 im vorgesehenen Modus läuft. Leg Die Datei mit folgendem Inhalt an und mach sie ausführbar.


#!/bin/sh
logger "$dev $script_type"
case "$1" 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
       ;;
       down)
               /sbin/ip link set $dev down 
               /sbin/ip link set $br promisc off
               /sbin/brctl delif $br $dev
       ;;
       *)
esac
exit 0

3) Folgende Config am EdgeRouter vornehmen (lokalen Gateway für Static-Route entsprechend ändern)

set interfaces bridge br9 address 78.41.000.000/32
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.16/32 next-hop 192.168.0.1 description 'TunnelServer via ISP'
set interfaces openvpn vtun0 config-file /config/user-data/funkfeuer.ovpn
chmod +x /config/user-data/funkfeuer-ifupdown.sh
commit
save

4) Im OLSRd_V1 Wizard das Interface br9=silent, br8=ether oder br7=mesh für OLSR aktivieren