openwrt | OpenVPN mit Weboberfläche unter OpenWRT

Wie ich schon hier und hier geschrieben habe, nutze ich auf meinem Router OpenWRT. Hauptziel meiner anderen Artikel war, aufzuzeigen, wie man sich ein eigenes Image für den Router bauen kann. In diesem Artikel möchte ich nun zeigen, wie man sich ein OpenWRT Image bauen kann mit dem man OpenVPN über eine Weboberfläche konfigurieren und steuern kann.

Auf dem Host-System, auf dem man das Image kompiliert, muss man nach

zuerst das richtige Paket installieren

Nach dem das Image wie in dem Artikel OpenWRT und eigenes Image bauen kompiliert ist und das Image auf dem Router installiert wurde, kann man über die Weboberfläche auf den Router zugreifen.

Im Administrations-Menü unter Services findet man den Menüpunkt openvpn.

Ich denke, die Weboberfläche ist selbsterklärend und werde deswegen nicht näher darauf eingehen. Hier kann man die Konfiguration seines VPN-Tunnels vornehmen – egal ob der Router als VPN-Server oder VPN-Client fungieren soll. Nachdem man seine OpenVPN Konfiguration zusammengestellt hat und den VPN Tunnel aufbaut, wird man feststellen, das es noch nicht richtig funktioniert. Es fehlen noch einige kleine Details, damit man auf das hinter dem OpenVPN-Router liegende Netzwerk zugreifen kann, da zur Zeit die Firewall das VPN-Netz noch nicht kennt.

Zuerst muss ein neues Netzwerk-Interface für den VPN-Tunnel angelegt werden:

Anschließend eine neue Firewall Zone eingerichtet:

Und abschließend wird definiert, zwischen welchen Firewall Zonen überhaupt Traffic fließen darf.

Wer mehr darüber erfahren will, was man mit UCI alles anstellen kann, den kann ich nur auf die Befehlsreferenz verweisen.

Nun fehlen nur noch die Firewall-Einträge

dies alles in die Datei /etc/firewall.user eingetragen und schon funktioniert der VPN-Tunnel wie er soll.

Konntet Ihr das nachvollziehen? Was ist möglicherweise noch unklar? Habt Ihr Verbesserungsvorschläge? Dann nutzt bitte die Kommentarfunktion.

24. Januar 2010 von controlc.de
Kategorien: netzwerk, openwrt | Schlagwörter: , , , , , , , , | 8 Kommentare

Kommentare (8)

  1. Pingback: openwrt | Backfire und OpenVPN | controlc.de

  2. Hey, dein Artikel klingt ja ganz Interessant aber du kannst doch nicht “hier” als Linkname verwenden. Der Satz verliert ja total an Bedeutung und es ließt sich doch besser wenn da steht, “Wie ich schon im Artikel debian-openwrt-eigenes-image bauen.

    René

    • Danke Rensky und ja, Du hast ja Recht, ich versuche mich zu bessern, ok?! :)

      Schreib doch mal, ob es nachvollziehbar war und ob es Dir geklappt hat.

  3. Hallo!
    Versuche nun schon seit ein paar Tagen ein OpenWRT mit OpenVPN + GUI auf meinem DSL-584T zum laufen zu bringen. Leider hat bisher keins meiner selbst kompilierten Images funktioniert, zudem habe ich Probleme auf die erfordliche Größe zu kommen. Passt ja leider nur 3MB(?) rein.
    Welche Pakete hast du in menuconfig alle aus bzw. abgewählt das es bei dir funktioniert?

    • Hallo Phil,
      da hast Du ja einen Router mit relativ wenig Flash-Speicher. Der von mir verwendete ASUS WL-500gP hat 8MB Flash und da passt schon einiges rein. Alternativ kann ich beim ASUS auch noch nen USB-Stick dranstecken und darauf noch größere Pakete installieren. Aber ok, das hilft Dir nicht weiter.
      Ich muss gestehen, dass ich inzwischen kein OpenVPN mehr benutze sondern “xl2tpd over ipsec” – dass aber auch nicht mehr auf nem OpenWRT. Welche Pakete Du also nehmen sollst, kann ich Dir leider nicht sagen. Aber: Versuche am besten nicht so viele Dinge (wie z.B. OpenVPN) fest ins Image einzubinden sondern lieber als Modul “” – damit bleibt das Grundimage klein und du kannst entweder ein eigenes Repository im OpenWRT definieren und zum installieren benutzen oder aber die zu installierenden Pakete nach /tmp auf den Router zu übertragen und via “opkg install /tmp/XXX.ikg” zu installieren.
      Ich hoffe das hilft Dir weiter ansonsten meld dich nochmal :)

  4. Besten Dank für die Antwort, konnte mein Problem mittlerweile allerdings lösen.
    Als Paket nachinstallieren kam für mich nicht in Frage da dabei mehr Speicher verbraucht wird als wenn es direkt im Image steckt (irgendwo bei OpenWrt gelesen).
    Für alle anderen die eventuell Probleme haben:
    Unbedingt ein x86 alias 32-bit Linux verwenden! Dabei ist zu beachten das ein 32(!)-bittiges Debian einen x64(!) Kernel benutzt.
    Letztendlich hatte ich unter einem 32-bit LinuxMint mit dem ImageBuilder erfolg. Denke das selbst kompilieren nun auch klappt – habe ich allerdins nicht getestet.

  5. Danke Phil für das Update. Interessant ist für mich die Aussage, dass ein Paket mehr Speicherplatz braucht als in ein Image eingebaut – hast Du dafür einen Link? Ich konnte auf die Schnelle nix finden. Was ich definitiv nicht unterschreiben kann ist Deine Aussage, dass ein 32bit-Debian einen 64bit-Kernel verwendet. Das kann und darf nicht sein. Vielleicht ist da nur was beim Kompilieren falsch gelaufen oder eine Variable war falsch gesetzt?! Ich selber nutze ein x86-Squeeze für jegliche Crosscompile-Geschichten und hatte damit nie Probleme.
    Aber wichtig ist ja für Dich, dass Du eine Lösung für Dich gefunden hast :)

  6. http://wiki.openwrt.org/doc/howto/obtain.firmware.generate
    ziemlich weit oben, ich zitiere mal “Embedding packages directly into the SquashFS to reduce space requirements on the target”, verstehe ich jedenfalls so wie oben geschrieben.

    Die Debian Distro hatte ich mir direkt von deren Seite gezogen. Aufmerksam geworden auf das “Problem” bin ich durch die Installation der VirtualBox Additions. Konnte das auch nicht glauben und dachte ich hätte das falsche Image verwendet, war aber tatsächlich so, i386 Debian mit x64 Kernel..

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert


+ 2 = elf