OpenWRT mit OpenVPN

From Lugor_Wiki

Jump to: navigation, search

Die Linksys-WLAN-Router lassen sich mit alternativer Firmware betreiben und bieten dann zusätzliche interessante Möglichkeiten. Dieser Artikel bezieht sich auf einen Linksys WRT54GL v1.1. Bei anderen Modellen muss unter Umständen ein anderes Image gewählt werden!

Inhaltsverzeichnis

Firmware flashen

Wir setzen den Router zurück, indem wir den Reset-Knopf gedrückt halten und das Gerät dabei einschalten. Es ist nun über die IP-Adresse 192.168.1.1 im Webbrowser [1] erreichbar. Ohne Benutzername und mit Passwort "admin" gelangen wir in die Konfiguration und führen dort ein Firmware-Update mit dem Openwrt Image Kamikaze 8.09.2 [2] durch. Wir verwenden einen Kernel 2.4.x, da das WLAN mit den 2.6.x Kerneln nicht funktioniert. Neue Versionen von Openwrt benötigen leider zu viel Platz auf dem Flash-Speicher, so ist die Installation von OpenVPN nicht mehr möglich.

Erste Schritte

Wir loggen uns per telnet auf dem Router ein:

telnet 192.168.1.1

ändern das Passwort:

passwd

und loggen uns dann mit Ctrl-D aus. Anschließend sollten wir uns per ssh verbinden können:

ssh root@192.168.1.1

Nun stellen wir das Netzwerk so ein, dass der Router selbst Internetzugang hat.

route add default gw <IP-Adresse>
echo "nameserver <nameserver>" > /etc/resolv.conf

Nun sollten externe Server erreichbar sein.

ping google.de

Software installieren

Inzwischen sollte auch wieder ein Webinterface [3] erreichbar sein. Wir loggen uns mit dem zuvor gesetzten Passwort ein und wechseln recht oben den Modus zu "Administration". Unter "System" -> "Software" können wir nun ein Update der Paketlisten durchführen und dann Openvpn installieren.

Openvpn konfigurieren

In unserer ssh-Session konfigurieren wir nun Openvpn.

mkdir -p /etc/openvpn/lugor

Die privater Schlüssel und Zertifikal sowie das CA-Zertifikal müssen in dieses Verzeichnis kopiert werden, das geschieht am Besten per scp. Die Konfiguration erstellen:

cat >/etc/openvpn/lugor.conf <<EOF 
client
dev tap
proto udp
remote 80.190.246.237 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca lugor/ca.crt
cert lugor/<name>.crt
key lugor/<name>.key
comp-lzo
verb 3
route 192.168.0.0 255.255.0.0 tun0
EOF

Das Initscript erstellen:

cat > /etc/rc.d/S46openvpn <<EOF
#!/bin/sh

cd /etc/openvpn
openvpn --config lugor.conf &
EOF

und ausführbar machen:

chmod 0755 /etc/rc.d/S46openvpn

Wir fügen der Netzwerkkonfiguration ein neues Interface hinzu:

cat >> /etc/config/network <<EOF 

config interface vpn
       option proto none
       option auto 1
       option ifname tun0
EOF

um damit die Firewall einstellen zu können:

cat >> /etc/config/firewall <<EOF

config zone
       option name vpn
       option input   ACCEPT
       option output  ACCEPT
       option forward ACCEPT

config forwarding                  
       option dest vpn            
       option src  lan

EOF

Die Daten werden mit einem

uci commit

übernommen.

Abschließende Schritte

Über die Weboberfläche löschen wir nun das Gateway und den Nameserver unter "Network" -> "Interfaces" -> "LAN" und stellen unter "Network" -> "Interfaces" -> "WAN" den Internetzugang ein.

Außerdem ist es sinnvoll unter "Network" -> "Hostnames" den Namen der Routers aussagekräftig einzustellen.

Für eine korrekte Funktion müssen wir noch Openvpn und Firewall (neu) starten:

/etc/init.d/firewall restart
/etc/rc.d/S46openvpn start

Alternativ reicht es auch das Gerät einmal aus- und wieder einzuschalten oder neu zu starten:

reboot
Persönliche Werkzeuge