Potsdam-VPN: Unterschied zwischen den Versionen

Aus Freifunk Potsdam | Wiki
Zur Navigation springen Zur Suche springen
(n2n config dokumentiert)
(Openvpn im PdmVPN wird noch unterstützt, ist aber veraltet)
 
(59 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das Potsdam-VPN ist ein Intra-City-VPN, das dazu dient, um Inseln zusammenzuführen.
Das Potsdam-VPN ist ein Intra-City-VPN, das dazu dient, Inseln zusammenzuführen.


__TOC__
__TOC__


== Client einrichten ==
==Client einrichten (OpenVPN) (alt)==
== Server aufsetzen ==
===Zertifikat beantragen===
=== Keys generieren ===
Um ein Zertifikat zum Potsdam-VPN für deinen Freifunkrouter zu erhalten, schicke bitte eine Email mit folgenden Angaben an ''[https://lists.freifunk-potsdam.de/cgi-bin/mailman/listinfo/users users@lists.freifunk-potsdam.de]''.
=== OpenVPN einrichten ===
=== N2N für Server-zu-Server Kommunikation ===
mit N2N bilden wir ein P2P-VPN zwischen den verschiedenen Servern
* mindestens eine Supernode wird benötigt, um eine initiale Verbindung zum P2P-VPN herzustellen
supernode -l 7654 -v
* Verbindung zum P2P-VPN herstellen
N2N_KEY="***key***" edge -b -f -d n2n0 -c pdmvpn -u 99 -g 99 -m CA:FF:EE:BA:BE:0<span style="color:red">X</span> -a 172.22.250.<span style="color:red">X</span> -l vpn.freifunk-potsdam.de:7654


=== OLSR kompilieren und installieren ===
[mailto:users@lists.freifunk-potsdam.de?subject=PdmVPN%20f%C3%BCr%20Routername&body=Hallo%20Zertifikatsgeber%2C%0D%0A%0D%0Asende%20mir%20bitte%20ein%20Potsdam-VPN-Zertifikat%5B0%5D%20f%C3%BCr%20meinen%20Knoten%20Routername%20an%20Emailadresse.%0D%0A%0D%0AViele%20Gr%C3%BC%C3%9Fe%2C%0D%0A%0D%0A%0D%0A%5B0%5D%3A%20https%3A%2F%2Fwiki.freifunk-potsdam.de%2FPotsdam-VPN Für die E-Mail hier klicken]
# apt-get install git build-essential bison flex libgps-dev
# git clone -b drophna_plugin https://github.com/seth0r/olsrd.git
# cd olsrd/
# make && make libs && make install && make libs_install
# vim /etc/olsrd/olsrd.conf


RtTable        111
'''Betreff:'''PdmVPN für ''Routername''<br>
RtTableDefault  112
'''Inhalt''':
Hallo Zertifikatsgeber,
#RtTableTunnel  113
 
#RtTableTunnelPriority 100000
sende mir bitte ein Zertifikat für meinen Knoten ''Routername'' an ''Emailadresse''.
SmartGateway no
 
SmartGatewayUplink "none"
===Potsdam-VPN auf Router einrichten===
 
DebugLevel      0
Nachdem die E-Mail mit einem Zertifikat beantwortet wurde, kann der Router mit dem VPN bespielt werden.
 
Interface "tap0"
====OpenVPN einrichten====
{
 
    Mode    "ether"
Zuerst richten wir das OpenVPN ein, damit der Router sich verbinden kann. Falls der Menüpunkt Services/OpenVPN nicht vorhanden ist, folgende Pakete über die Paketverwaltung nachinstallieren und den Router neu starten: luci-app-openvpn, luci-i18n-openvpn-en und openvpn-openssl
    Ip4Broadcast                255.255.255.255
 
    LinkQualityMult            default 0.25
Auf der Kommandozeile:
 
    HelloInterval              3.0
  opkg update && opkg install luci-app-openvpn luci-i18n-openvpn-en openvpn-openssl && exec reboot
    HelloValidityTime          125.0
 
    TcInterval                  2.0
*Unter Services/OpenVPN eine neue "Client configuration for an ethernet bridge VPN" namens "pdmvpn" anlegen.
    TcValidityTime              500.0
 
    MidInterval                25.0
[[Datei:1-vpn_anlegen.png|VPN anlegen]]
    MidValidityTime            500.0
 
    HnaInterval                10.0
*auf "Switch to advanced configuration" klicken
    HnaValidityTime            125.0
*unter Networking folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
  }
**'''port''': 1195
**'''dev''': pdmvpn
Interface "n2n0"
**'''dev_type''': tap
{
**'''tun_mtu''': 1300
    Mode    "ether"
**'''comp_lzo''': no
    Ip4Broadcast                255.255.255.255
*Speichern
    LinkQualityMult            default 1.0
*unter VPN folgende Einstellungen vornehmen.
**'''remote''': vpn.freifunk-potsdam.de
    HelloInterval              3.0
*Speichern
    HelloValidityTime          125.0
*unter Cryptography folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
    TcInterval                  2.0
**'''cipher''': none
    TcValidityTime              500.0
**'''ca''': ca.crt hochladen
    MidInterval                25.0
**'''cert''': <span style="color:red">$client$</span>.crt hochladen
    MidValidityTime            500.0
**'''key''': <span style="color:red">$client$</span>.key hochladen
    HnaInterval                10.0
*Speichern & Anwenden
    HnaValidityTime            125.0
 
}
====Interface konfigurieren====
 
Hna4
Hier richten wir die Schnittstelle ein, an der der Verkehr über das VPN vom Router entgegen genommen wird.
{
 
    172.22.250.0    255.255.255.0
*Unter Network/Interfaces ein neues Interface names PDMVPN anlegen.
    172.22.25<span style="color:red">X</span>.0    255.255.255.0
**Protocoll ist Unmanaged oder Ignoriert
}
**als Device das soeben eingerichtete Device "pdmvpn" auswählen. Beim ersten Einrichten existiert das Device vielleicht nicht. Wenn es nicht existiert, kann der Name unten eingegeben werden.
*Submit
LinkQualityFishEye 1
*Das neue Interface der Firewallgruppe "Freifunk" hinzufügen.
LinkQualityAlgorithm "etx_ffeth"
*Speichern und Anwenden (Save & Apply)
IpVersion      4
*unter Services/OpenVPN das pdmvpn aktivieren und starten. Es müsste jetzt laufen. "Started" "Yes"
ClearScreen    yes
 
AllowNoInt      yes
====OLSR konfigurieren====
Willingness    3
 
UseHysteresis  no
Nachdem wir nun Verkehr über das VPN schicken, wird es Zeit, sich automatisch über OLSR auszutauschen, welche Router wir über das VPN erreichen können.
LinkQualityLevel        2
 
Pollrate        0.1
*unter Services/OLSR IPv4 das PDMVPN Interface hinzufügen:
TcRedundancy    2
**Add
MprCoverage    5
**PDMVPN auswählen
**'''Modus''': mesh
LoadPlugin "olsrd_jsoninfo.so.1.1"
**Linkqualitäteinstellungen: LQ-Algorithmus: etx_ffeth
{
**Speichern & Anwenden
        PlParam "Port" "8080"
 
}
====Bilder====
 
LoadPlugin "olsrd_nameservice.so.0.4"
<br />
{
<gallery mode="packed">
    PlParam "name" "pdmvpn<span style="color:red">X</span>"
2-vpn_settings2.png|VPN Networking Settings
    PlParam "suffix" ".olsr"
3-vpn_settings3.png|VPN VPN Settings
    PlParam "hosts-file" "/tmp/hosts.olsr"
4-vpn_settings4.png|VPN Cryptography Settings
}
5-vpn-interface1.png|Interface anlegen
6-vpn-interface2.png|Firewallgruppe ändern
LoadPlugin "olsrd_drophna.so.0.0.0"
7-vpn-olsr1.png|OLSR Interface hinzufügen
{
</gallery>
}
 
====Überprüfen====
 
Wenn das Meshing über das VPN läuft, dann kann man bei ''Status'' -> ''OLSR'' -> ''Nachbarn'' folgendes sehen:
 
Neighbour IP Hostname Interface
172.22.251.1 pdmvpn-a.olsr undefined
 
Wenn nicht, nochmal die VPN-Einstellungen und OLSR überprüfen, ein Reboot des Routers kann auch helfen. Die ETX sollte sich bei etwa 2,5 stabilisieren.
 
 
====Diskussionen====
 
Auf der Potsdamer Mailingliste gibt es folgende Diskussionen:
 
*[https://lists.freifunk-potsdam.de/pipermail/users/2018-March/018515.html Welches OpenVPN?] - Eine Diskussion zur Installation von Paketen unter der Firmware-Version Hedy.
 
 
[[Kategorie:Technik]]
[[Kategorie:Netz]]

Aktuelle Version vom 13. April 2020, 11:41 Uhr

Das Potsdam-VPN ist ein Intra-City-VPN, das dazu dient, Inseln zusammenzuführen.

Client einrichten (OpenVPN) (alt)

Zertifikat beantragen

Um ein Zertifikat zum Potsdam-VPN für deinen Freifunkrouter zu erhalten, schicke bitte eine Email mit folgenden Angaben an users@lists.freifunk-potsdam.de.

Für die E-Mail hier klicken

Betreff:PdmVPN für Routername
Inhalt: Hallo Zertifikatsgeber,

sende mir bitte ein Zertifikat für meinen Knoten Routername an Emailadresse.

Potsdam-VPN auf Router einrichten

Nachdem die E-Mail mit einem Zertifikat beantwortet wurde, kann der Router mit dem VPN bespielt werden.

OpenVPN einrichten

Zuerst richten wir das OpenVPN ein, damit der Router sich verbinden kann. Falls der Menüpunkt Services/OpenVPN nicht vorhanden ist, folgende Pakete über die Paketverwaltung nachinstallieren und den Router neu starten: luci-app-openvpn, luci-i18n-openvpn-en und openvpn-openssl

Auf der Kommandozeile:

opkg update && opkg install luci-app-openvpn luci-i18n-openvpn-en openvpn-openssl && exec reboot
  • Unter Services/OpenVPN eine neue "Client configuration for an ethernet bridge VPN" namens "pdmvpn" anlegen.

VPN anlegen

  • auf "Switch to advanced configuration" klicken
  • unter Networking folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
    • port: 1195
    • dev: pdmvpn
    • dev_type: tap
    • tun_mtu: 1300
    • comp_lzo: no
  • Speichern
  • unter VPN folgende Einstellungen vornehmen.
    • remote: vpn.freifunk-potsdam.de
  • Speichern
  • unter Cryptography folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
    • cipher: none
    • ca: ca.crt hochladen
    • cert: $client$.crt hochladen
    • key: $client$.key hochladen
  • Speichern & Anwenden

Interface konfigurieren

Hier richten wir die Schnittstelle ein, an der der Verkehr über das VPN vom Router entgegen genommen wird.

  • Unter Network/Interfaces ein neues Interface names PDMVPN anlegen.
    • Protocoll ist Unmanaged oder Ignoriert
    • als Device das soeben eingerichtete Device "pdmvpn" auswählen. Beim ersten Einrichten existiert das Device vielleicht nicht. Wenn es nicht existiert, kann der Name unten eingegeben werden.
  • Submit
  • Das neue Interface der Firewallgruppe "Freifunk" hinzufügen.
  • Speichern und Anwenden (Save & Apply)
  • unter Services/OpenVPN das pdmvpn aktivieren und starten. Es müsste jetzt laufen. "Started" "Yes"

OLSR konfigurieren

Nachdem wir nun Verkehr über das VPN schicken, wird es Zeit, sich automatisch über OLSR auszutauschen, welche Router wir über das VPN erreichen können.

  • unter Services/OLSR IPv4 das PDMVPN Interface hinzufügen:
    • Add
    • PDMVPN auswählen
    • Modus: mesh
    • Linkqualitäteinstellungen: LQ-Algorithmus: etx_ffeth
    • Speichern & Anwenden

Bilder


Überprüfen

Wenn das Meshing über das VPN läuft, dann kann man bei Status -> OLSR -> Nachbarn folgendes sehen:

Neighbour IP 	Hostname 	Interface
172.22.251.1	pdmvpn-a.olsr	undefined

Wenn nicht, nochmal die VPN-Einstellungen und OLSR überprüfen, ein Reboot des Routers kann auch helfen. Die ETX sollte sich bei etwa 2,5 stabilisieren.


Diskussionen

Auf der Potsdamer Mailingliste gibt es folgende Diskussionen:

  • Welches OpenVPN? - Eine Diskussion zur Installation von Paketen unter der Firmware-Version Hedy.