user@homelab:~/docs$ cat 06-network.md
Síť a Wi-Fi
Zablokovaná Wi-Fi (rfkill), netplan a pevná IP adresa přes DHCP rezervaci
# obsah
Problém: Wi-Fi nefungovala
Wi-Fi nešla už v instalátoru, ani s domácí sítí, ani s hotspotem z mobilu. Ethernetový kabel nebyl po ruce, takže instalace proběhla bez sítě.
Diagnostika
Bez sítě se nedaly kopírovat příkazy, proto jsme diagnostiku napsali jako skript. Skript se přenesl na Ventoy disku (exFAT umí číst Mac i Linux) a výstup uložil zpátky na disk:
sudo mount /dev/sdc1 /mnt
sudo bash /mnt/homelab-step1.shZ výstupu bylo vidět:
rfkill0: name=ideapad_wlan type=wlan hard=0 soft=1
rfkill3: name=phy0 type=wlan hard=0 soft=1
iwlwifi: loaded firmware version 17.bfb58538.0 3160-17.ucode
wpasupplicant 2:2.11-0ubuntu5 (nainstalovaný)
netplan: wifis: {}Závěr:
- ovladač i firmware jsou v pořádku,
wpasupplicantje nainstalovaný,- Wi-Fi je softwarově zablokovaná přes rfkill (
soft=1), nejspíš stav „režim letadlo“ z BIOSu nebo Windows. Hardwarový vypínač (hard=0) to není, - v netplanu chybí konfigurace Wi-Fi.
Odblokování přes sysfs
Příkaz rfkill na serveru nebyl, ale stejnou věc jde udělat přímo zápisem do jádra:
for d in /sys/class/rfkill/*; do
[ "$(cat "$d/type")" = "wlan" ] && echo 0 | sudo tee "$d/soft"
doneStav se po restartu zachová, protože systemd-rfkill si ho ukládá.
Konfigurace Wi-Fi (netplan)
sudo nano /etc/netplan/50-wifi.yamlnetwork:
version: 2
wifis:
wlp3s0:
dhcp4: true
access-points:
'<SSID>':
password: '<heslo-k-wifi>'sudo chmod 600 /etc/netplan/50-wifi.yaml
sudo netplan generate && sudo netplan apply
ip -br addr show wlp3s0chmod 600: v souboru je heslo k Wi-Fi, takže ho smí číst jen root,netplan generatezkontroluje syntaxi,applykonfiguraci použije.
Pevná IP adresa
Router přiděluje adresy přes DHCP dočasně a adresa se může změnit. Na adrese serveru ale závisí SSH config na Macu, kubeconfig i certifikáty k3s. Proto jsme ji zafixovali DHCP rezervací: router zařízení s MAC adresou Wi-Fi karty notebooku vždy přidělí stejnou adresu.
Která krabička přiděluje adresy
Doma bývají často dva prvky za sebou:
internet ── router poskytovatele (ISP) ── vlastní Wi-Fi router ── notebook, Mac, iPadRezervace se dělá na tom routeru, který je bránou sítě s notebookem. To nemusí být krabička od poskytovatele. Kterou adresu brána má, zjistíš takto:
route -n get default | grep gatewayip route | grep defaultV administraci routeru: typicky Advanced → Network → DHCP Server → Address Reservation → Add. Vybrat homelab ze seznamu připojených zařízení a přiřadit mu adresu.
Ověření, že router vrátí stejnou adresu:
sudo networkctl renew wlp3s0
ip -br addr show wlp3s0Kdo rezervaci potřebuje
Pevnou adresu potřebuje jen zařízení, ke kterému se něco připojuje: server a NAS. Mac ani iPad ji nepotřebují. Navíc používají soukromou adresu Wi-Fi (náhodnou MAC), takže by na ně rezervace spolehlivě nefungovala.
Proč nešla otevřít správa routeru z Macu
curl -skI https://<ip-routeru> | head -n 3HTTP/1.1 200 Connection EstablishedOdpověď Connection Established vrací proxy server, ne router. Mac posílá webový provoz přes proxy, která domácí adresy nevidí. Správa routeru se otevřela z mobilu. Pro nástroje na Macu, které do domácí sítě potřebují, se proxy obchází proměnnou NO_PROXY, viz Klienti.