ProHoster > Blog > administrasie > Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (of framboos-router met 'n blou hoed)
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (of framboos-router met 'n blou hoed)
Die artikel Raspberry Pi + CentOS = Wi-Fi Hotspot (of Raspberry Red Hat Router) Ek het gepraat oor 'n manier om 'n Framboos in 'n draadlose toegangspunt te verander met die CentOS-bedryfstelsel. Deur my tuisrouter volgens hierdie tekening saam te stel, het ek my kreatiewe ego bevredig en 'n hupstoot van gemoedsrus gekry vir 'n kritieke element van my knus infrastruktuur. Die gevoel van onvoltooidheid van die oplossing en interne perfeksionisme het egter by my gespook: "'n onvolmaakte resultaat van werk het geen bestaansreg nie." Die gedagte dat “die ideaal bereik kan en moet word” het my nie vir 'n minuut verlaat nie.
En toe kom ek eendag, op een van die tematiese forums, af op 'n bespreking oor die bietjie diepte van bestaande bedryfstelsels vir Raspberry (aarch64 vs armhfp): watter 64-bis OS kan in beginsel pas en werk op Raspberry weergawe 3 ++?
My geliefde CentOS vir die ARM-argitektuur van "Userland" was nie haastig om na die nuutste weergawe van die kern oor te skakel en in 64-bis te verander nie. En die EPEL-bewaarplek, verbind van God weet waar sonder 'n digitale handtekening, was 'n nagmerrie in my rustelose slaap...
In hierdie artikel sal ek praat oor die installasiemetode Fedora (aarch64) op Framboos Pi 3 Model B + в ekstra minimale prestasie. Ek sal kortliks stilstaan by die kenmerke van die verhoging van 'n Wi-Fi-toegangspunt, geïdentifiseer as gevolg van proefwerking van my vorige konfigurasie op CentOS 7.
0. Wat jy nodig het
Alles is dieselfde as in die vorige artikel gelys:
Raspberry Pi 3 Model B+;
microSD >= 4GB (later kan jy die stelsel na 'n 2GB-skyf “oorplaas”);
Werkstasie met Linux en microSD kaartleser;
Bedrade netwerkverbinding tussen die Framboos en 'n Linux-werkstasie (in hierdie geval sal geen bykomende monitor en sleutelbord nodig wees vir opstelling nie), internettoegang vanaf beide toestelle;
Gevorderde vaardigheid in Linux (om te weet en nie bang te wees nie: geskei, dd и mkfs).
Soortgelyk aan iteratief LFS-om u eie Linux te bou, sal die Fedora-verspreidingsbeeld gebruik word, en dan, gebaseer op dit, sal 'n minimale stelsel geskep word (sonder om van bron af saam te stel).
1. Installering van die oorspronklike verspreiding
Nou kan jy die "framboos" van microSD aflaai en via die netwerk daaraan koppel.
'n Koue begin neem ongeveer een en 'n half minute. TTX van die stelsel na laai:
rpm -qa | wc -l
444
2. Die samestelling van 'n minimale stelsel
Ongelukkig blyk die "minimale verspreiding" van die ontwikkelaars ver van die mees beskeie in hulpbronverbruik te wees. Die stelselbeeld kan selfs kleiner gemaak word.
Om dit te doen, moet jy die skrif op Malinka laat loop:
#!/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
Nadat die skrip uitgevoer is, sal 'n subgids in die huidige gids geskep word ($P) met die inhoud van die wortel van die nuwe minimale OS-uitgawe. Jy kan die Framboos afskakel en die microSD terugstuur na die Linux-werkstasie.
3. Installering van 'n minimale stelsel
Installasie kom daarop neer om die minimale OS-“beeld”-lêers (wat in die vorige stap verkry is) na 'n spesiaal voorbereide microSD na die toepaslike gidse te kopieer.
’n 2GB-kaart en twee partisies daarop is genoeg:
/ boot / efi - EFI+FAT32, selflaai, 100MB;
/ (wortel) - EXT4, alle oorblywende spasie.
Nadat u die microSD voorberei en lêers daarna gekopieer het, moet u:
maak OS selflaai reg;
skakel die netwerk aan;
konfigureer toegang via ssh.
Die opstartoplossing is om die UUID van die afdelings in die lêers te vervang:
Supergebruikertoegang via ssh word op soortgelyke wyse as stap 1 gekonfigureer.
Nadat u alles noukeurig en sonder foute gedoen het, kan u die microSD na die "framboos" skuif en met 'n 64-bis-bedryfstelsel in 'n ekstra minimale weergawe begin werk.
4. Gereed stelsel
Die "beeld" van die voltooide stelsel, geskep volgens die instruksies hierbo, kan afgelaai word vanaf die skakel: Fedora-Tiny-31-5.5.7-200.aarch64
Dit sal 'n argief wees wat twee lêers bevat: die installasieskrip en TGZ met OS-lêers. Die argief moet op 'n Linux-werkstasie uitgepak word, 'n microSD invoeg ('n 2GB-kaart is genoeg) en die skrip met 'n parameter laat loop - die naam van die toestel:
./install /dev/mmcblk0
Wees versigtig!
Sonder enige waarskuwings sal die toestel geformateer word en die bedryfstelsel sal daarop geïnstalleer word.
Na foutvrye uitvoering van die skrif, kan die kaart herrangskik word in die "framboos" en gebruik word: vang via dhcp, wagwoord - "1".
Die stelsel word van alle ID's en sleutels skoongemaak, en daarom is elke nuwe installasie uniek.
Ek herhaal weereens, die stelsel - minimaal! Daarom, moenie bekommerd wees nie: DNF is beskikbaar, om te werk sal jy die regte een moet "uitdink". /etc/resolv.conf.
Die koue begin van die Framboos neem ongeveer 40 sekondes. TTX van die stelsel na laai:
rpm -qa | wc -l
191
5. WiFi
Ek sal 'n bietjie stilstaan by die kenmerke van die implementering van 'n Wi-Fi-toegangspunt. Vir besonderhede kan u na my vorige verwys Artikel.
EPEL is nie meer nodig nie - alle pakkette is in die amptelike bewaarplekke vervat.
Dit sal waarskynlik die moeite werd wees om op te gee dnsmasq, aangesien Fedora, anders as CentOS, 'n redelik onlangse systemd-networkd het, wat normale ingeboude DHCP/DNS-bedieners het. Maar die feit is dat in RHEL8 ontwikkelaars het geweier om die netwerkstapel met enigiets anders as NM te ondersteun, inspireer nie vertroue in die blink toekoms van die projek nie (skelms). Kortom, ek het dit nie probeer nie.
Verder kan die huidige drywers vir die ingeboude Wi-Fi-adapter nie van die Raspbian-verspreiding “gesteel” word nie, maar direk vanaf Github.
Dit is hoe die Broadcom-firmware-lêers op my Framboos lyk (skematies):
Met betrekking tot die aantal en name van koppelvlakke. Nou beveel ek sterk aan dat almal nie gebruik maak van die "dienste" van sagtewareskakelaars nie, tensy dit absoluut noodsaaklik is (oorbrug), wat aansienlike las in die netwerkstapel inbring en roetering onderdruk. As jy nie van plan is om verskeie draadlose adapters te hê nie, moet jy slegs fisiese koppelvlakke gebruik. Ek het twee Wi-Fi, so ek kombineer net hulle in 'n sagteware-brug (alhoewel jy daarsonder kan klaarkom deur anders na die hostapd-opstelling te kyk).
En ek is mal daaroor om koppelvlakke te hernoem.
Om dit in Fedora te doen, moet jy 'n simboliese skakel skep:
/etc/systemd/network/99-default.link -> /dev/null
en dan sal dit moontlik wees om betekenisvolle name te gee sonder om rond te steek uitev, maar slegs met behulp van systemd-networkd.
Byvoorbeeld, dit is wat die netwerkadapters in my router genoem word:
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 - ingeboude, ext - eksterne (USB) Wi-Fi-adapters saamgestel in 'n "brug" lan;
skop — Ethernet-adapter waaraan die internet gekoppel is.
Het jy opgemerk? fq_kodeel - 'n baie oulike ding. Saam met 'n vars Linux-kern verrig hulle werklike wonderwerke in die draadlose reeks: 'n hewige "torrent-aflaai" sal nie lei tot 'n skielike verswakking van spoed onder bure nie. Selfs 'n tuis-IP-TV wat "oor die lug" werk met 'n gelaaide kanaal, "breek nie op" en "hakkel" glad nie!
Die daemon-dienslêer het geringe veranderinge ondergaan hostapd.
Dit lyk nou so (met die voorbeeld van 'n ingeboude adapter):
[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
En die "magic" hostapd-int.conf om in 5GHz/AC te werk:
'n Klein photoshop gemaak van my Ericsson A1018's:
(Internet konneksie - 100Mbit/sek.)
En laastens, 'n klein algemene vrae.
6. Vrae
6.1 Waarom 'n Wi-Fi-roeteerder op Framboos maak?
Mens kan eenvoudig antwoord, soos "dit is interessant om te probeer en dit alles."
Maar eintlik lyk dit vir my of die onderwerp nogal ernstig is. In die era van die "bloedige" internet is dit 'n baie droewige vooruitsig om 'n router in 'n winkel te koop en gyselaar te bly vir die vervaardiger daarvan. Baie mense verstaan reeds dat dit nie moontlik is om met 'n CVE of ingeboude agterdeur te sit nie.
Natuurlik kan u van entoesiaste na WRT-firmware migreer. Daar is waarskynlik meer vertroue in hulle, maar as jy nie op hulle wil staatmaak nie, gebruik dan net jou eie produk. Ideaal gesproke 'n volwaardige rekenaar sodat alles in die wêreld daarop geïmplementeer kan word. In terme van roetering, natuurlik.
Daarom is die keuse van 'n "framboos" 'n suiwer ekonomiese skuif: 'n regte rekenaar en terselfdertyd 'n goedkoop een. Alhoewel, miskien ook - met hul "dubbels" binne.
6.2 Maar Framboos is 'n "lae router": stadig en met een Ethernet-poort!
As 'n tuis-Wi-Fi-router is die Framboos vir my meer as bevredigend. Ek het reeds hierbo oor lugspoed gepraat. En daar is net een Ethernet, wel, in 'n soortgelyke produk van Apple is dit omtrent dieselfde!
Maar ernstig, natuurlik wil ek meer hê. En ten spyte van die feit dat in my huishouding alle toestelle draadloos gekoppel is, is soms 'n koperverbinding steeds nodig. Vir sulke gevalle het ek 'n "mobiele spilpunt" in voorraad:
toestel - iets soos hierdie
6.3 As dit 'n router is, word niks gesê oor die “tuning” van TCP/IP nie, want dit is belangrik!
Benewens die opstel van die netwerkstapel (tcp_fastopen, YeAH, ens.), Dek hierdie en die vorige artikel nie ander nuanses nie, veral die proses om microSD voor te berei vir optimale gebruik (alhoewel die installeerder probeer om die geheuekaart in 'n moeilike manier). Die proses van verbetering is eindeloos, jy moet net betyds stop.
6.4 Hoekom Fedora?
Want ek hou van! Fedora is 'n "hoofstroom" stelsel vir geeks, vir wie hierdie artikel eintlik bedoel is. Ten tyde van die skryf hiervan is miskien die enigste bedryfstelsel wat vir Raspberry in 64-bis weergawe amptelik ondersteun word deur 'n beduidende personeel ontwikkelaars (van wie ek nie kan wag nie) kern 5.6).
6.5 Werk Bluetooth? Hoe is die video/klank/GPIO?
Weet nie. Die artikel handel oor die minimale installering van die stelsel en die daaropvolgende gebruik daarvan as 'n Wi-Fi-roeteerder.
6.6 Waarom begin alle artikels oor CentOS/Fedora/RedHat met die deaktivering van SELinux?
Omdat die stelsel minimaal is, het dit nie eens 'n firewall of nutsprogramme om dit op te stel nie. Enigiemand wat dit nodig het, kan bykomend alles installeer wat hulle nodig het.
6.7 Die stelsel kan nie gebruik word nie, die wagwoord kan nie verander word nie - geen passwd. Geen ping, niks niks!
Daar is DNF. Of hierdie installasie-opsie is nie vir jou nie - gebruik die verspreidingskit van die ontwikkelaars.
6.9 Ek wil dadelik 'n klaargemaakte prent met 'n gekonfigureerde Wi-Fi-toegangspunt aflaai!
Om 'n installeerder "vir almal" voor te berei, sal tyd en moeite verg. As (skielik!) iemand dit regtig interessant en nodig vind, skryf vir ons en ons kom met iets vorendag.
Ek sal hiermee klaarmaak.
Ek wens almal veilige branderry en maksimum beheer oor die infrastruktuur toe!