Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
exit-vpn [24.09.2016 07:33] – [Exit-VPN] havelock | exit-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: |
< | < | ||
Zeile 12: | Zeile 12: | ||
gesetzt. Vergißt man die Einstellung und startet die VPN-Verbindung, | gesetzt. Vergißt man die Einstellung und startet die VPN-Verbindung, | ||
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 ===== | ===== OpenVPN allgemein ===== | ||
Zeile 18: | Zeile 23: | ||
* Der dort eingetragene Name kennzeichnet die Konfigurationsdatei unter '' | * Der dort eingetragene Name kennzeichnet die Konfigurationsdatei unter '' | ||
* Jedes ExitVPN wird in einem eigenen Unterverzeichnis verwaltet, unter ''/ | * Jedes ExitVPN wird in einem eigenen Unterverzeichnis verwaltet, unter ''/ | ||
- | * In der ersten Zeile der Konfigurationsdatei wird das verwendete Land eingetragen. Das ist dann für Scripte auswertbar. Z.B. für Alfred. | + | |
+ | | ||
+ | ## ExitCountry = NL | ||
+ | ## ExitServer = NL4 | ||
+ | [...] | ||
+ | </ | ||
+ | * 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 / | ||
+ | # | ||
+ | |||
+ | # 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 " | ||
+ | PROVIDER=$(sed -e ' | ||
+ | else | ||
+ | PROVIDER=$1 | ||
+ | fi | ||
+ | |||
+ | # Masquerading Regel überprüfen und ggf. korrigieren | ||
+ | FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head -n 1 | awk ' | ||
+ | NATIF=$(echo " | ||
+ | RULENO=$(echo " | ||
+ | |||
+ | if [ " | ||
+ | logger -t exitvpn[$$] " | ||
+ | iptables -t nat -D POSTROUTING $RULENO | ||
+ | iptables -t nat -A POSTROUTING -o $PROVIDER -j MASQUERADE | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | <file 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 " | ||
+ | PROVIDER=$(sed -e ' | ||
+ | else | ||
+ | PROVIDER=$1 | ||
+ | fi | ||
+ | |||
+ | # Masquerading Regel entfernen | ||
+ | FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head -n 1 | awk ' | ||
+ | NATIF=$(echo " | ||
+ | RULENO=$(echo " | ||
+ | |||
+ | if [ " | ||
+ | logger -t exitvpn[$$] " | ||
+ | iptables -t nat -D POSTROUTING $RULENO | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | ++++ | ||
===== Mullvad ===== | ===== Mullvad ===== | ||
Zeile 26: | Zeile 97: | ||
'' | '' | ||
+ | Im Normalfall genutzt von '' | ||
+ | |||
+ | ++++ Beispielkonfiguration Mullvad | | ||
<file conf mullvad.conf> | <file conf mullvad.conf> | ||
## ExitCountry = NL | ## ExitCountry = NL | ||
Zeile 44: | Zeile 118: | ||
route-noexec | route-noexec | ||
up / | up / | ||
+ | down / | ||
ping 10 | ping 10 | ||
ca / | ca / | ||
Zeile 49: | Zeile 124: | ||
key / | key / | ||
</ | </ | ||
- | + | ++++ | |
- | <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 | + | |
- | </ | + | |
===== EarthVPN ===== | ===== EarthVPN ===== | ||
- | |||
Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt. | Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt. | ||
Zeile 64: | Zeile 132: | ||
http:// | http:// | ||
- | Dieser VPN-Zugang wird momentanvon gate01 | + | Earthvpn Certificate Authority (CA): |
+ | wget http:// | ||
+ | |||
+ | Im Normalfall | ||
+ | |||
+ | ++++ Beispielkonfiguration Earthvpn | | ||
+ | <file conf earthvpn.conf>## | ||
+ | client | ||
+ | dev-type tun | ||
+ | dev earthvpn | ||
+ | proto udp | ||
+ | remote zur-ch.earthvpn.com 1194 | ||
+ | resolv-retry infinite | ||
+ | nobind | ||
+ | persist-key | ||
+ | persist-tun | ||
+ | ca / | ||
+ | auth-user-pass / | ||
+ | # 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 / | ||
+ | down / | ||
+ | mute-replay-warnings | ||
+ | </ | ||
+ | ++++ | ||
===== oVPN.to ===== | ===== oVPN.to ===== | ||
Zeile 70: | 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 | + | Im Normalfall |
+ | |||
+ | ++++ 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 "/ | ||
+ | cert "/ | ||
+ | key "/ | ||
+ | tls-auth "/ | ||
+ | #--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:// | ||
+ | route-noexec | ||
+ | script-security 2 | ||
+ | up / | ||
+ | down / | ||
+ | #up / | ||
+ | #down / | ||
+ | #### Linux Special / Experimental Options | ||
+ | #fast-io | ||
+ | #nice -10 | ||
+ | #mtu-disc yes | ||
+ | # oVPN-Config se1.ovpn.to END | ||
+ | </ | ||
+ | ++++ | ||