ProHoster > Blogs > Administrācija > Raspberry Pi + Fedora (aarch64) = Wi-Fi tīklājs (vai aveņu maršrutētājs ar zilu cepuri)
Raspberry Pi + Fedora (aarch64) = Wi-Fi tīklājs (vai aveņu maršrutētājs ar zilu cepuri)
Rakstā Raspberry Pi + CentOS = Wi-Fi tīklājs (vai aveņu maršrutētājs ar sarkanu cepuri) Es runāju par veidu, kā pārvērst Raspberry par bezvadu piekļuves punktu, izmantojot CentOS operētājsistēmu. Saliekot savu mājas maršrutētāju pēc šī zīmējuma, es apmierināju savu radošo ego un saņēmu sirdsmieru stimulu par svarīgu manas mājīgās infrastruktūras elementu. Taču risinājuma nepabeigtības sajūta un iekšējais perfekcionisms mani vajā: "nepilnīgam darba rezultātam nav tiesību pastāvēt." Doma, ka “ideālu var un vajag sasniegt” mani nepameta ne uz minūti.
Un tad kādu dienu vienā no tematiskajiem forumiem es saskāros ar diskusiju par Raspberry esošo operētājsistēmu bitu dziļumu (aarch64 vs armhfp): kura 64 bitu operētājsistēma principā var būt piemērota un darboties Raspberry 3. ++?
Mans mīļais CentOS ARM arhitektūrai no “Userland” nesteidzās pārslēgties uz jaunāko kodola versiju un pārvērsties par 64 bitu. Un EPEL krātuve, kas savienota no Dievs zina, kur bez ciparparaksta, manā nemierīgajā miegā bija murgs...
Šajā rakstā es runāšu par instalēšanas metodi Fedora (aarch64) par Aveņu Pi 3 B + modelis в īpaši minimāla veiktspēja. Es īsi pakavēšos pie Wi-Fi piekļuves punkta paaugstināšanas funkcijām, kas tika identificētas manas iepriekšējās konfigurācijas izmēģinājuma darbības rezultātā 7 CentOS.
0. Kas jums būs nepieciešams
Viss ir tāds pats kā iepriekšējā rakstā:
Raspberry Pi 3 modelis B+;
microSD >= 4GB (vēlāk varēsiet “pārnest” sistēmu uz 2GB disku);
Darbstacija ar Linux un microSD karšu lasītāju;
Vadu tīkla savienojums starp Raspberry un Linux darbstaciju (šajā gadījumā iestatīšanai nebūs nepieciešams papildu monitors un tastatūra), piekļuve internetam no abām ierīcēm;
Padziļinātas Linux prasmes (zināt un nebaidīties: šķīrās, dd и mkfs).
Līdzīgi iteratīvajam LFS-veidojot savu Linux, tiks izmantots Fedora izplatīšanas attēls, un pēc tam, pamatojoties uz to, tiks izveidota minimāla sistēma (bez “kompilēšanas no avota”).
Tagad jūs varat lejupielādēt “aveņu” no microSD un izveidot savienojumu ar to, izmantojot tīklu.
Aukstā palaišana aizņem apmēram pusotru minūti. Sistēmas TTX pēc ielādes:
rpm -qa | wc -l
444
2. Minimālās sistēmas salikšana
Diemžēl izstrādātāju “minimālais sadalījums” ir tālu no pieticīgākā resursu patēriņa ziņā. Sistēmas attēlu var padarīt vēl mazāku.
Lai to izdarītu, Malinka ir jāpalaiž skripts:
#!/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ēc skripta palaišanas pašreizējā direktorijā tiks izveidots apakšdirektorijs ($P) ar jaunā minimālā OS izdevuma saknes saturu. Varat izslēgt Raspberry un atgriezt microSD karti Linux darbstacijā.
3. Minimālās sistēmas uzstādīšana
Instalēšana ir saistīta ar minimālo OS “attēla” failu (iegūto iepriekšējā solī) kopēšanu uz īpaši sagatavotu microSD atbilstošajos direktorijos.
Pietiek ar 2 GB karti un diviem nodalījumiem tajā:
/ boot / efi - EFI+FAT32, sāknēšana, 100 MB;
/ (sakne) - EXT4, visa atlikušā vieta.
Pēc microSD sagatavošanas un failu kopēšanas tajā, jums ir nepieciešams:
Superlietotāja piekļuve, izmantojot ssh, ir konfigurēta līdzīgi kā 1. darbībā.
Paveicot visu rūpīgi un bez kļūdām, varat pārvietot microSD uz "aveņu" un sākt strādāt ar 64 bitu OS papildu minimālajā versijā.
4. Gatava sistēma
Gatavās sistēmas “attēlu”, kas izveidots saskaņā ar iepriekš sniegtajiem norādījumiem, var lejupielādēt no saites: Fedora-Tiny-31-5.5.7-200.aarch64
Šis būs arhīvs, kurā būs divi faili: instalācijas skripts un TGZ ar OS failiem. Arhīvs ir jāizpako Linux darbstacijā, jāievieto microSD (pietiek ar 2GB karti) un jāpalaiž skripts ar parametru - ierīces nosaukumu:
./install /dev/mmcblk0
Esi uzmanīgs!
Bez brīdinājumiem ierīce tiks formatēta un tajā tiks instalēta operētājsistēma.
Pēc skripta izpildes bez kļūdām karti var pārkārtot "avenē" un izmantot: noķert caur dhcp, parole - "1".
Sistēma ir atbrīvota no visiem ID un atslēgām, tāpēc katra jauna instalācija ir unikāla.
Es atkārtoju vēlreiz, sistēma - minimāls! Tāpēc neuztraucieties: DNF ir pieejams, lai tas darbotos, jums būs “jāizgudro” pareizais. / Etc / resolv.conf.
Raspberry aukstā palaišana aizņem apmēram 40 sekundes. Sistēmas TTX pēc ielādes:
rpm -qa | wc -l
191
5. Bezvadu internets
Es nedaudz pakavēšos pie Wi-Fi piekļuves punkta ieviešanas funkcijām. Lai iegūtu sīkāku informāciju, varat skatīt manu iepriekšējo raksts.
EPEL vairs nav vajadzīgs - visas pakotnes atrodas oficiālajos repozitorijos.
Droši vien būtu vērts atteikties dnsmasq, jo Fedora, atšķirībā no CentOS, ir diezgan nesens systemd-networkd, kurā ir normāli iebūvēti DHCP/DNS serveri. Bet fakts ir tāds, ka RHEL8 izstrādātājiem atteicās atbalstīt tīkla steku ar jebko citu, izņemot NM, nevieš pārliecību par projekta gaišo nākotni (neliešiem). Īsāk sakot, neesmu mēģinājis.
Turklāt pašreizējos iebūvētā Wi-Fi adaptera draiverus nevar “nozagt” no Raspbian izplatīšanas, bet gan lejupielādēt tieši no GitHub.
Šādi izskatās Broadcom programmaparatūras faili manā Raspberry (shēmiski):
Par saskarņu skaitu un nosaukumiem. Tagad es stingri iesaku visiem neizmantot programmatūras slēdžu “pakalpojumus”, ja vien tas nav absolūti nepieciešams (tilts), kas rada ievērojamu slodzi tīkla stekam un nomāc maršrutēšanu. Ja neplānojat izmantot vairākus bezvadu adapterus, izmantojiet tikai fiziskās saskarnes. Man ir divi Wi-Fi, tāpēc es apvienoju tikai tos programmatūras tiltā (lai gan jūs varat iztikt bez tā, citādi aplūkojot hostapd iestatījumus).
Un man patīk pārdēvēt saskarnes.
Lai to izdarītu programmā Fedora, jums ir jāizveido simboliska saite:
/etc/systemd/network/99-default.link -> /dev/null
un tad varēs jēdzīgus vārdus dot bez bakstīšanās udev, bet tikai izmantojot systemd-networkd.
Piemēram, šādi tiek saukti tīkla adapteri manā maršrutētājā:
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 - iebūvēts, ext — ārējie (USB) Wi-Fi adapteri, kas samontēti “tiltā” lan;
bāls — Ethernet adapteris, kuram ir pievienots internets.
Vai pamanījāt? fq_code - tiešām forša lieta. Kopā ar jaunu Linux kodolu tie rada īstus brīnumus bezvadu diapazonā: sīva "torrent lejupielāde" neizraisīs pēkšņu ātruma samazināšanos kaimiņu vidū. Pat mājas IP-TV, kas darbojas "pa ēterā" ar ielādētu kanālu, "nesadalās" un vispār "nestostās"!
Dēmona pakalpojuma failā ir veiktas nelielas izmaiņas hostapd.
Tagad tas izskatās šādi (izmantojot iebūvētā adaptera piemēru):
[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
Un “maģiskais” hostapd-int.conf darbam ar 5 GHz/AC:
(Interneta savienojums - 100Mbit/sek)
Un visbeidzot neliels FAQ.
6. Bieži uzdotie jautājumi
6.1 Kāpēc izveidot Wi-Fi maršrutētāju vietnē Raspberry?
Varētu atbildēt vienkārši, piemēram, "ir interesanti izmēģināt un viss."
Bet patiesībā man šķiet, ka tēma ir diezgan nopietna. “Asiņainā” interneta laikmetā maršrutētāja iegāde veikalā un tā ražotāja ķīlnieka palikšana ir ļoti drūma perspektīva. Daudzi jau saprot, ka sēdēt ar CVE vai iebūvētām aizmugures durvīm nav iespējams.
Protams, jūs varat migrēt uz WRT programmaparatūru no entuziastiem. Iespējams, ka viņiem ir lielāka uzticība, taču, ja nevēlaties no viņiem paļauties, izmantojiet tikai savu produktu. Ideālā gadījumā pilnvērtīgs dators, lai tajā varētu realizēt visu pasaulē. Protams, maršrutēšanas ziņā.
Tāpēc “aveņu” izvēle ir tīri ekonomisks solis: īsts dators un tajā pašā laikā lēts. Lai gan, iespējams, arī - ar saviem “dubultiem” iekšā.
6.2 Bet Raspberry ir “zems maršrutētājs”: lēns un ar vienu Ethernet portu!
Kā mājas Wi-Fi maršrutētājs Raspberry man ir vairāk nekā apmierinošs. Iepriekš jau runāju par gaisa ātrumu. Un ir tikai viens Ethernet, labi, līdzīgā Apple produktā tas ir aptuveni vienāds!
Bet ja nopietni, protams, gribētos vairāk. Un, neskatoties uz to, ka manā mājsaimniecībā visas ierīces ir savienotas bezvadu režīmā, dažkārt joprojām ir nepieciešams vara savienojums. Šādiem gadījumiem man ir pieejams “mobilais centrmezgls”:
ierīce - kaut kas līdzīgs šim
6.3 Ja tas ir maršrutētājs, tad nekas nav teikts par TCP/IP “noskaņošanu”, jo tas ir svarīgi!
Papildus tīkla steka iestatīšanai (tcp_fastopen, YeAH utt.) šis un iepriekšējais raksts neaptver citas nianses, jo īpaši microSD sagatavošanas procesu optimālai lietošanai (lai gan instalētājs mēģina formatēt atmiņas karti sarežģīts veids). Uzlabošanas process ir bezgalīgs, jums vienkārši jāapstājas laikā.
6.4 Kāpēc Fedora?
Tapec ka man patik! Fedora ir “mainstream” sistēma dīķiem, kuriem šis raksts patiesībā ir paredzēts. Rakstīšanas laikā, iespējams, vienīgā OS, kuru Raspberry 64 bitu versijā oficiāli atbalsta ievērojams izstrādātāju personāls (no kuriem es nevaru sagaidīt kodols 5.6).
6.5 Vai Bluetooth darbojas? Kā ir ar video/skaņu/GPIO?
Nezinu. Raksts ir par sistēmas minimālo uzstādīšanu un turpmāko izmantošanu kā Wi-Fi maršrutētāju.
6.6. Kāpēc visi raksti par CentOS/Fedora/RedHat sākas ar SELinux atspējošanu?
Tā kā sistēma ir minimāla, tai pat nav ugunsmūra vai utilītu tās iestatīšanai. Ikviens, kam tas ir nepieciešams, var papildus uzstādīt visu nepieciešamo.
6.7 Sistēmu nevar izmantot, paroli nevar mainīt - no passwd. Nav ping, nav nekā!
Ir DNF. Vai arī šī instalēšanas opcija nav paredzēta jums - izmantojiet izstrādātāju izplatīšanas komplektu.
6.9 Vēlos nekavējoties lejupielādēt gatavu attēlu ar konfigurētu Wi-Fi piekļuves punktu!
Lai sagatavotu uzstādītāju “visiem”, būs vajadzīgs zināms laiks un pūles. Ja (pēkšņi!) kādam tas tiešām šķiet interesants un vajadzīgs, rakstiet mums un mēs kaut ko izdomāsim.
Es pabeigšu ar šo.
Novēlu visiem drošu sērfošanu un maksimālu kontroli pār infrastruktūru!