Potsdam-VPN: Unterschied zwischen den Versionen

Aus Freifunk Potsdam | Wiki
Zur Navigation springen Zur Suche springen
(eigenen fork von olsrd)
(Openvpn im PdmVPN wird noch unterstützt, ist aber veraltet)
 
(60 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 ===
=== OLSR kompilieren und installieren ===
# 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
[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]
RtTableDefault  112
 
'''Betreff:'''PdmVPN für ''Routername''<br>
#RtTableTunnel  113
'''Inhalt''':
#RtTableTunnelPriority 100000
Hallo Zertifikatsgeber,
SmartGateway no
 
SmartGatewayUplink "none"
sende mir bitte ein Zertifikat für meinen Knoten ''Routername'' an ''Emailadresse''.
 
DebugLevel      0
===Potsdam-VPN auf Router einrichten===
 
Interface "tap0"
Nachdem die E-Mail mit einem Zertifikat beantwortet wurde, kann der Router mit dem VPN bespielt werden.
{
 
    Mode    "ether"
====OpenVPN einrichten====
    Ip4Broadcast                255.255.255.255
 
    LinkQualityMult            default 0.25
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
 
    HelloInterval              3.0
Auf der Kommandozeile:
    HelloValidityTime          125.0
 
    TcInterval                  2.0
  opkg update && opkg install luci-app-openvpn luci-i18n-openvpn-en openvpn-openssl && exec reboot
    TcValidityTime              500.0
 
    MidInterval                25.0
*Unter Services/OpenVPN eine neue "Client configuration for an ethernet bridge VPN" namens "pdmvpn" anlegen.
    MidValidityTime            500.0
 
    HnaInterval                10.0
[[Datei:1-vpn_anlegen.png|VPN anlegen]]
    HnaValidityTime            125.0
 
  }
*auf "Switch to advanced configuration" klicken
*unter Networking folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
Interface "n2n0"
**'''port''': 1195
{
**'''dev''': pdmvpn
    Mode    "ether"
**'''dev_type''': tap
    Ip4Broadcast                255.255.255.255
**'''tun_mtu''': 1300
    LinkQualityMult            default 1.0
**'''comp_lzo''': no
*Speichern
    HelloInterval              3.0
*unter VPN folgende Einstellungen vornehmen.
    HelloValidityTime          125.0
**'''remote''': vpn.freifunk-potsdam.de
    TcInterval                  2.0
*Speichern
    TcValidityTime              500.0
*unter Cryptography folgende Einstellungen vornehmen. Einige Felder müssen zuerst hinzugefügt werden.
    MidInterval                25.0
**'''cipher''': none
    MidValidityTime            500.0
**'''ca''': ca.crt hochladen
    HnaInterval                10.0
**'''cert''': <span style="color:red">$client$</span>.crt hochladen
    HnaValidityTime            125.0
**'''key''': <span style="color:red">$client$</span>.key hochladen
}
*Speichern & Anwenden
 
Hna4
====Interface konfigurieren====
{
 
    172.22.250.0    255.255.255.0
Hier richten wir die Schnittstelle ein, an der der Verkehr über das VPN vom Router entgegen genommen wird.
    172.22.25<span style="color:red">X</span>.0    255.255.255.0
 
}
*Unter Network/Interfaces ein neues Interface names PDMVPN anlegen.
**Protocoll ist Unmanaged oder Ignoriert
LinkQualityFishEye 1
**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.
LinkQualityAlgorithm "etx_ffeth"
*Submit
IpVersion      4
*Das neue Interface der Firewallgruppe "Freifunk" hinzufügen.
ClearScreen    yes
*Speichern und Anwenden (Save & Apply)
AllowNoInt      yes
*unter Services/OpenVPN das pdmvpn aktivieren und starten. Es müsste jetzt laufen. "Started" "Yes"
Willingness    3
 
UseHysteresis  no
====OLSR konfigurieren====
LinkQualityLevel        2
 
Pollrate        0.1
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.
TcRedundancy    2
 
MprCoverage    5
*unter Services/OLSR IPv4 das PDMVPN Interface hinzufügen:
**Add
LoadPlugin "olsrd_jsoninfo.so.1.1"
**PDMVPN auswählen
{
**'''Modus''': mesh
        PlParam "Port" "8080"
**Linkqualitäteinstellungen: LQ-Algorithmus: etx_ffeth
}
**Speichern & Anwenden
 
LoadPlugin "olsrd_nameservice.so.0.4"
====Bilder====
{
 
    PlParam "name" "pdmvpn<span style="color:red">X</span>"
<br />
    PlParam "suffix" ".olsr"
<gallery mode="packed">
    PlParam "hosts-file" "/tmp/hosts.olsr"
2-vpn_settings2.png|VPN Networking Settings
}
3-vpn_settings3.png|VPN VPN Settings
4-vpn_settings4.png|VPN Cryptography Settings
LoadPlugin "olsrd_drophna.so.0.0.0"
5-vpn-interface1.png|Interface anlegen
{
6-vpn-interface2.png|Firewallgruppe ändern
}
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, 10: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.