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

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
exit-vpn [24.09.2016 07:27] – [oVPN.to] 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> <code>
Zeile 12: Zeile 12:
 gesetzt. Vergißt man die Einstellung und startet die VPN-Verbindung, so schließt 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. 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
 +
 +===== OpenVPN allgemein =====
 +
 +  * Der zu verwendende Exit wird in ''/etc/default/openvpn'' festgelegt
 +  * 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 verwaltet, unter ''/etc/openvpn'' befinden sich nur Links zu den jew. Konfiguraionsdateien
 +  * Das Land und der Server für das ExitVPN sind von Bedeutung, können jedoch nicht automatisch ermittelt werden. Die 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 auswertbar, z.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. 
 +
 +++++ Up- und Down Scripte |
 +<file bash /etc/openvpn/exitvpn-up>
 +#!/bin/bash
 +
 +# Freifunk Community Pinneberg
 +# Automatisierung Exit-VPN
 +
 +ip route replace 0.0.0.0/1 via $4 table freifunk
 +ip route replace 128.0.0.0/1 via $4 table freifunk
 +
 +# 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 ü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 =====
  
Zeile 19: Zeile 97:
 ''ca.crt'', ''crl.pem'', ''mullvad.crt'', ''mullvad.key'', sowie ''mullvad.conf'' ''ca.crt'', ''crl.pem'', ''mullvad.crt'', ''mullvad.key'', sowie ''mullvad.conf''
  
 +Im Normalfall genutzt von ''gate03'' und ''gate05''.
 +
 +++++ Beispielkonfiguration Mullvad |
 <file conf mullvad.conf> <file conf mullvad.conf>
 +## ExitCountry = NL
 client client
 dev-type tun dev-type tun
Zeile 36: Zeile 118:
 route-noexec route-noexec
 up /etc/openvpn/exitvpn-up up /etc/openvpn/exitvpn-up
 +down /etc/openvpn/exitvpn-down
 ping 10 ping 10
 ca /etc/openvpn/mullvad/ca.crt ca /etc/openvpn/mullvad/ca.crt
Zeile 41: Zeile 124:
 key /etc/openvpn/mullvad/mullvad.key key /etc/openvpn/mullvad/mullvad.key
 </file> </file>
- +++++
-<file exitvpn-up> +
-#!/bin/sh +
-ip route replace 0.0.0.0/1 via $4 table freifunk +
-ip route replace 128.0.0.0/1 via $4 table freifunk +
-exit 0 +
-</file>+
  
 ===== EarthVPN ===== ===== EarthVPN =====
- 
  
 Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt. Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt.
Zeile 56: 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 =====
Zeile 62: Zeile 172:
 Dieser Zugang wurde 2015 für ein Jahr gesponsert, 2016 ebenfalls. Dieser Zugang wurde 2015 für ein Jahr gesponsert, 2016 ebenfalls.
  
-Aktuell genutzt von ''gate03''.+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.2 
 +#STRONG TLSv1.2 
 +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"
 +#--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.1474694821.txt.gz · Zuletzt geändert: 24.09.2016 07:27 von havelock