Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: jauznevimco 12. 09. 2021, 15:27:31
-
Zdravim vespolek a prosim o nakopnuti spravnym smerem.
Presel jsem z CentOS 7 na Fedora 33 a relativne uspesne si zmigroval sluzby a nastaveni.
Jednou z tech sluzeb je hostapd.
Postup:
1) nainstaluji hostapd
2) vyjmu wifi interface ze spravy NetworkManageru
3) systemctl mask wpa_supplicant (mozna je to redundantni k bodu 2 - jednalo se o to, ze wpa_supplicant prilezitostne chtel provadet scan siti v okoli pri jejich predani NM, coz spolehlive shodilo veskerou komunikaci hostapd)
4) zkopiruju svuj fungujici config do /etc/hostapd/hostapd.conf
5) systemctl start hostapd => spusti se hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B, k AP se pripojim, v systemctl status hostapd vidim uspesne pripojeni. Potud vsechno super.
zář 12 13:26:04 server systemd[1]: Starting Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator...
zář 12 13:26:04 server hostapd[3878]: Configuration file: /etc/hostapd/hostapd.conf
zář 12 13:26:04 server hostapd[3878]: wlp6s0: interface state UNINITIALIZED->COUNTRY_UPDATE
zář 12 13:26:04 server hostapd[3878]: wlp6s0: interface state COUNTRY_UPDATE->HT_SCAN
zář 12 13:26:04 server systemd[1]: Started Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
zář 12 13:26:11 server hostapd[3879]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: authenticated
zář 12 13:26:11 server hostapd[3879]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: associated (aid 1)
zář 12 13:26:11 server hostapd[3879]: wlp6s0: STA 12:34:56:78:90:ab RADIUS: starting accounting session B0F61B7A4175C97F
zář 12 13:26:11 server hostapd[3879]: wlp6s0: STA 12:34:56:78:90:ab WPA: pairwise key handshake completed (RSN)
A ted problem.
6) systemctl enable hostapd (aby mi hostapd nabehnul pri restartu sam)
7) reboot => hostapd se sice spusti (se stejnymi parametry, pod rootem, ... jako pri rucnim spusteni), ale neni mozne se k nemu pripojit.
Wireshark ukazuje akorat EAPOL pakety 1 a 2 a komunikace pak vytuhne.
systemctl status hostapd ukaze:
● hostapd.service - Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Loaded: loaded (/usr/lib/systemd/system/hostapd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2021-09-12 14:38:53 CEST; 3min 10s ago
Process: 1278 ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B (code=exited, status=0/SUCCESS)
Main PID: 1317 (hostapd)
Tasks: 1 (limit: 18997)
Memory: 1.6M
CPU: 119ms
CGroup: /system.slice/hostapd.service
└─1317 /usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
zář 12 14:39:03 server hostapd[1317]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: authenticated
zář 12 14:39:03 server hostapd[1317]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: associated (aid 1)
zář 12 14:39:07 server hostapd[1317]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: authenticated
zář 12 14:39:07 server hostapd[1317]: wlp6s0: STA 12:34:56:78:90:ab IEEE 802.11: associated (aid 1)
4 pokusy, nakonec timeout, disconnect, konec.
Vtipne je, ze kdyz udelam:
systemctl stop hostapd
a zkusim jej pustit znovu rucne, tak to nefunguje taky.
Udelam systemctl disable hostapd, reboot, systemctl start hostapd - najednou kouzelne funguje.
● hostapd.service - Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Loaded: loaded (/usr/lib/systemd/system/hostapd.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2021-09-12 15:12:20 CEST; 12s ago
Process: 2730 ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B (code=exited, status=0/SUCCESS)
Main PID: 2731 (hostapd)
Tasks: 1 (limit: 18997)
Memory: 1.7M
CPU: 48ms
CGroup: /system.slice/hostapd.service
└─2731 /usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
(a log viz ten prvni, jako kdyz vse bezi)
unit file pro hostapd.service:
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=network.target
[Service]
Type=forking
PIDFile=/run/hostapd.pid
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
[Install]
WantedBy=multi-user.target
hostapd.conf - funkcni, zde problem uplne neocekavam...
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211d=1
country_code=CZ
wmm_enabled=1
driver=nl80211
interface=wlp6s0
hw_mode=g
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
ieee80211h=1
channel=7
ssid=blablabla
bridge=br_wifi
wpa=2
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256
rsn_pairwise=CCMP
wpa_passphrase=blablablablabla
V cem muze byt bota?
Napada mne jedine, ze by to mohlo mit co delat s existenci prazdneho bridge br_wifi (jako pokus spustit hostapd driv, nez br_wifi existuje... to by ale, predpokladam, neco zarvalo?).
Google vesmes mlci, tuhle exotiku holt neprovozuje kazdej druhej.
Muzu nejak zkusit start hostapd jako aktivni sluzby oddalit, treba klidne az minutu po bootu, pro overeni nejake zavislosti?
-
Co hovori zurnal?
journalctl -xeu hostapd.service
-
Pokud máš wlp6s0 v bridge jako br_wifi, tak zkus dát do .conf interface=br_wifi .
-
Zkusil bych změnit soubor /usr/lib/systemd/system/hostapd.service a přidat tam:
[Unit]
After=network-online.target ...
Wants=network-online.target
a pak pro jistotu systemctl daemon-reload
-
Co hovori zurnal?
journalctl -xeu hostapd.service
Prakticky totez, co systemctl status...
░░ The job identifier is 306.
zář 12 18:41:55 server hostapd[1170]: wlp6s0: interface state UNINITIALIZED->COUNTRY_UPDATE
zář 12 18:41:55 server hostapd[1170]: wlp6s0: interface state COUNTRY_UPDATE->HT_SCAN
zář 12 18:41:55 server systemd[1]: Started Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
░░ Subject: A start job for unit hostapd.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit hostapd.service has finished successfully.
░░
░░ The job identifier is 306.
zář 12 18:42:06 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: authenticated
zář 12 18:42:06 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: associated (aid 1)
zář 12 18:42:10 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: authenticated
zář 12 18:42:10 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: associated (aid 1)
zář 12 18:42:22 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: authenticated
zář 12 18:42:22 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: associated (aid 1)
zář 12 18:42:51 server hostapd[1201]: wlp6s0: STA e6:fe:66:6e:69:8b IEEE 802.11: authenticated
Pokud máš wlp6s0 v bridge jako br_wifi, tak zkus dát do .conf interface=br_wifi .
Zkusil jsem; tudy cesta nevede, jako interface to chce fyzickou kartu, kterou to pres nl80211 ovlada. S timhle hostapd ani nenastartuje.
@McFly, diky za napad, jdu to prubnout.
//doplneni: McFly, bingo, dekuji! Po restartu se to okamzite chytlo.
-
Popletl jsem to, do .conf by se měl dopsat bridge=br_wifi viz. https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf
-
Popletl jsem to, do .conf by se měl dopsat bridge=br_wifi viz. https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf
btw: to tam mel ;-) viz (https://forum.root.cz/index.php?topic=25231.msg357971#msg357971)
-
Zkusil bych změnit soubor /usr/lib/systemd/system/hostapd.service a přidat tam:
[...]
obecne, uprava v /usr/lib/systemd/... neni vhodna, kdyz uz nic jineho, tak naslednej update mu to zrejme prepise, systemove reseni je to vytvorit v /etc/systemd/ resp pouzit k tomu urcenej postup:
sudo systemctl --full edit hostapd.service