ProHoster > ΠΠ»ΠΎΠ³ > Administrasi > Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (utawa router raspberry nganggo topi biru)
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (utawa router raspberry nganggo topi biru)
Ing artikel Raspberry Pi + CentOS = Wi-Fi Hotspot (utawa router raspberry nganggo topi abang) Aku ngomong babagan cara ngowahi Raspberry dadi jalur akses nirkabel nggunakake sistem operasi CentOS. Kanthi ngrakit dalan omahku miturut gambar iki, aku marem ego kreatif lan entuk katentreman atine kanggo unsur kritis infrastruktur sing mulyo. Nanging, rasa ora lengkap saka solusi lan perfeksionisme internal ngganggu aku: "asil karya sing ora sampurna ora duwe hak kanggo ana." Pikiran yen "sing becik bisa lan kudu digayuh" ora ninggalake aku sedina.
Banjur ing sawijining dina, ing salah sawijining forum tematik, aku nemoni diskusi babagan ambane sistem operasi sing ana kanggo Raspberry (aarch64 vs armhfp): sing OS 64-bit bisa, ing prinsip, pas lan bisa digunakake ing versi Raspberry 3. ++?
CentOS sing ditresnani kanggo arsitektur ARM saka "Userland" ora cepet-cepet ngalih menyang versi kernel paling anyar lan dadi 64-bit. Lan repositori EPEL, sing disambungake saka Gusti Allah ngerti ing ngendi tanpa tandha digital, dadi ngipi elek nalika turu ora tenang ...
Ing artikel iki aku bakal ngomong babagan cara instalasi Fedora (aarch64) ing Raspberry Pi 3 Model B + Π² kinerja minimal ekstra. Aku bakal ngrembug babagan fitur ngunggahake titik akses Wi-Fi, sing diidentifikasi minangka asil saka operasi nyoba konfigurasi sadurunge ing CentOS 7.
0. Apa sampeyan kudu
Kabeh padha karo sing kadhaptar ing artikel sadurunge:
Raspberry Pi 3 Model B+;
microSD> = 4GB (mengko sampeyan bisa "transfer" sistem menyang drive 2GB);
Workstation karo maca kertu Linux lan microSD;
Konektivitas jaringan kabel antarane Raspberry lan workstation Linux (ing kasus iki, ora perlu monitor lan keyboard tambahan kanggo persiyapan), akses Internet saka piranti loro-lorone;
Katrampilan majeng ing Linux (kanggo ngerti lan ora wedi: pisah, dd ΠΈ mkfs).
Mirip iteratif lfs-bangunan Linux dhewe, gambar distribusi Fedora bakal digunakake, banjur adhedhasar, sistem minimal bakal digawe (tanpa "nyusun saka sumber").
Saiki sampeyan bisa ngundhuh "raspberry" saka microSD lan nyambung menyang jaringan.
A wiwitan kadhemen njupuk bab siji lan setengah menit. TTX sistem sawise loading:
rpm -qa | wc -l
444
2. Assembling sistem minimal
Sayange, "distribusi minimal" saka pangembang dadi adoh saka konsumsi sumber daya sing paling andhap asor. Gambar sistem bisa digawe luwih cilik.
Kanggo nindakake iki, sampeyan kudu mbukak skrip ing Malinka:
#!/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
Sawise mbukak skrip, subdirektori bakal digawe ing direktori saiki ($P) kanthi isi oyod edisi OS minimal anyar. Sampeyan bisa mateni Raspberry lan bali microSD menyang workstation Linux.
3. Instalasi sistem minimal
Instalasi mudhun kanggo nyalin file "gambar" OS minimal (dipikolehi ing langkah sadurunge) menyang microSD sing disiapake khusus menyang direktori sing cocog.
Kertu 2GB lan rong partisi cukup:
/ boot / efi - EFI+FAT32, boot, 100MB;
/ (ROOT) - EXT4, kabeh papan sing isih ana.
Sawise nyiapake microSD lan nyalin file menyang, sampeyan kudu:
ndandani OS boot;
nguripake jaringan;
ngatur akses liwat ssh.
Ndandani boot yaiku ngganti UUID saka bagean ing file:
Akses superuser liwat ssh dikonfigurasi padha karo langkah 1.
Sawise nindakake kabeh kanthi ati-ati lan tanpa kesalahan, sampeyan bisa mindhah microSD menyang "raspberry" lan miwiti nggarap OS 64-bit ing versi minimal.
Iki bakal dadi arsip sing ngemot rong file: skrip instalasi lan TGZ karo file OS. Arsip kasebut kudu dibongkar ing workstation Linux, lebokake microSD (kertu 2GB cukup) lan mbukak skrip kanthi parameter - jeneng piranti:
./install /dev/mmcblk0
Ati-ati!
Tanpa bebaya, piranti bakal diformat lan sistem operasi bakal diinstal ing.
Sawise eksekusi skrip tanpa kesalahan, kertu kasebut bisa diatur maneh dadi "raspberry" lan digunakake: nyekel liwat dhcp, sandi - "1".
Sistem wis dibusak saka kabeh ID lan tombol, pramila saben instalasi anyar unik.
Aku mbaleni maneh, sistem - minimal! Mulane, aja kuwatir: DNF kasedhiya, supaya bisa digunakake, sampeyan kudu "nemokake" sing bener /etc/resolv.conf.
Wiwit kadhemen saka Raspberry butuh udakara 40 detik. TTX sistem sawise loading:
rpm -qa | wc -l
191
5. WiFi
Aku bakal mikir sethithik babagan fitur ngleksanakake titik akses Wi-Fi. Kanggo spesifik, sampeyan bisa ngrujuk menyang sadurunge artikel.
EPEL ora dibutuhake maneh - kabeh paket wis ana ing repositori resmi.
Iku mbokmenawa worth nyerah DNSMASSQ, wiwit Fedora, ora kaya CentOS, nduweni systemd-networkd sing cukup anyar, sing nduweni server DHCP/DNS sing dibangun ing normal. Nanging kasunyatane ing pangembang RHEL8 ora gelem ndhukung tumpukan jaringan karo apa-apa liyane saka NM, ora menehi inspirasi kapercayan ing masa depan sing cerah saka proyek kasebut (bajingan). Ing cendhak, aku durung nyoba.
Kajaba iku, driver saiki kanggo adaptor Wi-Fi sing dibangun ora bisa "dicolong" saka distribusi Raspbian, nanging diundhuh langsung saka GitHub.
Iki kaya file firmware Broadcom ing Raspberryku (secara skematis):
Tanpa dheweke, sampeyan ora bakal entuk 5GHz / AC.
Babagan nomer lan jeneng antarmuka. Saiki aku banget menehi saran kanggo kabeh wong supaya ora nggunakake "layanan" switch piranti lunak kajaba pancen perlu (bridge), sing ngenalake beban sing signifikan menyang tumpukan jaringan lan nuntun depress. Yen sampeyan ora rencana duwe sawetara adaptor nirkabel, sampeyan kudu nggunakake mung antarmuka fisik. Aku duwe loro Wi-Fi, mula aku gabungke mung dadi jembatan piranti lunak (sanajan sampeyan bisa nindakake tanpa iki kanthi ndeleng persiyapan hostapd kanthi beda).
Lan aku seneng ngganti jeneng antarmuka.
Kanggo nindakake iki ing Fedora sampeyan kudu nggawe link simbolis:
/etc/systemd/network/99-default.link -> /dev/null
banjur bakal bisa kanggo menehi jeneng migunani tanpa poking watara udev, nanging mung nggunakake systemd-networkd.
Contone, iki sing diarani adaptor jaringan ing routerku:
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 - dibangun ing, ext - adaptor Wi-Fi eksternal (USB) dirakit dadi "jembatan" lan;
wan - adaptor Ethernet sing nyambungake Internet.
Digatekake? fq_codel - bab tenan kelangan. Bebarengan karo kernel Linux sing seger, dheweke nindakake keajaiban nyata ing jangkoan nirkabel: "download torrent" sing sengit ora bakal nyebabake degradasi kacepetan ing antarane tanggane. Malah IP-TV omah sing operasi "liwat udhara" kanthi saluran sing dimuat ora "putus" lan ora "gagap"!
File layanan daemon wis ngalami owah-owahan cilik hostapd.
Saiki katon kaya iki (nggunakake conto adaptor sing dibangun):
[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
Lan "sihir" hostapd-int.conf kanggo nggarap 5GHz/AC:
(Sambungan Internet - 100Mbit/detik)
Lan pungkasanipun, FAQ cilik.
6. Pitakonan
6.1 Napa nggawe router Wi-Fi ing Raspberry?
Siji bisa mangsuli mung, kaya "iku menarik kanggo nyoba lan kabeh sing."
Nanging nyatane, misale jek topik kasebut cukup serius. Ing jaman Internet "getih", tuku router ing toko lan isih dadi sandera kanggo pabrikan minangka prospek sing surem. Akeh wong sing wis ngerti yen ora bisa lungguh karo CVE utawa backdoor sing dibangun.
Mesthi wae, sampeyan bisa pindhah menyang firmware WRT saka para penggemar. Mesthine ana luwih dipercaya, nanging yen sampeyan ora pengin gumantung, banjur gunakake produk sampeyan dhewe. Saenipun, komputer lengkap supaya kabeh ing donya bisa dipun ginakaken ing. Ing babagan routing, mesthi.
Mulane, milih "raspberry" minangka langkah ekonomi murni: komputer nyata lan ing wektu sing padha murah. Sanajan, mbok menawa uga - karo "ganda" ing njero.
6.2 Nanging Raspberry minangka "router kurang": alon lan siji port Ethernet!
Minangka router Wi-Fi ngarep, Raspberry luwih saka marem kanggo kula. Aku wis ngomong babagan kecepatan udara ing ndhuwur. Lan mung ana siji Ethernet, uga, ing produk sing padha saka Apple kira-kira padha!
Nanging serius, mesthi aku pengin luwih. Lan sanajan kasunyatane ing omahku kabeh piranti disambungake kanthi nirkabel, kadhangkala sambungan tembaga isih dibutuhake. Kanggo kasus kaya mengkono, aku duwe "hub seluler" ing saham:
piranti - kaya iki
6.3 Yen iki router, banjur ora ngandika bab "tuning" TCP / IP, amarga iki penting!
Saliyane nyetel tumpukan jaringan (tcp_fastopen, YeAH, lsp), iki lan artikel sadurunge ora nutupi nuansa liyane, utamane, proses nyiapake microSD kanggo panggunaan optimal (sanajan installer nyoba ngowahi format kertu memori ing cara sing angel). Proses dandan ora ana telas, sampeyan mung kudu mandheg ing wektu.
6.4 Kenapa Fedora?
Amarga aku seneng! Fedora minangka sistem "mainstream" kanggo geeks, sing dimaksudake kanggo artikel iki. Ing wektu nulis, mbok menawa siji-sijine OS sing kanggo Raspberry ing versi 64-bit resmi didhukung dening staf pangembang sing signifikan (sing ora sabar aku ngenteni. kernel 5.6).
6.5 Apa Bluetooth bisa digunakake? Kepiye video / swara / GPIO?
ora ngerti. Artikel kasebut babagan instalasi minimal sistem lan panggunaan sabanjure minangka router Wi-Fi.
6.6 Napa kabeh artikel babagan CentOS/Fedora/RedHat diwiwiti kanthi mateni SELinux?
Amarga sistem minimal, iku ora malah firewall utawa keperluan kanggo nyetel munggah. Sapa wae sing mbutuhake bisa nginstal tambahan kabeh sing dibutuhake.
6.7 Sistem ora bisa digunakake, sandi ora bisa diganti - ora passwd. Ora ping, ora apa-apa!
Ana DNF. Utawa pilihan instalasi iki dudu kanggo sampeyan - gunakake kit distribusi saka pangembang.
6.9 Aku pengin langsung ndownload gambar sing wis digawe kanthi titik akses Wi-Fi sing wis dikonfigurasi!
Nyiyapake installer "kanggo kabeh" mbutuhake wektu lan gaweyan. Yen (tiba-tiba!) Wong pancene nemu iki menarik lan perlu, nulis kanggo kita lan kita bakal teka munggah karo soko.
Aku bakal rampung karo iki.
Aku pengin kabeh surfing aman lan kontrol maksimum liwat infrastruktur!