ProHoster > Blog > Pentadbiran > Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (atau penghala raspberi dengan topi biru)
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (atau penghala raspberi dengan topi biru)
Dalam artikel itu Raspberry Pi + CentOS = Wi-Fi Hotspot (atau penghala raspberi dengan topi merah) Saya bercakap tentang cara untuk menukar Raspberry menjadi titik akses wayarles menggunakan sistem pengendalian CentOS. Dengan memasang penghala rumah saya mengikut lukisan ini, saya memuaskan ego kreatif saya dan menerima rangsangan ketenangan fikiran untuk elemen kritikal infrastruktur saya yang selesa. Walau bagaimanapun, perasaan tidak lengkap penyelesaian dan kesempurnaan dalaman menghantui saya: "hasil kerja yang tidak sempurna tidak berhak untuk wujud." Pemikiran bahawa "ideal boleh dan harus dicapai" tidak meninggalkan saya seminit.
Dan kemudian suatu hari, di salah satu forum tematik, saya menjumpai perbincangan tentang kedalaman bit sistem pengendalian sedia ada untuk Raspberry (aarch64 vs armhfp): yang OS 64-bit boleh, pada dasarnya, sesuai dan berfungsi pada Raspberry versi 3 ++?
CentOS kesayangan saya untuk seni bina ARM daripada "Userland" tidak tergesa-gesa untuk beralih kepada versi kernel terkini dan bertukar menjadi 64-bit. Dan repositori EPEL, yang disambungkan daripada Tuhan tahu di mana tanpa tandatangan digital, adalah mimpi ngeri dalam tidur saya yang tidak lena...
Dalam artikel ini saya akan bercakap mengenai kaedah pemasangan Fedora (aarch64) pada Raspberry Pi 3 Model B + Π² prestasi minimum tambahan. Saya akan membincangkan secara ringkas tentang ciri menaikkan titik akses Wi-Fi, yang dikenal pasti sebagai hasil daripada operasi percubaan konfigurasi saya yang terdahulu pada CentOS 7.
0. Apa yang anda perlukan
Semuanya sama seperti yang disenaraikan dalam artikel sebelumnya:
Raspberi Pi 3 Model B+;
microSD >= 4GB (kemudian anda boleh "memindahkan" sistem ke pemacu 2GB);
Stesen kerja dengan Linux dan pembaca kad microSD;
Kesambungan rangkaian berwayar antara Raspberry dan stesen kerja Linux (dalam kes ini, tiada monitor dan papan kekunci tambahan diperlukan untuk persediaan), akses Internet daripada kedua-dua peranti;
Kemahiran lanjutan dalam Linux (untuk mengetahui dan tidak takut: berpisah, dd ΠΈ mkfs).
Sama seperti berulang LFS-membina Linux anda sendiri, imej pengedaran Fedora akan digunakan, dan kemudian berdasarkannya, sistem minimum akan dibuat (tanpa "menyusun daripada sumber").
Kini anda boleh memuat turun "raspberi" daripada microSD dan menyambungkannya melalui rangkaian.
Permulaan sejuk mengambil masa kira-kira satu setengah minit. TTX sistem selepas memuatkan:
rpm -qa | wc -l
444
2. Memasang sistem yang minimum
Malangnya, "pengedaran minimum" daripada pemaju ternyata jauh daripada penggunaan sumber yang paling sederhana. Imej sistem boleh dibuat lebih kecil.
Untuk melakukan ini, anda perlu menjalankan skrip pada 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
Selepas menjalankan skrip, subdirektori akan dibuat dalam direktori semasa ($P) dengan kandungan akar edisi OS minimum baharu. Anda boleh mematikan Raspberry dan mengembalikan microSD ke stesen kerja Linux.
3. Pemasangan sistem yang minimum
Pemasangan bermula dengan menyalin fail "imej" OS minimum (diperolehi dalam langkah sebelumnya) ke mikroSD yang disediakan khas ke dalam direktori yang sesuai.
Kad 2GB dan dua partition di atasnya sudah mencukupi:
/ boot / efi - EFI+FAT32, but, 100MB;
/ (root) - EXT4, semua ruang yang tinggal.
Selepas menyediakan microSD dan menyalin fail kepadanya, anda perlu:
betulkan but OS;
hidupkan rangkaian;
konfigurasikan akses melalui ssh.
Pembetulan but adalah untuk menggantikan UUID bahagian dalam fail:
Akses superuser melalui ssh dikonfigurasikan sama dengan langkah 1.
Setelah melakukan segala-galanya dengan berhati-hati dan tanpa ralat, anda boleh memindahkan microSD ke dalam "raspberi" dan mula bekerja dengan OS 64-bit dalam versi minimum tambahan.
Ini akan menjadi arkib yang mengandungi dua fail: skrip pemasangan dan TGZ dengan fail OS. Arkib perlu dibongkar pada stesen kerja Linux, masukkan microSD (kad 2GB sudah cukup) dan jalankan skrip dengan parameter - nama peranti:
./install /dev/mmcblk0
Berhati-hati!
Tanpa sebarang amaran, peranti akan diformatkan dan sistem pengendalian akan dipasang padanya.
Selepas pelaksanaan skrip tanpa ralat, kad boleh disusun semula ke dalam "raspberi" dan digunakan: tangkap melalui dhcp, kata laluan - "1".
Sistem ini dikosongkan daripada semua ID dan kunci, itulah sebabnya setiap pemasangan baharu adalah unik.
Saya ulangi sekali lagi, sistem - yang minimum! Oleh itu, jangan risau: DNF tersedia, untuk berfungsi, anda perlu "mencipta" yang betul /etc/resolv.conf.
Permulaan sejuk Raspberry mengambil masa kira-kira 40 saat. TTX sistem selepas memuatkan:
rpm -qa | wc -l
191
5. WiFi
Saya akan membincangkan sedikit tentang ciri-ciri melaksanakan titik akses Wi-Fi. Untuk spesifikasi, anda boleh merujuk kepada saya sebelum ini artikel.
EPEL tidak lagi diperlukan - semua pakej terkandung dalam repositori rasmi.
Ia mungkin berbaloi untuk menyerah dnsmasq, memandangkan Fedora, tidak seperti CentOS, mempunyai systemd-networkd yang agak baru, yang mempunyai pelayan DHCP/DNS terbina dalam biasa. Tetapi hakikatnya ialah dalam pemaju RHEL8 enggan menyokong timbunan rangkaian dengan apa-apa selain NM, tidak menimbulkan keyakinan terhadap masa depan projek yang cerah (orang jahat). Pendek kata, saya belum mencubanya.
Selanjutnya, pemacu semasa untuk penyesuai Wi-Fi terbina dalam tidak boleh "dicuri" daripada pengedaran Raspbian, tetapi dimuat turun terus dari github.
Inilah rupa fail perisian tegar Broadcom pada Raspberry saya (secara skematik):
Mengenai bilangan dan nama antara muka. Sekarang saya amat mengesyorkan kepada semua orang untuk tidak menggunakan "perkhidmatan" suis perisian melainkan benar-benar perlu (jambatan), yang memperkenalkan beban yang ketara ke dalam susunan rangkaian dan menekan penghalaan. Jika anda tidak bercadang untuk mempunyai berbilang penyesuai wayarles, maka anda harus menggunakan antara muka fizikal sahaja. Saya mempunyai dua Wi-Fi, jadi saya hanya menggabungkannya ke dalam jambatan perisian (walaupun anda boleh melakukannya tanpa ini dengan melihat persediaan hostapd secara berbeza).
Dan saya suka menamakan semula antara muka.
Untuk melakukan ini di Fedora, anda perlu membuat pautan simbolik:
/etc/systemd/network/99-default.link -> /dev/null
dan kemudian ia akan menjadi mungkin untuk memberikan nama yang bermakna tanpa mencucuk-cucuk udev, tetapi hanya menggunakan systemd-networkd.
Sebagai contoh, ini ialah penyesuai rangkaian dalam penghala saya dipanggil:
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 - terbina dalam, ext β penyesuai Wi-Fi luaran (USB) dipasang ke dalam "jambatan" lan;
wan β Penyesuai Ethernet di mana Internet disambungkan.
perasan tak? fq_codel - satu perkara yang sangat keren. Bersama-sama dengan kernel Linux yang segar, mereka melakukan keajaiban sebenar dalam julat wayarles: "muat turun torrent" yang sengit tidak akan membawa kepada penurunan mendadak kelajuan di kalangan jiran. Malah IP-TV rumah yang beroperasi "melalui udara" dengan saluran yang dimuatkan tidak "putus" dan tidak "gagap" sama sekali!
Fail perkhidmatan daemon telah mengalami perubahan kecil hostapd.
Ia kini kelihatan seperti ini (menggunakan contoh penyesuai terbina dalam):
[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
Dan hostapd-int.conf "ajaib" untuk bekerja dalam 5GHz/AC:
Sedikit photoshop yang dibuat daripada Ericsson A1018 saya:
(Sambungan Internet - 100Mbit/saat)
Dan akhirnya, FAQ kecil.
6. Soalan Lazim
6.1 Mengapa membuat penghala Wi-Fi pada Raspberry?
Seseorang boleh menjawab dengan mudah, seperti "menarik untuk mencuba dan semua itu."
Tetapi sebenarnya, saya rasa topik itu agak serius. Dalam era Internet "berdarah", membeli penghala di kedai dan kekal sebagai tebusan kepada pengeluarnya adalah prospek yang sangat suram. Ramai orang sudah faham bahawa duduk dengan CVE atau pintu belakang terbina dalam tidak mungkin.
Sudah tentu, anda boleh berhijrah ke perisian tegar WRT daripada peminat. Mungkin ada lebih banyak kepercayaan kepada mereka, tetapi jika anda tidak mahu bergantung kepada mereka, maka gunakan sahaja produk anda sendiri. Sebaik-baiknya, komputer yang lengkap supaya segala-galanya di dunia dapat dilaksanakan di atasnya. Dari segi penghalaan, sudah tentu.
Oleh itu, memilih "raspberi" adalah langkah ekonomi semata-mata: komputer sebenar dan pada masa yang sama yang murah. Walaupun, mungkin juga - dengan "beregu" mereka di dalam.
6.2 Tetapi Raspberry ialah "penghala rendah": perlahan dan dengan satu port Ethernet!
Sebagai penghala Wi-Fi rumah, Raspberry adalah lebih memuaskan untuk saya. Saya telah bercakap tentang kelajuan udara di atas. Dan hanya terdapat satu Ethernet, baik, dalam produk serupa daripada Apple ia hampir sama!
Tetapi serius, sudah tentu saya ingin lebih. Dan walaupun fakta bahawa dalam rumah saya semua peranti disambungkan secara wayarles, kadangkala sambungan tembaga masih diperlukan. Untuk kes sedemikian, saya mempunyai stok "hab mudah alih":
peranti - sesuatu seperti ini
6.3 Jika ini adalah penghala, maka tiada apa yang dikatakan tentang "menala" TCP/IP, kerana ini penting!
Selain menyediakan timbunan rangkaian (tcp_fastopen, YeAH, dll.), artikel ini dan artikel sebelumnya tidak merangkumi nuansa lain, khususnya, proses penyediaan mikroSD untuk penggunaan optimum (walaupun pemasang cuba memformat kad memori dalam cara yang sukar). Proses penambahbaikan tidak berkesudahan, anda hanya perlu berhenti tepat pada masanya.
6.4 Mengapa Fedora?
Sebab saya suka! Fedora ialah sistem "arus perdana" untuk geeks, yang sebenarnya dimaksudkan untuk artikel ini. Pada masa penulisan, mungkin satu-satunya OS yang untuk Raspberry dalam versi 64-bit disokong secara rasmi oleh kakitangan pembangun yang penting (daripadanya saya tidak sabar menunggu kernel 5.6).
6.5 Adakah Bluetooth berfungsi? Bagaimana video/bunyi/GPIO?
tak tahu. Artikel ini adalah mengenai pemasangan minimum sistem dan penggunaannya yang seterusnya sebagai penghala Wi-Fi.
6.6 Mengapakah semua artikel tentang CentOS/Fedora/RedHat bermula dengan melumpuhkan SELinux?
Oleh kerana sistem ini adalah minimum, ia tidak mempunyai tembok api atau utiliti untuk menyediakannya. Sesiapa yang memerlukannya boleh memasang tambahan semua yang mereka perlukan.
6.7 Sistem tidak boleh digunakan, kata laluan tidak boleh ditukar - tiada passwd. Tiada ping, tiada apa-apa!
Terdapat DNF. Atau pilihan pemasangan ini bukan untuk anda - gunakan kit pengedaran daripada pembangun.
6.8 Di manakah SWAP? Saya tidak boleh hidup tanpa dia!
6.9 Saya ingin segera memuat turun imej sedia dengan titik akses Wi-Fi yang dikonfigurasikan!
Menyediakan pemasang "untuk semua orang" akan memerlukan sedikit masa dan usaha. Jika (tiba-tiba!) seseorang benar-benar mendapati perkara ini menarik dan perlu, tulis kepada kami dan kami akan membuat sesuatu.
Saya akan selesaikan dengan ini.
Saya berharap semua orang selamat melayari dan kawalan maksimum ke atas infrastruktur!