OpenWRT - mein Setup

This page is also available in English

Für mein Heimnetzwerk verwende ich einen Router mit OpenWRT. Meine Anforderungen an den Router sind dabei im Wesentlichen die folgenden Aufgaben: 

  • Der Zugriff ├╝ber Ethernet und WLAN ins Internet
  • Eine M├Âglichkeit das ben├Âtigte Datenvolumen der einzelnen Ger├Ąte aktuell und historisch anzuzeigen.
  • Der Zugriff von unterwegs auf mein Heimnetzwerk: VPN

Als Hardware verwende ich einen Linksys WRT3200ACM und als zus├Ątzlichen Access Point einen NETGEAR WAC104 in einer gemeinsamen Mobility-Domain: siehe: HeimNetzwerk einrichten: LAN und WLAN erweitern | verbessern und Unterbrechungsfreies WLAN: Roaming (Fast Transition). Wer auf der Suche nach einer geeigneten Hardware ist, k├Ânnte hier f├╝ndig werden: OpenWRT Hardware Empfehlung - verf├╝gbare Ger├Ąte 2023.

Aktuelle OpenWRT-Version: 22.03.3 (gefunden: 10.01.2023)

Softwarepakete

Nachdem bei einem Upgrade die Softwarepakete erneut aktiviert werden m├╝ssen, habe ich mir ein paar Zeilen Code zusammengestellt um den Router wieder auf Stand zu bringen:

opkg update && opkg install openvpn-openssl luci-app-openvpn block-mount e2fsprogs kmod-fs-ext4 kmod-usb3 kmod-usb2 kmod-usb-storage bandwidthd-pgsql luci-app-sqm luci-app-advanced-reboot luci-app-attendedsysupgrade
block detect > /etc/config/fstab 
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].check_fs='1' && uci commit 
/sbin/block mount

Details zum Upgrade-Prozess, siehe: OpenWrt Upgrade

OpenVPN - Setup

OpenVPN kann am schnellsten ├╝ber folgende Befehle eingerichtet werden:

opkg update
opkg install openvpn-openssl openvpn-easy-rsa
build-ca
build-dh
build-key-server libe
cp /etc/easy-rsa/keys/ca.crt /etc/easy-rsa/keys/libe.* /etc/easy-rsa/keys/dh2048.pem /etc/openvpn
uci set network.vpn0=interface
uci set network.vpn0.ifname=tun0
uci set network.vpn0.proto=none
uci set network.vpn0.auto=1
uci set firewall.Allow_OpenVPN_Inbound=rule
uci set firewall.Allow_OpenVPN_Inbound.target=ACCEPT
uci set firewall.Allow_OpenVPN_Inbound.src=*
uci set firewall.Allow_OpenVPN_Inbound.proto=udp
uci set firewall.Allow_OpenVPN_Inbound.dest_port=1194
uci set firewall.vpn=zone
uci set firewall.vpn.name=vpn
uci set firewall.vpn.network=vpn0
uci set firewall.vpn.input=ACCEPT
uci set firewall.vpn.forward=REJECT
uci set firewall.vpn.output=ACCEPT
uci set firewall.vpn.masq=1
uci set firewall.vpn_forwarding_lan_in=forwarding
uci set firewall.vpn_forwarding_lan_in.src=vpn
uci set firewall.vpn_forwarding_lan_in.dest=lan

uci set firewall.vpn_forwarding_wan=forwarding
uci set firewall.vpn_forwarding_wan.src=vpn
uci set firewall.vpn_forwarding_wan.dest=wan

uci commit network
/etc/init.d/network reload
uci commit firewall
/etc/init.d/firewall reload

echo > /etc/config/openvpn # clear the openvpn uci config
uci set openvpn.myvpn=openvpn
uci set openvpn.myvpn.enabled=1
uci set openvpn.myvpn.verb=3
uci set openvpn.myvpn.port=1194
uci set openvpn.myvpn.proto=udp
uci set openvpn.myvpn.dev=tun
uci set openvpn.myvpn.server='10.8.0.0 255.255.255.0'
uci set openvpn.myvpn.keepalive='10 120'
uci set openvpn.myvpn.ca=/etc/openvpn/ca.crt
uci set openvpn.myvpn.cert=/etc/openvpn/libe.crt
uci set openvpn.myvpn.key=/etc/openvpn/libe.key
uci set openvpn.myvpn.dh=/etc/openvpn/dh2048.pem
uci commit openvpn

Um Clients den Zugriff mittels VPN zu erm├Âglichen, k├Ânnen ├╝ber den Befehl build-key-pkcs12 die notwendigen Files erstellt werden:

Client

Den Befehl build-key-pkcs12 habe ich auf meinem Ubuntu-Rechner ausgeführt und die Keys im Anschluss mittles scp auf den Router kopiert: 

 build-key-pkcs12 myclient
 scp root@192.168.0.2:/etc/easy-rsa/keys/myclient.* /media/temp/vpn
 scp root@192.168.0.2:/etc/easy-rsa/keys/ca.crt /media/temp/vpn

Client-DNS-Einstellungen

Damit der DHCP-Server einen anderen DNS-Server f├╝r die Clients verwendet, k├Ânnen alternative DNS-Server in den DHCP-Options mitgegeben werden:

Als Beispiel: Option 6 die Google DNS-Server 8.8.8.8 und 8.8.4.4:

6,8.8.8.8,8.8.4.4

IPv6 DHCP deaktiviert

OpenWrt vs. DDWRT

siehe auch: Alternative Router Firmware: OpenWrt und nicht mehr DD-WRT

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f├╝r deine Bewertung!

Aktualisiert: 10.01.2023 von Bernhard ­čöö


Top-Artikel in diesem Bereich


IP Adressen im Netzwerk finden, auch wenn deren Firewall aktiviert ist
Wer einen schnellen ├ťberblick ├╝ber alle aktiven Ger├Ąte in einem Netzwerk bekommen will, kann dies mit der Netzwerkerkennung, mit Befehlen in der Eingabeaufforderung, in PowerShell oder mit speziellen IP-Scannern. Die zu Beginn dieses Beitrages zusammengestellten PowerShell-Befehle geben einen schnellen ├ťberblick ├╝ber alle Ger├Ąte im lokalen Netzwerk und machen spezielle Programme f├╝r das Scannen des Netzwerks eventuell ├╝berfl├╝ssig. Wer die Befehle gerne in Aktion sehen will, kann dies in meinem Y...

PING mit Port - Windows cmd | PowerShell: Test-Netconnection
Mit dem Tool Ping kann bekanntlich der Zugriff zu einem bestimmten Netzwerkger├Ąt und dessen Antwortzeit getestet werden. Nicht alle Ger├Ąte antworten auf einen Ping, m├Âglicherweise aber auf einen bestimmten TCP-Port, vorausgesetzt, es wird dar├╝ber ein bestimmter Netzwerkservice zur Verf├╝gung gestellt. Windows PowerShell erm├Âglicht es, einen bestimmten Port mit Windows Bordmitteln zu testen. Das Tool PSping kann zudem die Antwortzeit auf einen bestimmten Port messen. Wer die Befehle gerne in Aktio...

cmd Befehle f├╝r die Netzwerkanalyse
Mit einfachen Befehlen kann ein schneller ├ťberblick ├╝ber die aktuellen Netzwerkeinstellungen ausgelesen werden, eventuelle Verbindungsfehler gefunden, oder ein ├ťberblick ├╝ber andere Ger├Ąte im Netzwerk verschafft werden. Die hier beschriebenen Befehle sind cmd-Befehle. Die Eingabe erfolgt ├╝ber die Eingabeaufforderung: cmd, siehe auch das zugeh├Ârige YouTube-Video.

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details