Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


exit-vpn

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
exit-vpn [05.12.2015 21:51] – angelegt havelockexit-vpn [22.01.2017 15:14] (aktuell) – [Exit-VPN] havelock
Zeile 1: Zeile 1:
 ====== Exit-VPN ====== ====== Exit-VPN ======
  
 +Normalerweise wird das VPN mit [[OpenVPN]] gemacht, also erstmal das installieren:
  
-Normalerweise wird das VPN mit OpenVPN gemacht, also erstmal das installieren: +<code>
 aptitude install openvpn aptitude install openvpn
 +</code>
  
-===== Mullvad =====+**Wichtiger Hinweis:**  
 +Immer sicherstellen, daß in der Konfiguration die Option ''**route-noexec**'' 
 +eingestellt ist. Damit wird insbesondere keine Default-Route über das Exit-VPN 
 +gesetzt. Vergißt man die Einstellung und startet die VPN-Verbindung, so schließt 
 +man sich vom Server aus. Dann hilft meistens nur noch Booten in den Rettungsmodus.
  
 +IPv6-Unterstützung:
 +  * Mullvad: ja
 +  * Earthvpn: nein, aber für Ende 2016 angekündigt
 +  * ovpn.to: ja
  
-Mullvad kostet 5€ je Monat. Am besten einen Briefumschlag nehmen, die Mullvad-ID auf eine A4-Seite drucken, einen Geldschein hineinlegen. Frankieren mit 80ct und nach Schweden senden. Schön anonym :-)+===== OpenVPN allgemein =====
  
-Die Dateien für Mullvad werden direkt in das Verzeichnis /etc/openvpn abgelegt: +  * Der zu verwendende Exit wird in ''/etc/default/openvpn'' festgelegt 
-ca.crtcrl.pemmullvad.crtmullvad.keysowie mullvad.conf+  * Der dort eingetragene Name kennzeichnet die Konfigurationsdatei unter ''etc/openvpn''für die zu verwendende Datei wird das Suffix ''.conf'' angehängt 
 +  * Jedes ExitVPN wird in einem eigenen Unterverzeichnis verwaltetunter ''/etc/openvpn'' befinden sich nur Links zu den jewKonfiguraionsdateien 
 +  * Das Land und der Server für das ExitVPN sind von Bedeutungkönnen jedoch nicht automatisch ermittelt werdenDie passende Stelle für die Erfassung dieser Daten ist die Konfigurtionsdatei für den jeweiligen OpenVPN-Tunnel. 
 +    * In der ersten Zeile der Konfigurationsdatei wird das verwendete Land eingetragen. Das ist dann für Scripte auswertbarz.B. für Alfred. In der zweiten Zeile wird der Name des Servers angegeben.<file /etc/openvpn/beispiel.conf
 +## ExitCountry = NL 
 +## ExitServer = NL4 
 +[...] 
 +</file> 
 +    * Wenn alle Gateways die aktuell in Verwendung befindlichen Verbindungen kennen, können Sie sig ggf. aus einem Pool eine freie, noch nicht verwendete Verbindung suchen aund auf diese umschalten. 
  
-mullvad.conf+++++ Up- und Down Scripte | 
 +<file bash /etc/openvpn/exitvpn-up> 
 +#!/bin/bash
  
-    client +# Freifunk Community Pinneberg 
-    dev-type tun +# Automatisierung Exit-VPN
-    dev mullvad +
-    proto udp +
-    remote nl.mullvad.net +
-    resolv-retry infinite +
-    nobind +
-    persist-key +
-    persist-tun +
-    comp-lzo +
-    verb 3 +
-    remote-cert-tls server +
-    ping-restart 60 +
-    script-security 2 +
-    route-noexec +
-    up /etc/openvpn/mullvad-up +
-    ping 10 +
-    ca /etc/openvpn/ca.crt +
-    cert /etc/openvpn/mullvad.crt +
-    key /etc/openvpn/mullvad.key+
  
-mullvad-up+ip route replace 0.0.0.0/1 via $4 table freifunk 
 +ip route replace 128.0.0.0/1 via $4 table freifunk
  
-    #!/bin/sh +Prüfe, ob Parameter angegeben sind$1 ist der Provider. 
-    ip route replace 0.0.0.0/1 via $4 table 42 +# Falls nicht, versuche den Provider aus der Konfiguration zu ermitteln 
-    ip route replace 128.0.0.0/1 via $4 table 42 +if [ $# -eq ]; then 
-    exit 0+    VPNCONF=$(grep -e "^AUTOSTART=" /etc/default/openvpn) 
 +    PROVIDER=$(sed -e 's/^"//' -e 's/"$//' <<< ${VPNCONF#*=}) 
 +else 
 +    PROVIDER=$1 
 +fi
  
-===== EarthVPN =====+# Masquerading Regel überprüfen und ggf. korrigieren 
 +FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head  -n 1 | awk '{$1=$1};1'
 +NATIF=$(echo "$FWRULE" | cut -d' ' -f 8) 
 +RULENO=$(echo "$FWRULE" | cut -d' ' -f 1)
  
 +if [ "$NATIF" != "$PROVIDER" ]; then
 +    logger -t  exitvpn[$$] "change firewall interface from '$NATIF' to '$PROVIDER' (rule #$RULENO)"
 +    iptables -t nat -D POSTROUTING $RULENO
 +    iptables -t nat -A POSTROUTING -o $PROVIDER -j MASQUERADE
 +fi
 +
 +exit 0
 +</file>
 +
 +<file bash /etc/openvpn/exitvpn-down>
 +#!/bin/bash
 +
 +# Prüfe, ob Parameter angegeben sind. $1 ist der Provider.
 +# Falls nicht, versuche den Provider aus der Konfiguration zu ermitteln
 +if [ $# -eq 0 ]; then
 +    VPNCONF=$(grep -e "^AUTOSTART=" /etc/default/openvpn)
 +    PROVIDER=$(sed -e 's/^"//' -e 's/"$//' <<< ${VPNCONF#*=})
 +else
 +    PROVIDER=$1
 +fi
 +
 +# Masquerading Regel entfernen
 +FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head  -n 1 | awk '{$1=$1};1')
 +NATIF=$(echo "$FWRULE" | cut -d' ' -f 8)
 +RULENO=$(echo "$FWRULE" | cut -d' ' -f 1)
 +
 +if [ "$NATIF" == "$PROVIDER" ]; then
 +    logger -t  exitvpn[$$] "removing firewall interface '$NATIF' (rule #$RULENO)"
 +    iptables -t nat -D POSTROUTING $RULENO
 +fi
 +
 +exit 0
 +</file>
 +++++
 +
 +===== Mullvad =====
 +
 +Mullvad kostet 5€ je Monat. Am besten einen Briefumschlag nehmen, die Mullvad-ID auf eine A4-Seite drucken, einen Geldschein hineinlegen. Frankieren mit 90ct und nach Schweden senden. Schön anonym :-)
 +
 +Die Dateien für Mullvad werden in das Verzeichnis ''/etc/openvpn/mullvad'' abgelegt:
 +''ca.crt'', ''crl.pem'', ''mullvad.crt'', ''mullvad.key'', sowie ''mullvad.conf''
 +
 +Im Normalfall genutzt von ''gate03'' und ''gate05''.
 +
 +++++ Beispielkonfiguration Mullvad |
 +<file conf mullvad.conf>
 +## ExitCountry = NL
 +client
 +dev-type tun
 +dev mullvad
 +proto udp
 +remote nl.mullvad.net
 +resolv-retry infinite
 +nobind
 +persist-key
 +persist-tun
 +comp-lzo
 +verb 3
 +remote-cert-tls server
 +ping-restart 60
 +script-security 2
 +route-noexec
 +up /etc/openvpn/exitvpn-up
 +down /etc/openvpn/exitvpn-down
 +ping 10
 +ca /etc/openvpn/mullvad/ca.crt
 +cert /etc/openvpn/mullvad/mullvad.crt
 +key /etc/openvpn/mullvad/mullvad.key
 +</file>
 +++++
 +
 +===== EarthVPN =====
  
 Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt. Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt.
Zeile 51: Zeile 132:
 http://www.earthvpn.com/ http://www.earthvpn.com/
  
-Dieser VPN-Zugang wird momentanvon gate01 genutzt.+Earthvpn Certificate Authority (CA):  
 +  wget http://www.earthvpn.com/downloads/earthvpn.crt 
 + 
 +Im Normalfall genutzt von ''gate01''. 
 + 
 +++++ Beispielkonfiguration Earthvpn | 
 +<file conf earthvpn.conf>## ExitCountry = CH 
 +client 
 +dev-type tun 
 +dev earthvpn 
 +proto udp 
 +remote zur-ch.earthvpn.com 1194 
 +resolv-retry infinite 
 +nobind 
 +persist-key 
 +persist-tun 
 +ca /etc/openvpn/earthvpn/earthvpn.crt 
 +auth-user-pass /etc/openvpn/earthvpn/secret.dat 
 +# auth-nocache 
 +remote-cert-tls server 
 +# reneg-sec 0 
 +reneg-sec 7200 
 +verb 3 
 +auth SHA1 
 +cipher AES-128-CBC 
 +ping 10 
 +ping-restart 60 
 +auth-retry nointeract 
 +route-noexec 
 +script-security 2 
 +up /etc/openvpn/exitvpn-up 
 +down /etc/openvpn/exitvpn-down 
 +mute-replay-warnings 
 +</file> 
 +++++
  
 ===== oVPN.to ===== ===== oVPN.to =====
  
-genutzt von ...+Dieser Zugang wurde 2015 für ein Jahr gesponsert, 2016 ebenfalls. 
 + 
 +Im Normalfall genutzt von ''gate04''
 + 
 +++++ Beispielkonfiguration ovpn.to | 
 +<file conf se1.ovpn.to.conf> 
 +## ExitCountry = SE 
 +# oVPN.to Server (se1.ovpn.to) Configuration built 2016-09-13 09:09:41 
 +
 +#### Allowed for Edit - oVPN-Client55314 Settings 
 +verb 3 
 + 
 +#### Server Settings (dont change anything down here!) 
 +dev-type tun 
 +dev ovpn.to 
 +explicit-exit-notify 1 
 +remote 193.105.134.118 443 
 +proto udp 
 +client 
 +nobind 
 +mute-replay-warnings 
 +persist-tun 
 +persist-remote-ip 
 +resolv-retry infinite 
 +comp-lzo no 
 +auth SHA512 
 +remote-cert-tls server 
 +ns-cert-type server 
 +topology subnet 
 +cipher AES-256-CBC 
 +fragment 1340 
 +mssfix 
 +tls-version-min 1.
 +#STRONG TLSv1.
 +tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
  
 +#### Linux Part
 +ca "/etc/openvpn/se1.ovpn.to/se1.ovpn.to.crt"
 +cert "/etc/openvpn/se1.ovpn.to/client55314.crt"
 +key "/etc/openvpn/se1.ovpn.to/client55314.key"
 +tls-auth "/etc/openvpn/se1.ovpn.to/se1.ovpn.to.key" 1
 +#--INFO-- openvpn with user+group setting is unable to delete your routes on openvpn-stop!
 +#user openvpn
 +#group openvpn
 +#--INFO-- Use update-resolv-conf to FIX DNSLEAK! See https://wiki.archlinux.org/index.php/OpenVPN#DNS for Details! Works with ALL LINUX!!
 +route-noexec
 +script-security 2
 +up /etc/openvpn/exitvpn-up
 +down /etc/openvpn/exitvpn-down
 +#up /etc/openvpn/update-resolv-conf
 +#down /etc/openvpn/update-resolv-conf
 +#### Linux Special / Experimental Options
 +#fast-io
 +#nice -10
 +#mtu-disc yes
 +# oVPN-Config se1.ovpn.to END
 +</file>
 +++++
  
exit-vpn.1449348706.txt.gz · Zuletzt geändert: 05.12.2015 21:51 von havelock