ProHoster > Blog > Adminisztráció > Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (vagy málna útválasztó kék kalappal)
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (vagy málna útválasztó kék kalappal)
A cikk Raspberry Pi + CentOS = Wi-Fi Hotspot (vagy málna router piros kalappal) Arról beszéltem, hogyan lehet egy Raspberry-t vezeték nélküli hozzáférési ponttá alakítani a CentOS operációs rendszer használatával. Azáltal, hogy a rajz szerint összeállítottam otthoni routeremet, kielégítettem kreatív egómat, és megnyugvást kaptam hangulatos infrastruktúrám egyik kritikus eleme miatt. A megoldás befejezetlenségének és a belső perfekcionizmus érzése azonban kísértett: „a munka tökéletlen eredményének nincs létjogosultsága”. A gondolat, hogy „az ideált el lehet és el is kell érni”, egy percig sem hagyott nyugodni.
Aztán egy nap az egyik tematikus fórumon vitába akadtam a Raspberry meglévő operációs rendszereinek bitmélységéről (aarch64 vs armhfp): melyik 64 bites operációs rendszer tud elvileg illeszkedni és működni a Raspberry 3-as verzióján. ++?
A „Userland” ARM architektúrához készült, szeretett CentOS-em nem sietett átváltani a kernel legújabb verziójára, és 64 bitesre váltani. Az isten tudja hova digitális aláírás nélkül csatlakoztatott EPEL-tár pedig rémálom volt nyugtalan álmomban...
Ebben a cikkben a telepítés módjáról fogok beszélni Fedora (aarch64) on Málna Pi 3 Modell B + в extra minimális teljesítmény. Röviden kitérek a Wi-Fi hozzáférési pont emelésének jellemzőire, amelyeket az előző konfigurációm próbaüzemének eredményeként azonosítottak. 7 CentOS.
0. Amire szüksége lesz
Minden ugyanaz, mint az előző cikkben:
Raspberry Pi 3 Model B+;
microSD >= 4 GB (később „átviheti” a rendszert 2 GB-os meghajtóra);
Munkaállomás Linux és microSD kártyaolvasóval;
Vezetékes hálózati kapcsolat a Raspberry és egy Linux munkaállomás között (ebben az esetben nincs szükség további monitorra és billentyűzetre a beállításhoz), internet hozzáférés mindkét eszközről;
Haladó Linux-készség (tudni, és nem kell félni: megosztott, dd и mkfs).
Hasonló az iteratívhoz lfs-saját Linuxot építve a Fedora disztribúciós kép kerül felhasználásra, majd ennek alapján egy minimális rendszert készítenek (anélkül, hogy "forrásból fordítanám").
Most letöltheti a „málnát” a microSD-ről, és a hálózaton keresztül csatlakozhat hozzá.
A hidegindítás körülbelül másfél percig tart. A rendszer TTX-je betöltés után:
rpm -qa | wc -l
444
2. Minimális rendszer összeállítása
Sajnos a fejlesztők „minimális elosztása” messze nem a legszerényebb erőforrás-felhasználásban. A rendszerkép még kicsinyíthető.
Ehhez le kell futtatnia a szkriptet a Malinkán:
#!/bin/bash
. /etc/os-release
P=$(mktemp --directory $(pwd)/$ID-$VERSION_ID.XXX)
dnf --installroot=$P --releasever=$VERSION_ID --setopt=install_weak_deps=false
--assumeyes install
bcm283x-firmware
dnf
grub2-efi-aa64
kernel
openssh-server
shim-aa64
for f in /boot/efi/EFI/fedora/grub.cfg
/boot/efi/EFI/fedora/grubenv
/boot/efi/rpi3-u-boot.bin
/etc/default/grub
/etc/fstab
do
cp -fv $f $P$f
done
rm -fv $P/dev/*
rm -rfv $P/var/cache/dnf
echo "--------------------------------------------------------------------------------"
du -hs $P
A szkript futtatása után egy alkönyvtár jön létre az aktuális könyvtárban ($P) az új minimális operációs rendszer kiadásának gyökér tartalmával. Kikapcsolhatja a Raspberry-t, és visszaküldheti a microSD-t a Linux-munkaállomásra.
3. Minimális rendszer telepítése
A telepítés abból áll, hogy a minimális operációs rendszer „image” fájljait (amelyeket az előző lépésben kaptunk) egy speciálisan előkészített microSD-kártyára másolunk a megfelelő könyvtárakba.
Az ssh-n keresztüli szuperfelhasználói hozzáférés az 1. lépéshez hasonlóan van beállítva.
Miután mindent gondosan és hibamentesen megtett, áthelyezheti a microSD-t a „málnába”, és elkezdhet dolgozni egy 64 bites operációs rendszerrel egy extra minimális verzióban.
Ez egy archívum, amely két fájlt tartalmaz: a telepítő szkriptet és a TGZ-t operációs rendszer fájlokkal. Az archívumot ki kell csomagolni egy Linux munkaállomáson, be kell helyezni egy microSD-t (egy 2 GB-os kártya elég), és le kell futtatni a szkriptet egy paraméterrel - az eszköz neve:
./install /dev/mmcblk0
Légy óvatos!
Figyelmeztetés nélkül megtörténik az eszköz formázása és az operációs rendszer telepítése.
A szkript hibamentes végrehajtása után a kártya átrendezhető a „málna”-ba, és használható: fogás dhcp-n keresztül, jelszó - „1”.
A rendszer mentes minden azonosítótól és kulcstól, ezért minden új telepítés egyedi.
Még egyszer megismétlem, a rendszer - minimális! Ezért ne ijedjen meg: a DNF elérhető, hogy működjön, ki kell „találnia” a megfelelőt / Etc / resolv.conf.
A Raspberry hidegindítása körülbelül 40 másodpercet vesz igénybe. A rendszer TTX-je betöltés után:
rpm -qa | wc -l
191
5. WiFi
Kicsit foglalkozom a Wi-Fi hozzáférési pont megvalósításának jellemzőivel. A részletekért az előző oldalamban olvashatsz cikk.
Az EPEL-re már nincs szükség - minden csomag megtalálható a hivatalos tárolókban.
Valószínűleg érdemes lenne feladni dnsmasq, mivel a Fedora a CentOS-szal ellentétben meglehetősen friss systemd-networkd-vel rendelkezik, amely normál beépített DHCP/DNS szerverekkel rendelkezik. De tény, hogy az RHEL8 fejlesztőiben megtagadta a hálózati verem támogatását az NM-en kívül semmi mással, nem ébreszt bizalmat a projekt fényes jövőjében (gazemberek). Egyszóval nem próbáltam.
Ezenkívül a beépített Wi-Fi adapter jelenlegi illesztőprogramjait nem lehet „ellopni” a Raspbian disztribúcióból, hanem közvetlenül letölthető GitHub.
Így néznek ki a Broadcom firmware-fájlok a Raspberry-n (vázlatosan):
Az interfészek számával és elnevezésével kapcsolatban. Most mindenkinek erősen ajánlom, hogy ne vegye igénybe a szoftverváltások „szolgáltatásait”, hacsak nem feltétlenül szükséges (híd), amelyek jelentős terhelést jelentenek a hálózati veremben, és csökkentik az útválasztást. Ha nem tervez több vezeték nélküli adaptert, akkor csak fizikai interfészt használjon. Két Wi-Fi-m van, ezért csak azokat kombinálom szoftverhídba (bár ezt is megteheti, ha másképp nézi a hostapd beállítását).
És szeretem az interfészek átnevezését.
Ehhez a Fedorában szimbolikus hivatkozást kell létrehoznia:
/etc/systemd/network/99-default.link -> /dev/null
és akkor lehet majd értelmes neveket adni piszkálás nélkül udev, de csak a systemd-networkd használatával.
Például így hívják az útválasztóm hálózati adaptereit:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
3: lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
4: int: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan state UP group default qlen 1000
5: ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master lan state UP group default qlen 1000
int - beépített, ext — külső (USB) Wi-Fi adapterek „hídba” összeszerelve lan;
halvány — Ethernet adapter, amelyhez az internet csatlakozik.
Megjegyezte? fq_code - Nagyon klassz dolog. Egy friss Linux kernellel együtt igazi csodákat tesznek a vezeték nélküli tartományban: egy heves „torrentletöltés” nem vezet a szomszédok sebességének hirtelen csökkenéséhez. Még az „éteren keresztül” működő, feltöltött csatornával működő otthoni IP-TV sem „szakad fel” és egyáltalán nem „dadog”!
A démon szolgáltatás fájlja kisebb módosításokon ment keresztül hostapd.
Most így néz ki (egy beépített adapter példájával):
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=network.target
BindsTo=sys-subsystem-net-devices-int.device
[Service]
Type=forking
PIDFile=/run/hostapd-int.pid
#ExecStartPre=/usr/sbin/iw dev int set power_save off
ExecStart=/usr/sbin/hostapd /path/to/hostapd-int.conf -P /run/hostapd-int.pid -B
[Install]
RequiredBy=sys-subsystem-net-devices-int.device
És a „varázslatos” hostapd-int.conf az 5 GHz/AC technológiához:
(Internet kapcsolat - 100Mbit/sec)
És végül egy kis GYIK.
6. GYIK
6.1 Miért készítsünk Wi-Fi útválasztót a Raspberry-n?
Egyszerűen lehetne válaszolni: „Érdekes kipróbálni, meg minden.”
De valójában úgy tűnik számomra, hogy a téma elég komoly. A „véres” internet korszakában egy router vásárlása egy boltban és a gyártó túsza maradása nagyon lehangoló kilátás. Sokan már megértik, hogy CVE-vel vagy beépített hátsó ajtóval ülni nem lehet.
Természetesen a rajongóktól áttérhet a WRT firmware-re. Valószínűleg nagyobb a bizalom bennük, de ha nem akarsz tőlük függeni, akkor csak használd a saját termékedet. Ideális esetben egy teljes értékű számítógép, hogy a világon minden megvalósítható legyen rajta. Természetesen az útválasztást illetően.
Ezért a „málna” kiválasztása pusztán gazdasági lépés: valódi számítógép és egyben olcsó. Bár talán az is - a benne lévő „kettősökkel”.
6.2 De a Raspberry egy „alacsony útválasztó”: lassú és egyetlen Ethernet porttal!
Otthoni Wi-Fi routerként számomra a Raspberry több mint kielégítő. A légsebességről fentebb már beszéltem. És csak egy Ethernet van, nos, az Apple hasonló termékében ez körülbelül ugyanaz!
De komolyan, persze többet szeretnék. És annak ellenére, hogy az én háztartásomban minden eszköz vezeték nélkül csatlakozik, néha még mindig szükség van réz csatlakozásra. Ilyen esetekre van raktáron egy „mobil hub”:
készülék - valami ilyesmi
6.3 Ha ez egy router, akkor nem mondanak semmit a TCP/IP „tuningolásáról”, mert ez fontos!
A hálózati verem beállítása mellett (tcp_fastopen, YeAH stb.) ez és az előző cikk nem tér ki más árnyalatokra, különös tekintettel a microSD optimális felhasználásra való előkészítésének folyamatára (bár a telepítő megpróbálja formázni a memóriakártyát trükkös módszer). A fejlődés folyamata végtelen, csak időben meg kell állni.
6.4 Miért a Fedora?
Mert szeretem! A Fedora egy „mainstream” rendszer a strébereknek, akiknek ez a cikk valójában szól. A cikk írásakor talán az egyetlen olyan operációs rendszer, amelyet a Raspberry 64 bites verziójában hivatalosan is támogat a fejlesztők jelentős része (akiktől alig várom kernel 5.6).
6.5 Működik a Bluetooth? Milyen a videó/hang/GPIO?
Nem tudom. A cikk a rendszer minimális telepítéséről és Wi-Fi útválasztóként való későbbi használatáról szól.
6.6 Miért kezdődik az összes CentOS/Fedora/RedHat cikk a SELinux letiltásával?
Mivel a rendszer minimális, még tűzfal vagy segédprogramok sincsenek a beállításához. Akinek szüksége van rá, az mindent felszerelhet, amire szüksége van.
6.7 A rendszer nem használható, a jelszó nem módosítható - nincs passwd. Se ping, se semmi!
Van DNF. Vagy ez a telepítési lehetőség nem az Ön számára - használja a fejlesztők terjesztési készletét.
6.9 Azonnal szeretnék letölteni egy kész képet beállított Wi-Fi hozzáférési ponttal!
A telepítő „mindenki számára” előkészítése némi időt és erőfeszítést igényel. Ha valaki (hirtelen!) ezt tényleg érdekesnek és szükségesnek találja, írjon nekünk, és kitalálunk valamit.
Ezzel befejezem.
Mindenkinek biztonságos szörfözést és az infrastruktúra feletti maximális kontrollt kívánok!