OpenWrt auf VMware

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

  1. 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

  2. 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.

  3. 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

  4. 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'
    
  5. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.