Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)

Ilay lahatsoratra Raspberry Pi + CentOS = Wi-Fi Hotspot (na router Raspberry misy satroka mena) Niresaka momba ny fomba hamadihana ny Raspberry ho teboka fidirana an-tariby aho amin'ny fampiasana ny rafitra fiasa CentOS. Tamin'ny fanangonana ny router an-tranoko araka ity sary ity, dia nahafa-po ny ego-ko mamorona aho ary nahazo fiadanan-tsaina ho an'ny singa iray manan-danja amin'ny fotodrafitrasako mahafinaritra. Na dia izany aza, ny fahatsapana ny tsy fahatomombanan'ny vahaolana sy ny fahalavorariana anatiny dia nanenjika ahy: "Ny vokatry ny asa tsy tonga lafatra dia tsy manan-jo hisy." Tsy nandao ahy na dia iray minitra aza ilay eritreritra hoe “azo tratrarina sy tokony hotratrarina ny idealy”.

Ary indray andro, tao amin'ny iray amin'ireo sehatra fifanakalozan-dresaka, dia nahita fifanakalozan-kevitra momba ny halalin'ny rafitra fiasa efa misy ho an'ny Raspberry aho (aarch64 vs armhfp): izay OS 64-bit dia afaka, amin'ny ankapobeny, mifanaraka sy miasa amin'ny Raspberry version 3 ++?

Ny CentOS malalako ho an'ny maritrano ARM avy amin'ny "Userland" dia tsy maika ny hifindra amin'ny dikan-teny farany amin'ny kernel ary hivadika ho 64-bit. Ary ny trano fitehirizam-bokatra EPEL, mifandray amin'Andriamanitra dia mahafantatra hoe aiza no tsy nisy sonia nomerika, no nofy ratsy tao anatin'ny torimasoko tsy milamina...

Raha niresaka tamin'ny maha-mpikatroka ny fizarana mifototra amin'ny RPM aho, dia gaga aho nahita fa hadino tanteraka ny OS ho an'ny Raspberry tamin'ny fifanakalozan-kevitra. Fedora! Ary izany na dia eo aza ny zava-misy fa ny famoahana azy
avy amin'ny version 28 dia manohana amin'ny fomba ofisialy ny Raspberry Pi 3B+ amin'ny version 64-bit!

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)
Amin'ity lahatsoratra ity dia hiresaka momba ny fomba fametrahana aho Fedora (aarch64) amin'ny Raspberry Pi 3 Modely B + в fampisehoana faran'izay kely indrindra. Hiresaka fohifohy momba ireo endri-javatra amin'ny fampiakarana teboka fidirana Wi-Fi aho, izay fantatra ho vokatry ny fampandehanana andrana tamin'ny fandrindrako teo aloha. CentOS 7.

0. Inona no ilainao

Ny zava-drehetra dia mitovy amin'ny voatanisa tao amin'ny lahatsoratra teo aloha:

  • Raspberry Pi 3 Model B+;
  • microSD>= 4GB (azo atao "mamindra" ny rafitra amin'ny fiara 2GB);
  • Workstation miaraka amin'ny mpamaky karatra Linux sy microSD;
  • Fifandraisana amin'ny tamba-jotra misy tariby eo anelanelan'ny Raspberry sy ny toeram-piasana Linux (amin'ity tranga ity, tsy ilaina ny fanaraha-maso sy ny klavier fanampiny amin'ny fananganana), fidirana amin'ny Internet amin'ny fitaovana roa;
  • Fahaiza-manao mandroso amin'ny Linux (hahafantatra sy tsy hatahotra: nisaraka, dd и mkfs).

Mitovy amin'ny iterative lfs-manorina ny Linux-nao manokana, ny sarin'ny fizarana Fedora dia hampiasaina, ary avy eo mifototra amin'izany dia hisy rafitra kely indrindra hatsangana (tsy misy "manangona avy amin'ny loharano").

1. Fametrahana ny fizarana voalohany

Fandrindrana ny sary manta ny rafitra amin'ny Internet:
https://…/fedora-secondary/releases/…/Spins/aarch64/images/Fedora-Minimal-…xz

Aorian'ny firaketana azy amin'ny microSD ary alohan'ny hampiasana azy dia mila:

  1. Ampitomboy ny "root" an'ny rafi-drakitra (fizarana faha-3, ext4)
    parted /dev/mmcblk0 resizepart 3 100%
    e2fsck -f /dev/mmcblk0p3; resize2fs /dev/mmcblk0p3; e2fsck -f /dev/mmcblk0p3
    for i in 1 2 3; do mkdir -p /mnt/$i; mount /dev/mmcblk0p$i /mnt/$i; done
    

  2. Atsaharo ny SELinux
    echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
    

  3. Esory ny Wizard Setup voalohany:
    find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
    

  4. Avelao hiditra amin'ny ssh:
    mkdir -p /mnt/3/root/.ssh
    cp -fv ~/.ssh/id_rsa.pub /mnt/3/root/.ssh/authorized_keys
    sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/g' /mnt/3/etc/ssh/sshd_config
    

Ankehitriny ianao dia afaka misintona ny "raspberry" avy amin'ny microSD ary mifandray aminy amin'ny alalan'ny tambajotra.

Ny fanombohana mangatsiaka dia maharitra iray minitra sy sasany. TTX an'ny rafitra aorian'ny fandefasana:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)

rpm -qa | wc -l
444

2. Manangona rafitra kely indrindra

Indrisy anefa, ny "fizarana faran'izay kely" avy amin'ny mpamorona dia lasa lavitra amin'ny fanjifana loharano faran'izay maotina. Ny sary rafitra dia azo atao kely kokoa.

Mba hanaovana izany dia mila mihazakazaka ny script amin'ny Malinka ianao:

#!/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

Aorian'ny fampandehanana ny script dia hisy subdirectory hatsangana ao amin'ny lahatahiry ankehitriny ($P) miaraka amin'ny votoatin'ny fakan'ny edisiona OS kely indrindra. Azonao atao ny mamono ny Raspberry ary mamerina ny microSD amin'ny toeram-piasana Linux.

3. Fametrahana rafitra kely indrindra

Ny fametrahana dia miainga amin'ny fanaovana kopia ny rakitra "sary" OS kely indrindra (izay azo tamin'ny dingana teo aloha) amin'ny microSD voaomana manokana ho any amin'ny lahatahiry mety.

Karatra 2GB sy fisarahana roa eo aminy dia ampy:

  1. / boot / efi - EFI+FAT32, boot, 100MB;
  2. / (root) - EXT4, habaka sisa rehetra.

Rehefa avy manomana ny microSD sy mandika ny rakitra ho azy ianao dia mila:

  • manamboatra OS boot;
  • velomy ny tambajotra;
  • amboary ny fidirana amin'ny ssh.

Ny fanamboarana boot dia ny manolo ny UUID amin'ireo fizarana ao amin'ny rakitra:

microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv

ary parameter voatahiry_entry= amin'ny rakitra farany

Ao anaty rakitra:

microSD:/etc/fstab

Azonao atao ny mahita ny soatoavina taloha, ary ny soatoavina ankehitriny (vaovao) ao amin'ny famoahana baiko:

blkid | grep mmcblk | sort

Aorian'ny fanoloana dia tokony hanitsy ny atiny ihany koa ianao fstab amin'ny microSD mba hifanaraka amin'ny UUIDs vaovao ny tendrombohitra.

Ny fampandehanan-tambajotra rehefa manokatra ny Raspberry ianao dia azo atao amin'ny "crutch" kely - mamorona rohy (schematically):

ln -s /usr/lib/systemd/system/systemd-networkd.service 
  microSD:/etc/systemd/system/multi-user.target.wants

ary fichier:

mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF

Aorian'ny fampidinana mahomby dia amboary ny fandefasana systemd-networkd:

systemctl disable systemd-networkd
systemctl enable systemd-networkd

Ny fidirana amin'ny Superuser amin'ny alàlan'ny ssh dia namboarina mitovy amin'ny dingana 1.

Rehefa vita tsara ny zava-drehetra ary tsy misy hadisoana, dia azonao atao ny mamindra ny microSD ao amin'ny "raspberry" ary manomboka miasa miaraka amin'ny OS 64-bit amin'ny dikan-teny faran'izay kely indrindra.

4. Rafitra vonona

Ny "sary" ny rafitra vita, noforonina araka ny toromarika etsy ambony, dia azo alaina avy amin'ny rohy:
Fedora-Tiny-31-5.5.7-200.aarch64

Ity dia tahiry misy rakitra roa: ny script fametrahana sy TGZ miaraka amin'ny rakitra OS. Ny arisiva dia mila esorina amin'ny toeram-piasana Linux, ampidiro microSD (karatra 2GB dia ampy) ary amboary ny script miaraka amin'ny marika - ny anaran'ilay fitaovana:

./install /dev/mmcblk0

Mitandrema!

Raha tsy misy fampitandremana dia halamina ny fitaovana ary hapetraka eo ny rafitra fiasana.

Aorian'ny fanatanterahana ny script tsy misy hadisoana, ny karatra dia azo amboarina ao amin'ny "raspberry" ary ampiasaina: hisambotra amin'ny dhcp, tenimiafina - "1".

Ny rafitra dia voafafa amin'ny ID sy ny fanalahidy rehetra, ka izany no mahatonga ny fametrahana vaovao tsirairay miavaka.

Averiko indray, ny rafitra - kely dia kely! Noho izany, aza taitra: DNF dia misy, mba hiasa dia tsy maintsy "mamorona" ny marina ianao /etc/resolv.conf.

Ny fanombohana mangatsiaka ny Raspberry dia maharitra 40 segondra eo ho eo. TTX an'ny rafitra aorian'ny fandefasana:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)

rpm -qa | wc -l
191

5. Wifi

Hiresaka kely momba ny endri-javatra amin'ny fametrahana toby fidirana Wi-Fi aho. Ho an'ny antsipiriany dia azonao atao ny manondro ny teo aloha lahatsoratra.

Tsy ilaina intsony ny EPEL - ny fonosana rehetra dia voarakitra ao amin'ny tahiry ofisialy.

Mety ho mendrika ny hilavo lefona izany dnsmasq, satria Fedora, tsy tahaka ny CentOS, dia manana systemd-networkd vao haingana, izay manana mpizara DHCP/DNS mahazatra. Fa ny zava-misy dia ao amin'ny RHEL8 developer nandà ny hanohana ny tamba-jotra amin'ny zavatra hafa ankoatra ny NM, tsy manentana ny fahatokisan-tena amin'ny ho avy mamiratra amin'ny tetikasa (soundrel). Raha fintinina dia tsy nanandrana izany aho.

Ankoatr'izay, ny mpamily amin'izao fotoana izao ho an'ny adapter Wi-Fi naorina dia tsy azo "mangalatra" amin'ny fizarana Raspbian, fa alaina mivantana avy amin'ny github.

Toy izao ny endrik'ireo rakitra firmware Broadcom ao amin'ny Raspberry-ko (skema):

ls /usr/lib/firmware/brcm | grep 43455

 [612775] brcmfmac43455-sdio.bin
  [14828] brcmfmac43455-sdio.clm_blob
[symlink] brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -> brcmfmac43455-sdio.txt
   [2099] brcmfmac43455-sdio.txt

Raha tsy misy azy ireo dia tsy hahazo 5GHz/AC ianao.

Momba ny isa sy ny anaran'ny interface. Ankehitriny dia manoro hevitra mafy ny rehetra aho mba tsy hampiasa ny "serivisy" amin'ny fanovana rindrambaiko raha tsy hoe tena ilaina (tetezana), izay mampiditra enta-mavesatra lehibe ao amin'ny tambazotran-tambajotra ary manery ny lalana. Raha tsy mikasa ny hanana adaptatera tsy misy tariby maromaro ianao, dia tokony hampiasa fifandraisana ara-batana fotsiny ianao. Manana Wi-Fi roa aho, ka izy ireo ihany no atambatra ho tetezana rindrambaiko (na dia azonao atao aza izany raha tsy mijery ny setup hostapd amin'ny fomba hafa).

Ary tiako ny manova anarana interface.

Mba hanaovana izany ao amin'ny Fedora dia mila mamorona rohy an'ohatra ianao:

/etc/systemd/network/99-default.link -> /dev/null

ary avy eo dia azo atao ny manome anarana manan-danja tsy misy poizina udev, fa mampiasa systemd-networkd ihany.

Ohatra, izao no iantsoana ny adaptatera tambajotra ao amin'ny router-ko:

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 - anatiny, ext - adaptatera Wi-Fi ivelany (USB) natambatra ho "tetezana" Lan;
  • Wan - Adapter Ethernet izay mampifandray ny Internet.

Voamarikao ve? fq_codel - zavatra tena mahafinaritra. Miaraka amin'ny kernel Linux vaovao, izy ireo dia manao fahagagana tena izy amin'ny sehatra tsy misy tariby: ny "download torrent" mahery vaika dia tsy hitarika amin'ny fihenan'ny hafainganam-pandeha tampoka eo amin'ny mpifanolo-bodirindrina. Na ny IP-TV ao an-trano miasa "eny amin'ny rivotra" miaraka amin'ny fantsona feno dia tsy "misaraka" ary tsy "miadana" mihitsy!

Ny rakitra serivisy daemon dia nandalo fiovana kely hostapd.

Toy izao izany (mampiasa ny ohatra amin'ny adaptatera naorina):

[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

Ary ny "majika" hostapd-int.conf miasa amin'ny 5GHz/AC:

ssid=rpi
wpa_passphrase=FedoRullezZ

# 5180 MHz  [36] (20.0 dBm)
# 5200 MHz  [40] (20.0 dBm)
# 5220 MHz  [44] (20.0 dBm)
# 5240 MHz  [48] (20.0 dBm)
# 5745 MHz [149] (20.0 dBm)
# 5765 MHz [153] (20.0 dBm)
# 5785 MHz [157] (20.0 dBm)
# 5805 MHz [161] (20.0 dBm)
# 5825 MHz [165] (20.0 dBm)

channel=36
#channel=149

# channel+6
# http://blog.fraggod.net/2017/04/27/wifi-hostapd-configuration-for-80211ac-networks.html

vht_oper_centr_freq_seg0_idx=42
#vht_oper_centr_freq_seg0_idx=155

country_code=US

interface=int
bridge=lan

driver=nl80211

auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

macaddr_acl=0

hw_mode=a
wmm_enabled=1

# N
ieee80211n=1
require_ht=1
ht_capab=[HT40+][SHORT-GI-40][SHORT-GI-20]

# AC
ieee80211ac=1
ieee80211d=0
ieee80211h=0
vht_oper_chwidth=1
require_vht=1
vht_capab=[SHORT-GI-80]

Photoshop kely vita amin'ny Ericsson A1018s:

(Fifandraisana amin'ny Internet - 100Mbit/sec)Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)
Ary farany, FAQ kely.

6. FAQ

6.1 Nahoana no manao router Wi-Fi amin'ny Raspberry?

Afaka mamaly tsotra izao ny olona iray, toy ny hoe "mahaliana ny manandrana sy izay rehetra."

Saingy raha ny marina dia toa tena matotra ilay lohahevitra. Amin'ny vanim-potoanan'ny Internet "mihoatra ny ra", ny fividianana ny router amin'ny fivarotana iray ary ny sisa tavela amin'ny mpanamboatra azy dia fahatsinjovana tena mampalahelo. Efa maro ny olona no mahatakatra fa tsy azo atao ny mipetraka miaraka amin'ny CVE na varavarana aoriana.

Mazava ho azy fa afaka mifindra any amin'ny firmware WRT avy amin'ireo mpankafy ianao. Mety misy fahatokisana bebe kokoa amin'izy ireo, fa raha tsy te hiankina amin'izy ireo ianao dia ampiasao fotsiny ny vokatrao manokana. Raha ny tokony ho izy dia solosaina feno mba hampiharana azy ny zava-drehetra eto amin'izao tontolo izao. Raha resaka routing, mazava ho azy.

Noho izany, ny fisafidianana ny "raspberry" dia hetsika ara-toekarena madiodio: solosaina tena izy ary amin'ny fotoana iray tsy lafo. Na izany aza, angamba koa - miaraka amin'ny "double" ao anatiny.

6.2 Fa ny Raspberry dia "router ambany": miadana ary misy seranan-tsambo Ethernet iray!

Amin'ny maha router Wi-Fi an-trano, ny Raspberry dia mahafa-po ahy kokoa. Efa niresaka momba ny hafainganam-pandehan'ny rivotra etsy ambony aho. Ary tsy misy afa-tsy Ethernet iray, eny, amin'ny vokatra mitovy amin'ny Apple dia mitovy ihany!

Fa raha ny tena marina, mazava ho azy fa mila bebe kokoa aho. Ary na dia eo aza ny zava-misy fa ny fitaovana rehetra ao an-tokantrano dia mifandray amin'ny Wireless, indraindray dia ilaina ny fifandraisana varahina. Amin'ny tranga toy izany, manana "habe finday" aho ao anaty tahiry:

fitaovana - zavatra toy izanyRaspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (na router Raspberry misy satroka manga)

6.3 Raha router ity dia tsy misy na inona na inona lazaina momba ny "tuning" TCP / IP, satria zava-dehibe izany!

Ho fanampin'ny fametrahana ny tambazotran'ny tambajotra (tcp_fastopen, YeAH, sns.), ity sy ny lahatsoratra teo aloha dia tsy mirakitra ireo nuances hafa, indrindra fa ny fizotran'ny fanomanana microSD ho an'ny fampiasana tsara indrindra (na dia manandrana manamboatra ny karatra fitadidiana aza ny installer. fomba sarotra). Tsy misy fiafarana ny dingan'ny fanatsarana, mila mijanona ara-potoana fotsiny ianao.

6.4 Nahoana i Fedora?

Satria tiako! Fedora dia rafitra "mainstream" ho an'ny geeks, izay tena natao ho an'ity lahatsoratra ity. Tamin'ny fotoana nanoratana, angamba ny OS tokana ho an'ny Raspberry amin'ny dikan-teny 64-bit dia tohanan'ny mpiasan'ny mpamorona manan-danja (izay tsy andriko intsony. kernel 5.6).

6.5 Miasa ve ny Bluetooth? Ahoana ny video/feo/GPIO?

tsy mahalala. Ny lahatsoratra dia momba ny fametrahana kely indrindra amin'ny rafitra sy ny fampiasana azy ho toy ny router Wi-Fi.

6.6 Nahoana ny lahatsoratra rehetra momba ny CentOS/Fedora/RedHat no manomboka manafoana ny SELinux?

Satria ny rafitra dia kely indrindra, tsy manana firewall na fitaovana ho an'ny fametrahana azy. Na iza na iza mila izany dia afaka mametraka fanampiny izay ilainy.

6.7 Tsy azo ampiasaina ny rafitra, tsy azo ovaina ny tenimiafina - tsy misy passwd. Tsy misy ping, tsy misy na inona na inona!

Misy DNF. Na ity safidy fametrahana ity dia tsy ho anao - ampiasao ny kitapo fanaparitahana avy amin'ny mpamorona.

6.8 Aiza ny SWAP? Tsy afaka miaina tsy misy azy aho!

Marina ve izany? Eny ary:

fallocate -l 1G /swap
chmod -v 0600 /swap
mkswap -f /swap
swapon -v /swap
grep "/swap" /etc/fstab || echo "/swap swap swap defaults 0 0" >> /etc/fstab

6.9 Te-hisintona sary efa vonona miaraka amin'ny teboka fidirana Wi-Fi voarindra aho!

Mitaky fotoana sy ezaka ny fanomanana installer "ho an'ny rehetra". Raha toa ka (tampoka!) misy olona tena mahita izany mahaliana sy ilaina izany, manorata aminay dia hahita zavatra izahay.

Hamaranako ity.

Mirary soa ho an'ny rehetra hanao surf sy fanaraha-maso ambony indrindra amin'ny fotodrafitrasa!

Source: www.habr.com

Add a comment