Um Strom zu sparen, habe ich meinen OpenWrt-Router (ein TP-Link ArcherC7) in eine Virtual Machine auf VMware umgezogen. Dieser Router dient bei mir inzwischen hauptsächlich als Router zwischen den verschiedenen Sicherheitszonen; das WLAN des Hardware-Routers brauche ich nicht (mehr). Einen OpenWrt-Router als VM auf VMware einrichten geht einfach, aber etwas um die Ecke.
Hier dazu meine Notizen, wie ich das gemacht habe. Ich formuliere sie nicht aus – vielleicht hilft’s ja trotzdem irgendwem oder mir selber irgendwann:
Links
- Basis-Info über OpenWrt auf x68: https://openwrt.org/docs/guide-user/installation/openwrt_x86
- OpenWrt on VMware HowTo: https://openwrt.org/docs/guide-user/virtualization/vmware
Basis-System
- Download von hier https://downloads.openwrt.org/releases/19.07.6/targets/x86/64/ nämlich in meinem Fall: https://downloads.openwrt.org/releases/19.07.6/targets/x86/64/openwrt-19.07.6-x86-64-combined-ext4.img.gz
-
VMDK erstellen:
gzip -d openwrt-19.07.6-x86-64-combined-ext4.img.gz qemu-img convert -f raw -O vmdk openwrt-19.07.6-x86-64-combined-ext4.img openwrt-19.07.6-x86-64-combined-ext4.vmdk
(interessanterweise ist das vmdk wieder deutlich kleiner (18 MB), nachdem das img 273 MB groß war.
-
VMDK für ESX konvertieren (siehe hier: https://kb.vmware.com/s/article/1028943):
vmkfstools -i openwrt-19.07.6-x86-64-combined-ext4.vmdk owhome.vmdk
-
VM in VMware basieren auf dem vmdk erstellen:
- Other Linux 64 bit
- erst ohne Festplatte, dann
owhome.vmdk
ins Verzeichnis der VM schieben und hinzufügen - Network hat mit Adapter-Type “VMXNET3” funktioniert (erst hab ich mich verwirren lassen, denn beim Booten steht zu letzt was davon, dass er wartet, dass das Interface ready wird – funktioniert aber)
- Netzwerk-Config: Erstmal im physischen LAN (ohne VLAN-Tagging), dann
vi /etc/config/network
und dort auf die “.100” hinter dem Netzwerk-Interface achten – das legt die VLAN-ID fest (siehe hier: https://openwrt.org/docs/guide-user/network/vlan/switch_configuration). Danach ausschalten, in ESX auf Tagging umstellen. Dann wieder booten.
config interface 'lan' option type 'bridge' option ifname 'eth0.100' option proto 'static' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.40.1' option ipaddr '192.168.40.2' list dns '192.168.40.1'
- syslog, ntp, ssh-keys …
Netzwerk-Interfaces
Der Reihe nach meine lokalen Netzwerke mit bzw. ohne DHCP anlegen. Bei mir sind da:
- PCLAN inkl DHCP
- IOT (was hosting) inkl. DHCP
- ZT (zerotier)
- siehe https://kysonlok.github.io/2020/06/12/Set-Up-a-ZeroTier-Network-on-OpenWRT/
- auch https://github.com/mwarning/zerotier-openwrt/wiki
- Außerdem in der Oberfläche ein “unmanaged” interface ohne bridge anlegen
Firewall+Sonstiges
- Luci: Network -> DHCP+DNS
- Firewall:
- Zonen anlegen, Forwarding erstmal von quasi überall nach überall
- dann in den regeln einschränken (vi /etc/config/firewall)
- ZT-Routing auf neuen Router umgestellt – restarts und fummeln bis alles wieder läuft (firewall tmp aus: Luci: System -> Startup)
- zabbix monitoring
opkg install zabbix-agentd zabbix-extra-network zabbix-get zabbix-sender
vi /etc/zabbix_agentd.conf
/etc/zabbix_agentd.conf.d/
->dstk_freemem.conf
,userparameter_niclink.conf
- avahi (mDNS)
siehe https://nerdblog.steinkopf.net/2019/11/mdns-avahi-namensauflosung-ohne-dns-und-ohne-server/ - Autom. Backup der Config. Dazu u.a.
- vi /etc/sysupgrade.conf