ProHoster > Blogi > Haldamine > Raspberry Pi + Fedora (aarch64) = Wi-Fi leviala (või sinise mütsiga vaarika ruuter)
Raspberry Pi + Fedora (aarch64) = Wi-Fi leviala (või sinise mütsiga vaarika ruuter)
Artikkel Raspberry Pi + CentOS = Wi-Fi leviala (või punase mütsiga vaarika ruuter) Rääkisin viisist, kuidas muuta Raspberry CentOS-i operatsioonisüsteemi abil traadita pääsupunktiks. Selle joonise järgi oma koduruuteri kokku pannes rahuldasin oma loomingulise ego ja sain hingerahu tõuke oma hubase taristu kriitilise elemendi jaoks. Küll aga kummitas mind lahenduse mittetäielikkuse tunne ja sisemine perfektsionism: "töö ebatäiuslikul tulemusel pole õigust eksisteerida." Mõte, et “ideaali saab ja tuleb saavutada”, ei jätnud mind hetkekski.
Ja siis ühel päeval sattusin ühel temaatilisel foorumil arutelule Raspberry olemasolevate operatsioonisüsteemide bitisügavuse üle (aarch64 vs armhfp): milline 64-bitine OS võib põhimõtteliselt sobida ja töötada Raspberry versiooniga 3. ++?
Minu armastatud CentOS ARM-arhitektuuri jaoks kasutajalt “Userland” ei kiirustanud lülituma kerneli uusimale versioonile ja muutuma 64-bitiseks. Ja jumal teab kust ilma digiallkirjata ühendatud EPEL repositoorium oli mu rahutu une õudusunenägu...
Selles artiklis räägin installimeetodist Fedora (aarch64) edasi Vaarika Pi 3 mudel B + в ekstra minimaalne jõudlus. Peatun lühidalt Wi-Fi pääsupunkti tõstmise funktsioonidel, mis tuvastati minu eelmise konfiguratsiooni proovitöö tulemusena 7 CentOS.
0. Mida te vajate
Kõik on sama, mis eelmises artiklis:
Raspberry Pi 3 mudel B+;
microSD >= 4 GB (hiljem saate süsteemi "üle kanda" 2 GB kettale);
Linuxi ja microSD-kaardi lugejaga tööjaam;
Juhtmega võrguühendus Raspberry ja Linuxi tööjaama vahel (sel juhul pole seadistamiseks vaja täiendavat monitori ja klaviatuuri), Interneti-ühendus mõlemast seadmest;
Täiustatud oskused Linuxis (teada ja mitte karta: lahus, dd и mkfs).
Sarnaselt iteratiivsele LFS-ehitades oma Linuxi, kasutatakse Fedora distributsioonipilti ja seejärel luuakse selle põhjal minimaalne süsteem (ilma “allikast kompileerimata”).
Nüüd saate alla laadida "vaarika" microSD-lt ja sellega võrgu kaudu ühenduse luua.
Külmkäivitus võtab aega umbes poolteist minutit. Süsteemi TTX pärast laadimist:
rpm -qa | wc -l
444
2. Minimaalse süsteemi kokkupanek
Kahjuks ei osutu arendajate “minimaalne jaotus” ressursside tarbimise osas kaugeltki kõige tagasihoidlikumaks. Süsteemi pilti saab veelgi väiksemaks muuta.
Selleks peate Malinkas skripti käivitama:
#!/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
Pärast skripti käivitamist luuakse praeguses kataloogis alamkataloog ($P) uue minimaalse OS-i väljaande juure sisuga. Saate Raspberry välja lülitada ja microSD-kaardi Linuxi tööjaama tagasi saata.
Superkasutaja juurdepääs ssh-i kaudu on konfigureeritud sarnaselt sammuga 1.
Olles teinud kõik hoolikalt ja vigadeta, saate microSD-kaardi „vaarika” teisaldada ja alustada tööd 64-bitise operatsioonisüsteemiga minimaalses minimaalses versioonis.
See on arhiiv, mis sisaldab kahte faili: installiskript ja TGZ OS-failidega. Arhiiv tuleb Linuxi tööjaamas lahti pakkida, sisestada microSD (piisab 2 GB kaardist) ja käivitada skript parameetriga - seadme nimi:
./install /dev/mmcblk0
Olge ettevaatlik!
Ilma hoiatusteta seade vormindatakse ja sellele installitakse operatsioonisüsteem.
Pärast skripti veatut täitmist saab kaardi ümber korraldada vaarikaks ja kasutada: püüda dhcp kaudu, parool - "1".
Süsteem on puhastatud kõigist ID-dest ja võtmetest, mistõttu on iga uus install ainulaadne.
Kordan veel kord, süsteem - minimaalne! Seetõttu ärge kartke: DNF on saadaval, selle toimimiseks peate "leiutama" õige / Etc / resolv.conf.
Raspberry külmkäivitus võtab aega umbes 40 sekundit. Süsteemi TTX pärast laadimist:
rpm -qa | wc -l
191
5. WiFi
Ma peatun veidi Wi-Fi pääsupunkti juurutamise funktsioonidel. Täpsemalt saate vaadata minu eelmist siit.
EPEL-i pole enam vaja – kõik paketid asuvad ametlikes hoidlates.
Ilmselt tasuks loobuda dnsmasq, kuna erinevalt CentOS-ist on Fedoral üsna värske systemd-networkd, millel on tavalised sisseehitatud DHCP/DNS-serverid. Kuid fakt on see, et RHEL8 arendajatel keeldus toetamast võrgupinu millegi muuga peale NM-i, ei ärata kindlustunnet projekti helge tuleviku suhtes (kelmid). Ühesõnaga, ma pole proovinud.
Lisaks ei saa sisseehitatud Wi-Fi-adapteri praeguseid draivereid Raspbiani distributsioonist "varastada", vaid need saab otse veebisaidilt alla laadida. github.
Sellised näevad Broadcomi püsivara failid minu Raspberryl välja (skemaatiliselt):
Liideste arvu ja nimetuste kohta. Nüüd soovitan kõigil tungivalt mitte kasutada tarkvaralülitite "teenuseid", kui see pole tingimata vajalik (sild), mis koormavad oluliselt võrgupinu ja pärsivad marsruutimist. Kui te ei plaani omada mitut traadita adapterit, peaksite kasutama ainult füüsilisi liideseid. Mul on kaks WiFi-t, nii et ühendan ainult need tarkvarasillaks (kuigi saate ilma selleta hakkama, kui vaatate hostapdi seadistust erinevalt).
Ja mulle meeldib liideste ümbernimetamine.
Selleks peate Fedoras looma sümboolse lingi:
/etc/systemd/network/99-default.link -> /dev/null
ja siis saab ilma tuhnimata tähendusrikkaid nimesid panna udev, kuid ainult systemd-networkd abil.
Näiteks minu ruuteri võrguadaptereid nimetatakse nii:
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 - sisseehitatud, ext — sillaks kokku pandud välised (USB) Wi-Fi-adapterid lan;
nõrk — Etherneti adapter, millega on ühendatud Internet.
Kas sa märkasid? fq_kood - väga lahe asi. Koos värske Linuxi tuumaga teevad nad traadita ühenduses tõelisi imesid: äge "torrenti allalaadimine" ei too kaasa naabrite kiiruse järsku halvenemist. Isegi laetud kanaliga "eetri kaudu" töötav kodune IP-TV ei "murdu" ega "kokuta" üldse!
Deemoni teenuse failis on tehtud väikesed muudatused hostapd.
Nüüd näeb see välja selline (kasutades sisseehitatud adapteri näidet):
[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
Ja "maagiline" hostapd-int.conf 5 GHz/AC töötamiseks:
(Interneti-ühendus - 100Mbit/sek)
Ja lõpuks väike KKK.
6. KKK-d
6.1 Miks teha Raspberryle WiFi-ruuter?
Võiks vastata lihtsalt, nagu "huvitav on proovida ja kõik muu."
Aga tegelikult tundub mulle, et teema on päris tõsine. "Verise" Interneti ajastul on poest ruuteri ostmine ja selle tootja pantvangi jäämine väga nukker väljavaade. Paljud inimesed juba mõistavad, et CVE või sisseehitatud tagauksega istumine pole võimalik.
Loomulikult saate entusiastidelt WRT püsivarale üle minna. Tõenäoliselt usaldatakse neid rohkem, kuid kui te ei soovi neist sõltuda, kasutage lihtsalt oma toodet. Ideaalis täisväärtuslik arvuti, et selles saaks rakendada kõike maailmas. Marsruutimise osas muidugi.
Seetõttu on “vaarika” valimine puhtalt majanduslik samm: tõeline arvuti ja samal ajal odav. Ehkki võib-olla ka - nende “kahekordistutega” sees.
6.2 Kuid Raspberry on "madal ruuter": aeglane ja ühe Etherneti pordiga!
Koduse WiFi-ruuterina on Raspberry minu jaoks enam kui rahuldav. Õhukiirusest olen juba eespool rääkinud. Ja seal on ainult üks Ethernet, noh, sarnases Apple'i tootes on see umbes sama!
Aga kui tõsiselt rääkida, siis tahaks muidugi rohkem. Ja hoolimata sellest, et minu majapidamises on kõik seadmed juhtmevabalt ühendatud, on mõnikord vaskühendus ikkagi vajalik. Sellisteks puhkudeks on mul laos mobiilne jaotur:
seade - midagi sellist
6.3 Kui tegemist on ruuteriga, siis TCP/IP häälestamise kohta ei öelda midagi, sest see on oluline!
Lisaks võrgupinu seadistamisele (tcp_fastopen, YeAH jne) ei käsitle see ega eelmine artikkel muid nüansse, eriti microSD optimaalseks kasutamiseks ettevalmistamise protsessi (kuigi installija püüab mälukaarti vormindada keeruline viis). Paranemisprotsess on lõputu, peate lihtsalt õigel ajal peatuma.
6.4 Miks Fedora?
Sest mulle meeldib! Fedora on "peavoolu" süsteem nohikutele, kellele see artikkel tegelikult mõeldud on. Kirjutamise ajal võib-olla ainus OS, mida Raspberry 64-bitise versiooni puhul toetab ametlikult märkimisväärne hulk arendajaid (kellelt ma ei jõua ära oodata kernel 5.6).
6.5 Kas Bluetooth töötab? Kuidas on video/heli/GPIO?
Ei tea. Artikkel käsitleb süsteemi minimaalset installimist ja selle hilisemat kasutamist Wi-Fi ruuterina.
6.6 Miks algavad kõik CentOS/Fedora/RedHati käsitlevad artiklid SELinuxi keelamisega?
Kuna süsteem on minimaalne, pole sellel isegi tulemüüri ega utiliite selle seadistamiseks. Kõik, kes seda vajavad, saavad kõik vajaliku lisaks paigaldada.
6.7 Süsteemi ei saa kasutada, parooli muuta - passwd pole. Ei pingi, ei midagi!
On DNF. Või pole see installivalik teie jaoks - kasutage arendajate jaotuskomplekti.
6.9 Soovin kohe alla laadida valmis pildi koos seadistatud Wi-Fi pääsupunktiga!
Paigaldaja "kõigile" ettevalmistamine nõuab aega ja vaeva. Kui (äkki!) kellelegi see tõesti huvitav ja vajalik tundub, siis kirjutage meile ja leiame midagi välja.
Ma lõpetan sellega.
Soovin kõigile turvalist surfamist ja maksimaalset kontrolli infrastruktuuri üle!