Firmware:VPN/VPNTunnelSE

Aus Freifunk Rheinland e.V.
Zur Navigation springen Zur Suche springen

In diesem Beispiel wird ein Benutzerkonto bei vpntunnel.se genutzt.

Einrichtung

  • VPN-Zugang besorgen
  • per SSH auf dem Router einloggen
  • Zertifikate herunterladen und entpacken

Link: https://controlpanel.vpntunnel.com/downloads/cert.zip

Das ca.cert auf dem Router unter /etc/openvpn/ca.crt ablegen.

  • Config anlegen

Per "vi /etc/openvpn/vpntunnel.cfg"

Inhalt:

float
client
script-security 2
dev tun
proto udp
nobind
; CERT
ca /etc/openvpn/ca.crt
ns-cert-type server
cipher BF-CBC
; HOST
remote-random
remote anna.vpntunnel.se 10010
remote anna.vpntunnel.se 10020
remote anna.vpntunnel.se 1194

;resolv-retry infinite
; AUTH
auth-user-pass /etc/openvpn/passwort.txt
# Do not pull routes as we set them up ourself!
route-nopull
up /etc/openvpn/tunff-up.sh
down /etc/openvpn/tunff-down.sh
persist-key
persist-tun
comp-lzo
verb 0
  • Passwort-Datei anlegen:

Die Datei besteht nur aus zwei Zeilen, Name und Passwort. Per "vi /etc/openvpn/passwort.txt"

username
passwort
  • VPN Konfiguration in UCI aktivieren.
uci set openvpn.custom_config.enabled=1
uci set openvpn.custom_config.config=/etc/openvpn/vpntunnel.cfg
uci commit openvpn
  • Firewall anpassen

Per "vi /etc/firewall.user"

get_iface () {
        local interface=$1
        local iface=$(uci get network.$interface.ifname)
        local type=$(uci -q get network.$interface.type)
        [ "bridge" = "$type" ] && iface="br-$interface"
        echo $iface
}

# Wan Interface
wan_iface=$(get_iface wan)

# OpenVPN Traffic forwarden und masquerading aktivieren
iptables -I FORWARD -i br-mesh -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br-mesh -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A INPUT -i tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i tun0 -j REJECT
# Traffic vom Mesh über das normale Wan-Interface unterbinden
iptables -I FORWARD -i br-mesh -o $wan_iface -j DROP


Wenn man den Router nicht restarten möchte müssen die Befehle auch einmal ausgeführt werden.

  • openvpn beim Booten automatisch starten lassen
/etc/init.d/openvpn enable
  • Den Tunnel starten
/etc/init.d/openvpn start
  • ggf. Router neu starten
reboot

Diverse Befehle

  • Dienst neu starten
/etc/init.d/openvpn stop
/etc/init.d/openvpn start