Installatie Omada Controller op APU3
Een vriend van mij voert binnenkort een upgrade van zijn netwerk uit. De huidige firewall en switches worden vervangen door nieuwe modellen, zodat er in de core op 10G-snelheid geschakeld kan worden.
De firewallfunctie wordt momenteel verzorgd door een APU3 van PC Engines waarop pfSense draait. De APU2/3/4/6-serie bestaat uit compacte, energiezuinige embedded x86-systemen met meerdere netwerkaansluitingen, ontworpen voor toepassingen zoals routers, firewalls en andere netwerkdiensten.
Het zou zonde zijn om dit nog altijd populaire apparaat af te schrijven. Daarom krijgt het een tweede leven als Omada Controller. Momenteel wordt hiervoor een OC200 ingezet, maar die blijkt soms wat beperkt. TP-Link biedt met de OC300 een krachtiger alternatief, maar voor veel situaties voelt dat juist weer als een stap te ver. Eigenlijk mis ik een model dat precies tussen beide controllers in zit: een denkbeeldige "OC200 Plus". Een APU3 is in dit geval een aantrekkelijk alternatief. De hardware komt immers beschikbaar en de Omada Controller-software draait er probleemloos op. Bovendien biedt een APU3 meer rekenkracht en flexibiliteit dan de OC200-hardware. Daarmee krijgt het systeem een nuttige tweede bestemming.
In deze blogpost beschrijf ik stap voor stap hoe je de Omada Controller installeert op een APU3 met Ubuntu Server 24.04.
Consoleverbinding
Een aandachtspunt is dat een APU geen videouitgang heeft. Hoewel dit op het eerste gezicht een beperking lijkt, is het in de praktijk juist een voordeel: beheer verloopt volledig via de seriΓ«le console, waardoor een monitor overbodig is en een simpel kabeltje volstaat.
Verbinding maken kan eenvoudig met een USB-naar-serieel (DB9) consolekabel. Zelf gebruik ik hiervoor een kabel die ik eerder heb meegeleverd gekregen bij een APU. Een voorbeeld van dit type kabel is hier te vinden: PC Engines USB serial console cable
Onder Windows kan bijvoorbeeld PuTTY worden gebruikt om via de seriΓ«le poort verbinding te maken. Onder Linux gebruik ik meestal tio. Voor deze blogpost is ook tio gebruikt, vanwege de eenvoud en betrouwbaarheid. Het is een robuuste en laagdrempelige manier om toegang te krijgen tot het systeem tijdens installatie en beheer.
Voor APU2 en nieuwere modellen zijn de seriΓ«le instellingen als volgt: 115200 baud, 8N1, zonder flow control.
Besturingssysteem
Volgens de vereisten kan worden gekozen tussen Debian 8β9 en Ubuntu 16.04β24.04. In dit geval is gekozen voor Ubuntu 24.04, waarbij de servervariant (ISO) is gebruikt.
De officiΓ«le documentatie wordt hieronder als referentie aangehaald, maar deze loopt in de praktijk achter op de huidige softwareversies en installatieprocedure. Juist daarom dient deze blogpost als actuele aanvulling, waarin de stappen worden beschreven op basis van de huidige situatie.
Zodra de ISO is gedownload, kan deze naar een USB-stick worden geschreven. Hiervoor kan bijvoorbeeld dd worden gebruikt, maar tools zoals balenaEtcher zijn een gebruiksvriendelijk alternatief.
Onder Linux kan eerst worden bepaald welk device de USB-stick heeft, bijvoorbeeld met lsblk of dmesg. In mijn geval is dat /dev/sdb - maar dat verschilt per systeem.
Met het volgende commando is de USB-stick vervolgens voorbereid:
dd if=./ubuntu-24.04.4-live-server-amd64.iso of=/dev/sdb bs=4M status=progress conv=fsync
Let op: controleer goed naar welk device je schrijft. Een kleine vergissing is snel gemaakt, met als gevolg dat per ongeluk de verkeerde schijf wordt overschreven.
Bron Omada (by TP-Link): How to install Omada Software Controller on Linux system
Opstarten en installeren
Zodra de USB-stick met Ubuntu 24.04, een netwerkkabel en de consolekabel zijn aangesloten, kan de APU worden gestart. De APU start automatisch zodra de voedingsadapter wordt aangesloten.
Het is aan te raden om eerst de consoleverbinding op te zetten, zodat je direct inzicht hebt in het opstartproces. De console kan al actief worden gemaakt terwijl het systeem nog uit staat, omdat de USB-consoleadapter zelf van spanning wordt voorzien via USB.
Na het aansluiten heb ik eerst gecontroleerd welk device aan de consolekabel is toegewezen. Direct na het inpluggen heb ik dmesg uitgevoerd. De volgende output werd daarbij getoond:
[..]
[1720502.781653] usb 1-4: new full-speed USB device number 10 using xhci_hcd
[1720502.920403] usb 1-4: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[1720502.920421] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1720502.920429] usb 1-4: Product: CP2104 USB to UART Bridge Controller
[1720502.920435] usb 1-4: Manufacturer: Silicon Labs
[1720502.920441] usb 1-4: SerialNumber: 0205463A
[1720502.922609] cp210x 1-4:1.0: cp210x converter detected
[1720502.924186] usb 1-4: cp210x converter now attached to ttyUSB0
In mijn geval gaat het om /dev/ttyUSB0.
Indien je tio wilt gebruiken, kan deze onder Debian of Ubuntu worden geΓ―nstalleerd met:
sudo apt update && sudo apt -y install tio.
Omdat een standaardgebruiker geen toegang heeft tot seriΓ«le devices, start ik de consoleverbinding met sudo:
sudo tio -b 115200 /dev/ttyUSB0
Zodra de verbinding actief is, kan de APU worden ingeschakeld door de stroomadapter aan te sluiten. De opstartoutput verschijnt vervolgens direct in de console.
SeaBIOS (version rel-1.16.0.1-0-g77603a32)
Press F10 key now for boot menu
Select boot device:
1. USB MSC Drive
2. AHCI/0: SATA SSD ATA-11 Hard-Disk (15272 MiBytes)
3. Payload [setup]
4. Payload [memtest]
Druk op F10 voor het bootmenu en kies het USB-apparaat als bootmedium.
Druk op 'e' zodra GRUB wordt getoond.
GNU GRUB version 2.12
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β*Try or Install Ubuntu Server β
β Ubuntu Server with the HWE kernel β
β Test memory β
β β
β β
β β
β β
β β
β β
β β
β β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use the β and β keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line.
Voeg vervolgens de verbindingsgegevens voor de console in. Het gaat specifiek om console=ttyS0,115200n8 achter /casper/vmlinuz maar voor ---. Druk tot slot F10 om met deze parameters te starten.
GNU GRUB version 2.12
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βsetparams 'Try or Install Ubuntu Server' β
β β
β set gfxpayload=keep β
β linux /casper/vmlinuz console=ttyS0,115200n8 --- β
β initrd /casper/initrd β
β β
β β
β β
β β
β β
β β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Minimum Emacs-like screen editing is supported. TAB lists
completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for
a command-line or ESC to discard edits and return to the GRUB menu.
Vervolgens wordt gevraagd om een keuze te maken tussen rich of basic serial console mode. Ik heb voor rich mode gekozen - maar beide werken prima.
================================================================================
Serial [ Help ]
================================================================================
As the installer is running on a serial console, it has started in basic
mode, using only the ASCII character set and black and white colours.
If you are connecting from a terminal emulator such as gnome-terminal that
supports unicode and rich colours you can switch to "rich mode" which uses
unicode, colours and supports many languages.
You can also connect to the installer over the network via SSH, which will
allow use of rich mode.
[ Continue in rich mode > ]
[ Continue in basic mode > ]
[ View SSH instructions ]
Voor de taal heb ik voor de standaard gekozen: Engels.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Willkommen! Bienvenue! Welcome! ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ! Welkom! [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use UP, DOWN and ENTER keys to select your language.
[ Asturianu βΈ ]β΄
[ Bahasa Indonesia βΈ ]β
[ CatalΓ βΈ ]
[ Deutsch βΈ ]
[ English βΈ ]
[ English (UK) βΈ ]
[ EspaΓ±ol βΈ ]
[ FranΓ§ais βΈ ]
[ Galego βΈ ]
[ Hrvatski βΈ ]
[ Latviski βΈ ]
[ LietuviΕ‘kai βΈ ]
[ Magyar βΈ ]
[ Nederlands βΈ ]
[ Norsk bokmΓ₯l βΈ ]
[ Occitan βΈ ]βΎ
[ Back ]
Het bleek dat er een nieuwe versie van de installere beschikbaar is. Ik heb gekozen om deze te gebruiken.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Installer update available [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Version 24.04.4.1 of the installer is now available (24.04.4 is currently
running).
You can read the release notes for each version at:
https://github.com/canonical/subiquity/releases
If you choose to update, the update will be downloaded and the installation
will continue from here.
[ Update to the new installer ]
[ Continue without updating ]
[ Back
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Downloading update... [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Please wait while the updated installer is being downloaded. The installer
will restart automatically when the download is complete.
Monitoring snap "subiquity" to determine whether extra refresh steps are \
Mount snap "subiquity" (7187)
Daarop volgde de toetsenbord-layout. Ik heb voor de standaard gekozen: English (US).
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Keyboard configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Please select the layout of the keyboard directly attached to the system, if
any.
Layout: [ English (US) βΎ ]
Variant: [ English (US) βΎ ]
[ Done ]
[ Back ]
Het installatietype is een belangrijk onderdeel. In verband met de opslagcapaciteit van de APU, heb ik gekozen voor Ubuntu Server (minimized).
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Choose the type of installation [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Choose the base for the installation.
( ) Ubuntu Server β΄
β
The default install contains a curated set of packages that provide a β
comfortable experience for operating your server. β
β
(X) Ubuntu Server (minimized) β
β
This version has been customized to have a small runtime footprint in β
environments where humans are not expected to log in. β
β
Additional options β
β
[ ] Search for third-party drivers
This software is subject to license terms included with its βΎ
[ Done ]
[ Back ]
Voor de netwerk, proxy en installatie-mirror ben ik uitgegaan van de voorgeselecteerde standaardopties.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Network configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Configure at least one interface this server can use to talk to other
machines, and which preferably provides sufficient access for updates.
NAME TYPE NOTES
[ enp1s0 eth - βΈ ]
DHCPv4 10.32.35.183/22
00:0d:b9:48:3b:b4 / Intel Corporation / I211 Gigabit Network Connection
[ enp2s0 eth - βΈ ]
disabled autoconfiguration failed
00:0d:b9:48:3b:b5 / Intel Corporation / I211 Gigabit Network Connection
[ enp3s0 eth - βΈ ]
disabled autoconfiguration failed
00:0d:b9:48:3b:b6 / Intel Corporation / I211 Gigabit Network Connection
[ Create bond βΈ ]
[ Done ]
[ Back ]
In mijn geval is de eerste netwerkinterface verbonden met het netwerk.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Proxy configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
If this system requires a proxy to connect to the internet, enter its
details here.
Proxy address:
If you need to use a HTTP proxy to access the outside world,
enter the proxy information here. Otherwise, leave this
blank.
The proxy information should be given in the standard form
of "http://[[user][:pass]@]host[:port]/".
[ Done ]
[ Back ]
Ik maak gebruik van een directe verbinding met internet - zonder tussenkomst van een web proxy.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Ubuntu archive mirror configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
If you use an alternative mirror for Ubuntu, enter its details here.
Mirror address: http://nl.archive.ubuntu.com/ubuntu/
You may provide an archive mirror to be used instead of the
default.
The mirror location is being tested. /
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βHit:1 http://nl.archive.ubuntu.com/ubuntu noble InRelease β
βGet:2 http://nl.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]β
βGet:3 http://nl.archive.ubuntu.com/ubuntu noble-backports InRelease [126 β
βkB] β
β β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ Done ]
[ Back ]
Het kan even duren voordat de mirror-test is uitgevoerd...
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Ubuntu archive mirror configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
If you use an alternative mirror for Ubuntu, enter its details here.
Mirror address: http://nl.archive.ubuntu.com/ubuntu/
You may provide an archive mirror to be used instead of the
default.
This mirror location passed tests.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βHit:1 http://nl.archive.ubuntu.com/ubuntu noble InRelease β
βGet:2 http://nl.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]β
βGet:3 http://nl.archive.ubuntu.com/ubuntu noble-backports InRelease [126 β
βkB] β
βFetched 252 kB in 1s (170 kB/s) β
βReading package lists... β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ Done ]
[ Back ]
Voor de opslagconfiguratie heb ik de interne opslag geselecteerd. Verder heb ik gekozen voor de standaardinstellingen.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Guided storage configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Configure a guided storage layout, or create a custom one:
(X) Use an entire disk β΄
β
[ SATA_SSD_D8B local disk 14.914G βΎ ]β
307761633046 β
54112 β
β
[X] Set up this disk as an LVM group β
β
[ ] Encrypt the LVM group with LUKS β
Passphrase:
Confirm passphrase:
βΎ
[ Done ]
[ Back ]
De volgende schermen geven opties voor verdere verfijning. Ik heb gekozen om uit te gaan van de standaardinstellingen.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Storage configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
FILE SYSTEM SUMMARY β΄
β
MOUNT POINT SIZE TYPE DEVICE TYPE
[ / 10.000G new ext4 new LVM logical volume βΈ ]
[ /boot 1.750G new ext4 new partition of local disk βΈ ]
AVAILABLE DEVICES
DEVICE TYPE SIZE
[ ubuntu-vg (new) LVM volume group 13.160G βΈ ]
free space 3.160G βΈ
[ VendorCo_ProductCode_292509105547346457 local disk 14.648G βΈ ]
5-0:0
partition 2 existing, unused ESP, already formatted as 4.960M βΈ βΎ
[ Done ]
[ Reset ]
[ Back ]
De partities worden gemaakt zodra voor 'Continue' is gekozen.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Storage configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
DEVICE TYPE SIZE β΄
[ ubuntu-vg (new) LVM volume group 13.160G βΈ ]
βββββββββββββββββββββββ Confirm destructive action βββββββββββββββββββββββ
β β
β Selecting Continue below will begin the installation process and β
β result in the loss of data on the disks selected to be formatted. β
β β
β You will not be able to return to this or a previous screen once the β
β installation has started. β
β β
β Are you sure you want to continue? β
β β
β [ No ] β
β [ Continue ] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ Reset ]
[ Back ]
Bij server name heb ik gekozen voor oc01 (Omada Controller #1) - maar je kunt hier een naam naar keuze invoeren.
Ubuntu werkt met een standaard gebruiker die met het commando sudo root-rechten kan verkrijgen. Je kunt hier een gebruiker naar keuze aanmaken. Ik heb gekozen voor gebruiker main (Maintenance User).
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Profile configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Enter the username and password you will use to log in to the system. You
can configure SSH access on a later screen, but a password is still needed
for sudo.
Your name: Maintenance User
Your servers name: oc01
The name it uses when it talks to other computers.
Pick a username: main
Choose a password: ********
Confirm your password: ********
[ Done ]
Ik heb ervoor gekozen om Ubuntu Pro over te slaan.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Upgrade to Ubuntu Pro [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Upgrade this machine to Ubuntu Pro for security updates on a much wider
range of packages, until 2034. Assists with FedRAMP, FIPS, STIG, HIPAA and
other compliance or hardening requirements.
[ About Ubuntu Pro βΈ ]
( ) Enable Ubuntu Pro
(X) Skip for now
You can always enable Ubuntu Pro later using the 'pro attach' command.
[ Continue ]
[ Back ]
Het is handig om via OpenSSH met de controller te kunnen verbinden - bijvoorbeeld voor de installatie van updates.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SSH configuration [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
You can choose to install the OpenSSH server package to enable secure remote
access to your server.
[X] Install OpenSSH server
[X] Allow password authentication over SSH
[ Import SSH key βΈ ]
AUTHORIZED KEYS
No authorized key
[ Done ]
[ Back ]
Ik heb geen aanvullende opties geselecteerd.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Featured server snaps [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
These are popular snaps in server environments. Select or deselect with
SPACE, press ENTER to see more details of the package, publisher and
versions available.
[ ] microk8s Kubernetes for workstations and appliances βΈβ΄
[ ] nextcloud Nextcloud Server - A safe home for all your data βΈβ
[ ] wekan Open-Source kanban βΈβ
[ ] canonical-livepatch Canonical Livepatch Client βΈβ
[ ] rocketchat-server Rocket.Chat server βΈβ
[ ] mosquitto Eclipse Mosquitto MQTT broker βΈβ
[ ] etcd Resilient key-value store by CoreOS βΈβ
[ ] powershell PowerShell for every system! βΈβ
[ ] sabnzbd SABnzbd - The automated Usenet download tool βΈβ
[ ] wormhole get things from one computer to another, safely βΈβ
[ ] aws-cli Universal Command Line Interface for Amazon Web S βΈ
[ ] slcli Python based SoftLayer API Tool. βΈ
[ ] doctl The official DigitalOcean command line interface βΈβΎ
[ Done ]
[ Back ]
Het uiteindelijke installatieproces duurt de nodige minuten.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Installing system [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β curtin command extract β΄β
β acquiring and extracting image from cp:///tmp/tmp2wlhqspg/mount β
β configuring keyboard β
β curtin command in-target β
β executing curtin install curthooks step β
β curtin command install β
β configuring installed system β
β running 'curtin curthooks' β
β curtin command curthooks β
β configuring apt configuring apt β
β installing missing packages β
β Installing packages on target system: ['grub-pc'] β
β configuring iscsi service β
β configuring raid (mdadm) service β
β configuring NVMe over TCP ββ
β installing kernel \ βΎβ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ View full log ]
Aan het einde van het proces is Ubuntu geΓ―nstalleerd en moet de APU herstart worden.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Installation complete! [ Help ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βfinal system configuration β΄β
β curtin command in-target β
β curtin command in-target β
β calculating extra packages to install β
β installing openssh-server β
β retrieving openssh-server β
β curtin command system-install β
β unpacking openssh-server β
β curtin command system-install β
β configuring cloud-init β
β downloading and installing security updates β
β curtin command in-target β
β restoring apt configuration β
β curtin command in-target ββ
βsubiquity/Late/run: βΎβ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ View full log ]
[ Reboot Now ]
Verwijder de USB stick en druk op ENTER om opnieuw op te starten.
Ubuntu 24.04.4 LTS ubuntu-server ttyS0
connecting...
waiting for cloud-init...
Ubuntu 24.04.4 LTS ubuntu-server ttyS0
connecting...
[FAILED] Failed unmounting cdrom.mount - /cdrom.
Please remove the installation medium, then press ENTER:
Na de herstart kun je inloggen.
Ubuntu 24.04.4 LTS oc01 ttyS0
[..]
oc01 login: main
Password:
Boven de prompt wordt informatie weergegeven. Voor nieuwe gebruikers zijn de commando's sudo en man nuttig.
Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-124-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
main@oc01:~$
Optimalisaties
Ondanks de keuze voor Ubuntu Server (minimized) zijn er een aantal onderdelen die op voorhand verwijderd kunnen worden. Voorbeelden zijn cloud-init en snapd.
Ik heb de onderstaande commando's uitgevoerd om één en ander te verwijderen. Tot slot voeg ik de editor nano en het pakket net-tools toe en worden updates geïnstalleerd.
$ sudo apt update
$ sudo apt -y purge cloud-init
$ sudo rm -rf /etc/cloud /var/lib/cloud
$ sudo apt -y purge snapd
$ sudo rm -rf /snap /var/snap /var/lib/snapd
$ sudo systemctl disable --now packagekit.service
$ sudo apt -y purge packagekit
$ sudo systemctl disable --now multipathd.service
$ sudo apt -y purge multipath-tools
$ sudo apt -y purge apport
$ sudo apt -y autoremove
$ sudo apt -y install nano
$ sudo apt -y install net-tools
$ sudo apt -y full-upgrade
Om veelvuldig schrijven te vermijden heb ik de variabele swappiness op 10 ingesteld.
echo "vm.swappiness=10" | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl -p
Om er voor te zorgen dat het netwerk vlot opkomt heb ik de gebruikte interface enp1s0 ingesteld.
Eerst heb ik de interfaces bekeken:
$ sudo networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp1s0 ether off unmanaged
3 enp2s0 ether off unmanaged
4 enp3s0 ether off unmanaged
4 links listed.
Vervolgens heb ik een een configuratiebestand voor de interface toegevoegd.
sudo nano /etc/systemd/network/10-wan.network
De inhoud ziet er als volgt uit:
[Match]
Name=enp1s0
[Network]
DHCP=yes
Na herstart van het netwerk ben ik overgeschakeld naar een SSH-sessie.
Herstart netwerk-services:
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-networkd-wait-online
Uit controle blijkt dat de eerste interface nu beheerd wordt:
$ sudo networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp1s0 ether routable configured
3 enp2s0 ether off unmanaged
4 enp3s0 ether off unmanaged
4 links listed.
Om de wachttijd te verkorten kun je er voor kiezen om de timout aan te passen voor systemd-networkd-wait-online.service. Dit is optioneel - maar kan nuttig zijn:
$ sudo systemctl edit systemd-networkd-wait-online.service
Lees de instructies in de editor goed door en plak de volgende regels op de juiste positie:
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --timeout=15
Installatie Omada Controller
De installatie van de Omda Controller verloopt tamelijk eenvoudig nu Ubuntu Linux is geΓ―nstalleerd.
Installeer als eerste de volgende packages - waaronder jsvc en openjdk:
$ sudo apt install -y curl gnupg ca-certificates wget jsvc openjdk-17-jre-headless
Voeg de mongodb repository toe en installeer en activeer de software:
$ curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
$ echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
$ sudo apt update
$ sudo apt install -y mongodb-org
$ sudo systemctl enable --now mongod
Download en installeer vervolgens Omada Controller:
$ cd /tmp
$ wget https://static.tp-link.com/upload/software/2026/202604/20260429/Omada_Network_Application_v6.2.10.17_linux_x64_20260428102045.deb
$ sudo dpkg -i /tmp/Omada_Network_Application_v6.2.10.17_linux_x64_20260428102045.deb
Selecting previously unselected package omadac._Application_v6.2.10.17_linux_x64_20260428102045.deb
(Reading database ... 72222 files and directories currently installed.)
Preparing to unpack .../Omada_Network_Application_v6.2.10.17_linux_x64_20260428102045.deb ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 79.)
debconf: falling back to frontend: Readline
Cannot locate Java Home
JRE 17.0.19 is greater than 8 and JSVC is less than 1.1.0
Unpacking omadac (6.2.10.17) ...
Setting up omadac (6.2.10.17) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 79.)
debconf: falling back to frontend: Readline
Install Omada Network Application succeeded!
==========================
current data is empty
Omada Network Application will start up with system boot. You can also control it by [/usr/bin/tpeap].
check omada
Starting Omada Network Application. Please wait.
.....
Started successfully.
You can visit http://localhost:8088 on this host to manage the wireless network.
========================
De aanwijzing is om via http://localhost:8088 in te loggen - maar dat is op een headless systeem een uitdaging. Beter is om een browser te gebruiken op een computer. Daarvoor moet het IP bekend zijn van de APU. Hiervoor kan het ifconfig-commando gebruikt worden.
$ sudo ifconfig
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.32.35.183 netmask 255.255.252.0 broadcast 10.32.35.255
inet6 fe80::20d:b9ff:fe48:3bb4 prefixlen 64 scopeid 0x20<link>
ether 00:0d:b9:48:3b:b4 txqueuelen 1000 (Ethernet)
RX packets 378883 bytes 563474913 (563.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27417 bytes 2000888 (2.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xd0000000-d001ffff
Het IP blijkt in mijn geval 10.32.35.183 te zijn. Dit betekent dat ik via https://10.32.35.183:8043 in kan loggen op de controller.
Voordat ik inlog, vind ik het belangrijk om mongodb in te perken en te herstarten.
Open mongod.conf en stel de cacheSizeGB variabel aan. Let op de opmaak - dit komt helaas erg precies. Een spatie verkeert - en het werkt niet.
Open het configuratiebestand:
sudo nano /etc/mongod.conf
Hieronder wordt het relevante gedeelte weergegeven:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
wiredTiger:
engineConfig:
cacheSizeGB: 0.5
Voor de volledigheid wordt hieronder de inhoud van het volledige configbestand weergegeven:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
wiredTiger:
engineConfig:
cacheSizeGB: 0.5
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
Herstart totslot mongodb om de wijziging door te voeren:
sudo systemctl restart mongod
Configuratie Omada Controller
Nu de installatie is afgerond, kan gestart worden met de configuratie.
Open de URL naar de Omada Controller in een web browser. In mijn geval moet ik naar https://10.32.35.183:8043 navigeren. Ik heb er voor gekozen om geen TP-Link ID te gebruiken maar een lokaal account aan te maken.
Kies een gebruikersnaam en wachtwoord. Noteer deze, zodat je jezelf niet buitensluit van de controller.

Er worden een aantal opties geboden om verder te gaan. Het is bijvoorbeeld mogelijk om een back-up terug te zetten of om details zoals de naam van de controller in te voeren.

Na het afronden van de initiele configuratie, kun je naar het dashboard navigeren.

Een tip is om van light naar dark mode over te schakelen. Maar dat is een kwestie van voorkeuren. Persoonlijk vind ik het prettig om 's avonds dark mode te gebruiken.
