OpenWRT mit OpenVPN
From Lugor_Wiki
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
