From a freshly installed Korthveil to a working, protected wireless network. The screenshots are from a GMKtec M5 Pro with these ports:

Port Role Example address
enp1s0 Management (zone MGMT) DHCP, here 192.168.2.13
enp2s0 Internet uplink (zone WAN) 192.168.50.1/24, gateway 192.168.50.10
wlp3s0 Wi-Fi card (MediaTek MT7922) 192.168.20.1/24 and fd20:4b56::1/64

The result:

Every change below goes into pending changes until you Commit. Commit with Safety rollback on (the default): if a change cuts you off, it undoes itself after five minutes unless you confirm it.

Step 1: Certificates for NAC

Go to System › Certificates › Add a certificate and make three certificates:

Choose Name in the store Common name Other fields
Create a local CA nac-ca Korthveil NAC CA Organization: your name
Issue from a local CA nac-radius radius.korthveil.lan Issuing CA nac-ca, Use Server, DNS name radius.korthveil.lan, Renew automatically on
Issue from a local CA laptop-1 laptop-1 Issuing CA nac-ca, Use Client (one per device)
The store with the CA, the RADIUS certificate, and a device certificate
The store with the CA, the RADIUS certificate, and a device certificate

The device certificate has a .p12 button. It downloads the certificate and its key, protected by a password that is shown once. That is what you install on the laptop or phone (Step 8).

Step 2: Turn on the add-ins

In System › Add-ins, switch on:

Each add-in then has its own page (shown in the steps below).

Step 3: Make the Wi-Fi card an access point

Go to Network › Interfaces, zones & routes. Click Add Wi-Fi access point, or the pencil on the Wi-Fi interface (wlp3s0).

The Wi-Fi interface's settings
The Wi-Fi interface's settings
Field Example Why
Run a Wi-Fi access point on this interface on
Network name (SSID) korthveil What devices show
Security WPA2/WPA3-Enterprise (recommended) Each device signs in with its own certificate; no shared password to leak
Country United States (US) Sets legal channels and power; use where the firewall is
Band 5 GHz Faster; choose 2.4 GHz for range or older devices
Channel Automatic (least busy) The firewall surveys the air and picks a free channel
RADIUS server address 192.168.20.1 The firewall's own NAC (its Wi-Fi address)
Shared secret 16+ random characters Must match the RADIUS client in Step 6
Accounting on Session start and stop in the NAC log
IPv4 Static 192.168.20.1/24 The Wi-Fi network's gateway, without a gateway field
IPv6 Static fd20:4b56::1/64 A unique local prefix; the "Free" hint suggests one

Personal Wi-Fi instead: choose WPA2/WPA3-Personal and type a passphrase of 8 to 63 characters. Then skip Steps 1, 6, and 8.

Click Save to pending changes.

Step 4: A zone for the wireless clients

In Zones, click Add zone:

Zones: MGMT, WAN, and WIFI
Zones: MGMT, WAN, and WIFI

After the commit, the interface table shows the access point On air with the channel it chose:

The Wi-Fi access point on air
The Wi-Fi access point on air

Step 5: Addresses for the clients (DHCP)

Open Network › DHCP server and add a network on wlp3s0:

Field Example
Hand out IPv4 addresses on
Range 192.168.20.100 to 192.168.20.199
DNS servers for clients 1.1.1.1, 9.9.9.9 (or your own)
Lease time 12 hours
IPv6 mode Automatic (SLAAC, router advertisements)
DNS servers (IPv6) 2606:4700:4700::1111
DHCP on the Wi-Fi network
DHCP on the Wi-Fi network

Step 6: Let the clients out, and NAT

The rule: go to Firewall › Rules, click Add rule:

Everything else stays denied.

The rule from WIFI to WAN
The rule from WIFI to WAN

NAT: in Firewall › NAT › Add source NAT:

The clients' private addresses leave as the uplink's address.

Source NAT on the uplink
Source NAT on the uplink

Step 7: The RADIUS server (NAC)

Open Identity › Network access control.

RADIUS clients:

Authentication methods:

RADIUS client and EAP-TLS
RADIUS client and EAP-TLS

Device owners can tie a certificate to a person (laptop-1 → admin), so the log names them.

Step 8: Protection: IPS and WAF

Intrusion prevention (Security › Intrusion prevention):

The Engine card then shows Running and the rules loaded (here 46,872).

IPS running with the ET Open rules
IPS running with the ET Open rules

Web application firewall (Security › Web application firewall): switch it on now. It protects sites you publish with the Reverse proxy add-in. Until a site is published, it waits, as shown.

The WAF, ready for published sites
The WAF, ready for published sites

Step 9: Commit and check

Click Commit (Safety rollback on), with a note such as Wi-Fi with NAC, DHCP, rule and NAT, IPS, WAF. Within a minute, check:

Where Expect
Network › Wi-Fi access points korthveil On air, a 5 GHz channel
System › Add-ins DHCP, NAC, IPS, WAF all OK
Security › Intrusion prevention Engine Running, rules loaded

Then confirm the commit (the banner at the top) so it stays.

Step 10: Join a device

Install the device certificate (laptop-1.p12, with the password from Step 1) and the CA (nac-ca.pem), then join korthveil. The settings per system (Windows, macOS, iPhone, Android, Linux) are in the guide NAC and Enterprise Wi-Fi, Step 9.

On Identity › Network access control › Recent authentications:

Troubleshooting

Symptom Check
The network does not appear Network › Wi-Fi access points: is it On air? Set the country. Try a fixed channel (36) or 2.4 GHz.
Devices are rejected The RADIUS client's address and secret match Step 3. EAP-TLS is ticked with nac-radius and nac-ca. The device's clock is right.
Joined, but no Internet The rule WIFI → WAN is enabled. Source NAT on enp2s0. The uplink has a gateway.
No IPv6 on clients IPv6 is static on wlp3s0, and DHCP's IPv6 mode is SLAAC.
A change locked you out Wait five minutes: the safety rollback restores the previous configuration.

More: the guides NAC and Enterprise Wi-Fi (device setup in detail), Certificates, and Amazon S3 archive (keeping the logs).