openwrt | OpenVPN mit Weboberfläche unter OpenWRT

Wie ich schon hier und hier geschrie­ben habe, nutze ich auf mei­nem Rou­ter Open­WRT. Haupt­ziel mei­ner ande­ren Arti­kel war, auf­zu­zei­gen, wie man sich ein eige­nes Image für den Rou­ter bauen kann. In die­sem Arti­kel möchte ich nun zei­gen, wie man sich ein Open­WRT Image bauen kann mit dem man OpenVPN über eine Webober­flä­che kon­fi­gu­rie­ren und steu­ern kann.

Auf dem Host-System, auf dem man das Image kom­pi­liert, muss man nach

make menuconfig

zuerst das rich­tige Paket installieren

Nach dem das Image wie in dem Arti­kel Open­WRT und eige­nes Image bauen kom­pi­liert ist und das Image auf dem Rou­ter instal­liert wurde, kann man über die Webober­flä­che auf den Rou­ter zugreifen.

Im Administrations-Menü unter Ser­vices fin­det man den Menü­punkt openvpn.

Ich denke, die Webober­flä­che ist selbst­er­klä­rend und werde des­we­gen nicht näher dar­auf ein­ge­hen. Hier kann man die Kon­fi­gu­ra­tion sei­nes VPN-Tunnels vor­neh­men — egal ob der Rou­ter als VPN-Server oder VPN-Client fun­gie­ren soll. Nach­dem man seine OpenVPN Kon­fi­gu­ra­tion zusam­men­ge­stellt hat und den VPN Tun­nel auf­baut, wird man fest­stel­len, das es noch nicht rich­tig funk­tio­niert. Es feh­len noch einige kleine Details, damit man auf das hin­ter dem OpenVPN-Router lie­gende Netz­werk zugrei­fen kann, da zur Zeit die Fire­wall das VPN-Netz noch nicht kennt.

Zuerst muss ein neues Netzwerk-Interface für den VPN-Tunnel ange­legt werden:

uci set network.vpn=interface
uci set network.vpn.proto=none
uci set network.vpn.auto=1
uci set network.vpn.ifname=tun0
uci commit network

Anschlie­ßend eine neue Fire­wall Zone eingerichtet:

uci add firewall zone
uci set firewall.@zone[2].name=vpn
uci set firewall.@zone[2].forward=ACCEPT
uci set firewall.@zone[2].input=ACCEPT
uci set firewall.@zone[2].output=ACCEPT
uci commit

Und abschlie­ßend wird defi­niert, zwi­schen wel­chen Fire­wall Zonen über­haupt Traf­fic flie­ßen darf.

uci add firewall forwarding
uci set firewall.@forwarding[1].dest=vpn
uci set firewall.@forwarding[1].src=lan
uci commit

Wer mehr dar­über erfah­ren will, was man mit UCI alles anstel­len kann, den kann ich nur auf die Befehls­re­fe­renz ver­wei­sen.

Nun feh­len nur noch die Firewall-Einträge

iptables -A input_rule -i tun+ -j ACCEPT
iptables -A forwarding_rule -i tun+ -j ACCEPT
iptables -A forwarding_rule -o tun+ -j ACCEPT
iptables -A output_rule -o tun+ -j ACCEPT

dies alles in die Datei /etc/firewall.user ein­ge­tra­gen und schon funk­tio­niert der VPN-Tunnel wie er soll.

Konn­tet Ihr das nach­voll­zie­hen? Was ist mög­li­cher­weise noch unklar? Habt Ihr Ver­bes­se­rungs­vor­schläge? Dann nutzt bitte die Kom­men­tar­funk­tion.

Ähnli­che Arti­kel zu die­sem Thema:

  1. open­wrt | Back­fire und OpenVPN
  2. open­wrt | Open­WRT als VM
  3. debian | Open­WRT und eige­nes Image bauen
  4. open­wrt | Kom­pi­lie­rungs­um­ge­bung aktualisieren
  5. net | SSH mit Tun­neln nutzen

    • Rensky
    • 2. Jun. 2010 8:08pm

    Hey, dein Arti­kel klingt ja ganz Inter­es­sant aber du kannst doch nicht »hier« als Lin­k­name ver­wen­den. Der Satz ver­liert ja total an Bedeu­tung und es ließt sich doch bes­ser wenn da steht, »Wie ich schon im Arti­kel debian-openwrt-eigenes-image bauen.

    René

    • Danke Rensky und ja, Du hast ja Recht, ich ver­su­che mich zu bes­sern, ok?! :)

      Schreib doch mal, ob es nach­voll­zieh­bar war und ob es Dir geklappt hat.

  1. 1. Jun. 2010
:) :( ;) :mrgreen: :lol: :roll: :idea: :oops: more »