OpenWRT - mein 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 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.5 (gefunden: 07.05.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

{{percentage}} % positiv
