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
{{percentage}} % positiv
DANKE für deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
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
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