Firmware:VPN/DS9: Unterschied zwischen den Versionen

Aus Freifunk Rheinland e.V.
Zur Navigation springen Zur Suche springen
K (Vorstand verlinkt)
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 39: Zeile 39:


Per "vi /etc/openvpn/ds9.conf"
Per "vi /etc/openvpn/ds9.conf"
Inhalt:
Inhalt:
client
<pre>
remote ds9.freifunk-rheinland.net
client
comp-lzo
script-security 2
dev tunff
remote ds9.freifunk-rheinland.net
remote-cert-tls server
route-nopull
ca /etc/openvpn/ds9.ca
comp-lzo
auth-user-pass /etc/openvpn/ds9.txt
dev tunff
 
remote-cert-tls server
ca /etc/openvpn/ds9.ca
up /etc/openvpn/tunff-up.sh
down /etc/openvpn/tunff-down.sh
auth-user-pass /etc/openvpn/ds9.txt
</pre>


* Passwort-Datei anlegen:
* Passwort-Datei anlegen:
Zeile 58: Zeile 62:


* VPN Konfiguration in UCI aktivieren.
* VPN Konfiguration in UCI aktivieren.
  uci set openvpn.custom_config.enable=1
  uci set openvpn.custom_config.enabled=1
  uci set openvpn.custom_config.config=/etc/openvpn/ds9.conf
  uci set openvpn.custom_config.config=/etc/openvpn/ds9.conf
  uci commit openvpn
  uci commit openvpn
Zeile 66: Zeile 70:
Per "vi /etc/firewall.user"
Per "vi /etc/firewall.user"


  #openvpn
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 tunff -j ACCEPT
  iptables -I FORWARD -i br-mesh -o tunff -j ACCEPT
  iptables -I FORWARD -i tunff -o br-mesh -j ACCEPT
  iptables -I FORWARD -i tunff -o br-mesh -j ACCEPT
Zeile 72: Zeile 87:
  iptables -A INPUT -i tunff -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  iptables -A INPUT -i tunff -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  iptables -A INPUT -i tunff -j REJECT
  iptables -A INPUT -i tunff -j REJECT
# Traffic vom Mesh über das normale Wan-Interface unterbinden
iptables -D FORWARD -i br-mesh -o $wan_iface -j ACCEPT
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.
Wenn man den Router nicht restarten möchte müssen die Befehle auch einmal ausgeführt werden.

Aktuelle Version vom 1. September 2013, 14:39 Uhr

In diesem Beispiel wird ein Benutzerkonto bei DS9 genutzt.

Einrichtung

  • per SSH auf dem Router einloggen


Folgendes Zertifikat auf dem Router unter /etc/openvpn/ds9.ca ablegen:

-----BEGIN CERTIFICATE-----
MIID7DCCA1WgAwIBAgIJAKi66ix+0cwqMA0GCSqGSIb3DQEBBQUAMIGrMQswCQYD
VQQGEwJERTEMMAoGA1UECBMDTlJXMRQwEgYDVQQHEwtEdWVzc2VsZG9yZjEgMB4G
A1UEChMXRnJlaWZ1bmsgUmhlaW5sYW5kIGUuVi4xFDASBgNVBAsTC1ZQTiB0ZXN0
aW5nMQwwCgYDVQQDEwNkczkxDDAKBgNVBCkTA2RzOTEkMCIGCSqGSIb3DQEJARYV
bm9tYXN0ZXJAY2hhb3Nkb3JmLmRlMB4XDTEyMTIxMDE2MTcwOFoXDTIyMTIwODE2
MTcwOFowgasxCzAJBgNVBAYTAkRFMQwwCgYDVQQIEwNOUlcxFDASBgNVBAcTC0R1
ZXNzZWxkb3JmMSAwHgYDVQQKExdGcmVpZnVuayBSaGVpbmxhbmQgZS5WLjEUMBIG
A1UECxMLVlBOIHRlc3RpbmcxDDAKBgNVBAMTA2RzOTEMMAoGA1UEKRMDZHM5MSQw
IgYJKoZIhvcNAQkBFhVub21hc3RlckBjaGFvc2RvcmYuZGUwgZ8wDQYJKoZIhvcN
AQEBBQADgY0AMIGJAoGBAL0W05y7iOOI75B+iJIWzHKV7Qs9SGG1jICGZDNYBs98
0KsxkHjeOE1ier2r/t5kJefW/GhOo0eqrWLJrLw7z1G6AKm0fxjPgeiuO7kgCAzU
hHydC9yW/eM5NDYxq7hep3PlmtMuELOCsJr0K9/Osx3GxD3yhi+QRO6ftApEYY+n
AgMBAAGjggEUMIIBEDAdBgNVHQ4EFgQUpOCOm8Tgv5x2rx/A1nP11uwGyuowgeAG
A1UdIwSB2DCB1YAUpOCOm8Tgv5x2rx/A1nP11uwGyuqhgbGkga4wgasxCzAJBgNV
BAYTAkRFMQwwCgYDVQQIEwNOUlcxFDASBgNVBAcTC0R1ZXNzZWxkb3JmMSAwHgYD
VQQKExdGcmVpZnVuayBSaGVpbmxhbmQgZS5WLjEUMBIGA1UECxMLVlBOIHRlc3Rp
bmcxDDAKBgNVBAMTA2RzOTEMMAoGA1UEKRMDZHM5MSQwIgYJKoZIhvcNAQkBFhVu
b21hc3RlckBjaGFvc2RvcmYuZGWCCQCouuosftHMKjAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBAIZLqR9IXiYA9OjurY9W0w09jqX2wqsI+XGCCxs2vxcC
oIcI5pSPZUrlMlxuR9CK1loiknll8JLTJ2et8E8KRrH6Lxbqa9UO97zvVoPEBH3q
YmoZmUWHno6leNjbnXNP5DVKs2VGV6GqqMZQdN9JrE76DECsXKd9goOCCTIdPAwe
-----END CERTIFICATE-----
  • Config anlegen

Per "vi /etc/openvpn/ds9.conf" Inhalt:

client
script-security 2
remote ds9.freifunk-rheinland.net
route-nopull
comp-lzo
dev tunff
remote-cert-tls server
ca /etc/openvpn/ds9.ca
up /etc/openvpn/tunff-up.sh
down /etc/openvpn/tunff-down.sh
auth-user-pass /etc/openvpn/ds9.txt
  • Passwort-Datei anlegen:

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

username
passwort
  • VPN Konfiguration in UCI aktivieren.
uci set openvpn.custom_config.enabled=1
uci set openvpn.custom_config.config=/etc/openvpn/ds9.conf
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 tunff -j ACCEPT
iptables -I FORWARD -i tunff -o br-mesh -j ACCEPT
iptables -t nat -A POSTROUTING -o tunff -j MASQUERADE
iptables -A INPUT -i tunff -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i tunff -j REJECT
# Traffic vom Mesh über das normale Wan-Interface unterbinden
iptables -D FORWARD -i br-mesh -o $wan_iface -j ACCEPT
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