Hallo Leute,
da ich vor ein paar Monaten das selbe Problem bei meinem Ubuntu Server 22.04 gelöst habe hätte ich hier noch ein paar Kommentare bzw. Fragen.
@DJKUhpisse
Du hast völlig recht, Routing (OSI Layer 3) geht gar nicht, man benötigt zwangsweise eine Bridge (OSI Layer 2) zwischen WLAN(wlp3s0)- und LAN(enp6s0)-Adapter.
@kB
Den Begriff OSI Layer 2.5 habe ich noch nie gehört, aber man lernt ja nie aus, ich bin aber auch kein IT'ler. So wie dafosi es realisieren wollte ist natürlich nicht möglich.
@dafosy
Deine Probleme haben auf jeden Fall nichts mit Deinen sau teuren Apfelmaschinen zu tun. Dein NUC scheint ein Desktop zu sein, sonst hättest Du ja keinen KDE NetworkManager am Laufen. Ich habe irgendwo gelesen dass der NetworkManager beim Betrieb eines WLAN-Accesspoints Probleme geben kann. Als ich vor mehr als 2 Jahren auf Ubuntu 20.04 umgestiegen bin bin ich als erstes von "netplan" wieder auf "ifupdown" umgestiegen (netplan unterstützt bis heute noch kein "macvlan"!). Ich hoffe Du kannst die folgenden Schritte nachvollziehen! Du solltest auch meine Kommentare entfernen und an Deine IP-Adressen anpassen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 | sudo apt install -y iw hostapd rfkill wireless-tools wpasupplicant
sudo nano /etc/network/interfaces
---
source /etc/network/interfaces.d/*
allow-hotplug enp6s0 # LAN
iface enp6s0 inet manual
allow-hotplug wlp3s0 # WLAN
iface wlp3s0 inet manual
iface br0 inet static # Bridge br0
bridge_ports wlp3s0 enp6s0 # Bridge Ports: wlp3s0 enp6s0
address 192.168.1.5/24 # Ubuntu Server IP-Adresse mit Subnetmask 255.255.255.0
gateway 192.168.1.1 # Gateway: bei mir eine uralte FritzBox mit OpenWrt geflasht
dns-nameservers 127.0.0.1 # Lokaler DNS-Server: Bei mir unbound, es geht aber auch dnsmasq oder das systemd-Teil.
sudo nano /etc/default/hostapd
---
DAEMON_CONF="/etc/hostapd/hostapd.conf"
#DAEMON_OPTS=""
sudo nano /etc/hostapd/hostapd.conf
---
interface=wlp3s0 # WLAN Interface
bridge=br0 # Bridge br0
driver=nl80211
hw_mode=g # WLAN Mode: Ich habe leider nur WiFi4 mit 54 MBit/s Brutodownloadrate (= 16 MBit/s netto)
channel=10 # WLAN Kanal
ieee80211d=1
country_code=DE # Ländercode
ieee80211n=1
wmm_enabled=1
ssid=XXX # WLAN SSID
auth_algs=1
wpa=2 # WPA2: Falls du WPA3 willst musst Du selbst compilieren!
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=XXX # WPA2-Key
macaddr_acl=1
accept_mac_file=/etc/hostapd/hostapd.accept # MAC-Adressenfilter (optional)
sudo nano /etc/hostapd/hostapd.accept # MAC-Adressenfilter (optional)
---
XX:XX:XX:XX:XX:XX
usw.
sudo nano /usr/lib/systemd/system/hostapd.service # systemd-Unit
---
[Unit]
Description=WiFi Acces Point
Documentation=man:hostapd(8)
After=network.target
[Service]
Type=forking
PIDFile=/run/hostapd.pid
Restart=on-failure
RestartSec=2
Environment=DAEMON_CONF=/etc/hostapd/hostapd.conf
EnvironmentFile=-/etc/default/hostapd
ExecStart=/usr/sbin/hostapd -B -P /run/hostapd.pid $DAEMON_OPTS ${DAEMON_CONF}
[Install]
WantedBy=multi-user.target
---
sudo systemctl daemon-reload
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo service hostapd start
|
Damit alles auch funktioniert benötigst Du noch einen DHCP-Server der auf die Bridge br0 lauscht. Bei Ubuntu verwendet man da am besten den "ISC DHCP Server".
sudo apt install -y isc-dhcp-server
sudo nano /etc/dhcp/dhcpd.conf
---
ddns-update-style none;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
interface br0;
default-lease-time 600;
max-lease-time 7200;
option domain-name "dahoim.lan";
option domain-name-servers 192.168.1.5;
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
}
## Feste IP-Adresse Client-1 (optional)
host Client-1 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.1.XX;
option host-name "Client-1";
}
## Feste IP-Adresse Client-2 (optional)
host Client-1 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.1.XX;
option host-name "Client-2";
... usw.
}
sudo nano /etc/default/isc-dhcp-server
---
INTERFACESv4="br0"
INTERFACESv6="br0"
sudo systemctl daemon-reload
sudo systemctl start isc-dhcp-server.service
Jetzt kannst Du Kiste neu starten. Falls ich keinen Leichtsinnsfehler gemacht habe sollte es so funktionieren.
Grüße vom Bodensee!