OpenWRT - mein Router Setup

 

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 sowie einen EX3700 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 2024.

Aktuelle OpenWRT-Version: 23.05.5 (gefunden: 04.10.2024)

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

Noch einfacher funktioniert der Upgradevorgang mit Attended Systemupgrade, 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

NTP

30 03 * * *  ntpd -q -p 0.it.pool.ntp.org

Home Assistant Integration

OpenWRT & Home Assistant: auswerten-visualisieren-reagieren

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!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍jwsch51
20.12.2023 22:31
Wie kann ich mich in Verbindung setzen, um ihnen  mitzuteilen welche Geräte ich besitze und wie ich das alles installieren kann. Ich setze mich mit Ihnen in Verbindung weil alles was ich gesehen habe überzeugt hat
✍Bernhard
gepostet am 21.12.2023 08:18
Für das hier beschriebene Setup ist vor allem eines wichtig: dass auf den Geräten OpenWrt installiert werden kann. Ob und wie einfach das geht, liegt an den eingesetzten Geräten. Dazu am besten an die Anleitungen der offiziellen OpenWrt-Seite halten. Ist OpenWrt erstmal installiert, läuft die Einrichtung auf allen Geräten gleich: Die Geräte haben dann ja alle die selbe Software installiert.

Beitrag erstellt von Bernhard

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