Als virtuellen Accesspoint konfigurieren
Sie können einen Industrie-PC unter Beckhoff RT Linux® als Access Point konfigurieren. Dafür wird das Paket hostapd benötigt. hostapd (Host Access Point Daemon) ist ein Systemservice, der eine WLAN‑Karte im AP‑Modus betreibt und als 802.1X/WPA‑Authenticator die Client‑Authentifizierung und Schlüsselverwaltung übernimmt.
Voraussetzungen:
- Beckhoff WLAN-Sticks: CU8210-D001-0101 oder CU8210-D001-0102
- SSID und Passwort eines bestehenden WLANs
- Installation des iwd-Services und der Firmware
- Hostapd-Service nachinstallieren
Gehen Sie wie folgt vor:
- 1. Installieren Sie das Packet
hostapdmit:
sudo apt install hostapd- 2. Öffnen Sie die Konfigurationsdatei hostapd.conf mit einem Texteditor.
sudo nano /etc/hostapd/hostapd.conf- 3. Passen Sie die Hostapd-Konfigurationsdatei wie folgt an:
- Verwenden Sie für die Passphrase zwischen 8 bis 63 Zeichen; andernfalls startet der
hostapd‑Service nicht.
interface=wlx34c9f09ab29c
debug=1
ssid=yourSSID
wpa=2
wpa_passphrase=yourPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
channel=7
hw_mode=g
country_code=DE
ieee80211d=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0- 4. Starten Sie
hostapdmit folgendem Befehl:
sudo systemctl start hostapd- 5. Es erscheint folgende Fehlermeldung, die meldet, dass der hostapd-Service maskiert ist. Maskiert bedeutet bei systemd: Der Service ist absichtlich so blockiert, dass er nicht gestartet werden kann, um Konflikte zu vermeiden.
Failed to start hostapd.service: Unit hostapd.service is masked.- 6. Führen Sie folgenden Befehl aus, um die Maskierung aufzuheben.
sudo systemctl unmask hostapd- 7. Starten Sie anschließend der Service erneut.
sudo systemctl start hostapdDHCP und IP-Adresse konfigurieren
Sobald der Service läuft, muss systemd-networkd so eingerichtet werden, dass der Accesspoint IP-Adressen per DHCP vergibt.
- 8. Auf dem System ist eine vorgefertigte Beispielkonfiguration unter /usr/lib/systemd/network/80-wifi-ap.network.example für Accesspoints hinterlegt, die Sie nutzen können. Kopieren Sie die Beispielkonfiguration aus dem Verzeichnis in den passenden Ordner.
sudo ln -s /usr/lib/systemd/network/80-wifi-ap.network.example /etc/systemd/network/80-wifi-ap.network- 9. Öffnen Sie die Konfigurationsdatei mit einem Texteditor
sudo nano /etc/systemd/network/80-wifi-ap.network- 10. Erweitern Sie die Einträge in der Konfigurationsdatei
/80-wifi-ap.networkwie folgt:
# SPDX-License-Identifier: MIT-0
#
# This example config file is installed as part of systemd.
# It may be freely copied and edited (following the MIT No Attribution license).
#
# To use the file, one of the following methods may be used:
# 1. add a symlink from /etc/systemd/network to the current location of this file,
# 2. copy the file into /etc/systemd/network or one of the other paths checked
# by systemd-networkd and edit it there.
# This file should not be edited in place, because it'll be overwritten on upgrades.
[Match]
WLANInterfaceType=ap
Name=wlx34c9f09ab29c
[Network]
Address=192.168.11.1/24
DHCPServer=yes
IPMasquerade=ipv4
PoolOffset=10
PoolSize=20
EmitDNS=yes
DNS=8.8.8.8Ports für DHCP-Anfragen freigeben
Schließlich müssen auch die Ports für die DHCP-Anfragen der Clients an den Server freigegeben werden.
- 11. Öffnen Sie die Konfigurationsdatei mit einem Texteditor.
sudo nano /etc/nftables.conf.d/00-basic.conf- 12. Erweitern Sie die Konfigurationsdatei und geben Sie Port 67 und Port 68 frei.
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
--snipped
# DHCPv4: Client -> Server
udp dport 67 accept
# DHCPv4: Server -> Client
udp sport 67 udp dport 68 accept
--snipped--- 13. Starten Sie den Service
nftablesmit folgendem Befehl neu.
sudo systemctl restart nftables- 14. Überprüfen Sie die offenen Ports mit folgendem Befehl.
sudo nft list rulesetDer Access Point ist nun vollständig konfiguriert und kann von Clients zur Verbindungsherstellung verwendet werden. Verwenden Sie dazu den konfigurierten SSID-Namen und das WPA2-Passwort, die in der Datei /etc/hostapd/hostapd.conf definiert sind.
Die verbundenen Clients können mit folgendem Befehl angezeigt werden:
sudo hostapd_cli list_staDieser Befehl gibt die MAC-Adressen aller aktuell mit dem Accesspoint verbundenen WLAN-Clients aus.