Rasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)

Labarin Rasberi Pi + CentOS = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da jar hula) Na yi magana game da hanyar da za a juya Rasberi zuwa wurin shiga mara waya ta amfani da tsarin aiki na CentOS. Ta hanyar haɗa na'ura mai ba da hanya tsakanin hanyoyin sadarwa na gida bisa ga wannan zane, na gamsu da ƙirƙira na ƙirƙira kuma na sami haɓakar kwanciyar hankali don muhimmin abu na kayan aikin jin daɗi na. Duk da haka, jin rashin cikar mafita da kamala na cikin gida ya burge ni: “Sakamakon ajizanci na aiki ba shi da hakkin ya wanzu.” Tunanin cewa "mafi dacewa zai iya kuma ya kamata a cimma" bai bar ni na minti daya ba.

Kuma wata rana, a ɗaya daga cikin batutuwan jigogi, na ci karo da tattaunawa game da zurfin zurfin tsarin aiki don Rasberi (aarch64 vs armhfp): wanda 64-bit OS zai iya, bisa manufa, dacewa da aiki akan sigar Rasberi 3. ++?

CentOS ƙaunataccena don gine-ginen ARM daga "Userland" bai yi gaggawar canzawa zuwa sabon sigar kernel kuma ya juya zuwa 64-bit ba. Kuma ma'ajiyar EPEL, wanda aka haɗa daga Allah ya san inda ba tare da sa hannu na dijital ba, ya kasance mafarki mai ban tsoro a cikin barcin da nake da shi ...

Da yake magana a matsayin mai bin rabe-raben RPM, Na yi mamakin ganin cewa OS don Rasberi an manta da shi gaba ɗaya a cikin tattaunawa. Fedora! Kuma wannan duk da cewa an sake shi
daga sigar 28 tana goyan bayan Rasberi Pi 3B+ a cikin sigar 64-bit bisa hukuma!

Rasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)
A cikin wannan labarin zan yi magana game da hanyar shigarwa Fedora (arch64) a kan Kayan Pi 3 Model B + в karin ƙarancin aiki. Zan ɗan yi magana kan fasalulluka na haɓaka wurin shiga Wi-Fi, wanda aka gano sakamakon aikin gwaji na tsarina na baya akan. CentOS 7.

0. Abin da za ku buƙaci

Komai iri ɗaya ne kamar yadda aka jera a labarin da ya gabata:

  • Rasberi Pi 3 Model B+;
  • microSD>= 4GB (daga baya zaka iya "canja wurin" tsarin zuwa faifan 2GB);
  • Wurin aiki tare da Linux da mai karanta katin microSD;
  • Haɗin hanyar sadarwa mai waya tsakanin Rasberi da wurin aiki na Linux (a wannan yanayin, ba za a buƙaci ƙarin saka idanu da madanni don saiti ba), samun damar Intanet daga na'urori biyu;
  • Ƙwararren ƙwarewa a cikin Linux (don sani kuma kada ku ji tsoro: rabu, dd и mkfs).

Kama da maimaitawa lfs-gina Linux ɗin ku, za a yi amfani da hoton rarraba Fedora, sannan kuma dangane da shi, za a ƙirƙiri ƙaramin tsari (ba tare da “tari daga tushe ba”).

1. Shigarwa na asali rarraba

Haɗin kai na ɗanyen hoton tsarin akan Intanet:
https://…/fedora-secondary/releases/…/Spins/aarch64/images/Fedora-Minimal-…xz

Bayan yin rikodin shi akan microSD kuma kafin amfani dashi, kuna buƙatar:

  1. Fadada "tushen" na tsarin fayil (bangare na 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. Kashe SELinux
    echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
    

  3. Cire Mayen Saitin Farko:
    find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
    

  4. Bada damar shiga ta hanyar 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
    

Yanzu zaku iya saukar da "rasberi" daga microSD kuma haɗa shi ta hanyar hanyar sadarwa.

Farkon sanyi yana ɗaukar kusan minti ɗaya da rabi. TTX na tsarin bayan lodawa:

Rasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)

rpm -qa | wc -l
444

2. Haɗa ƙaramin tsarin

Abin takaici, "ƙananan rarrabawa" daga masu haɓakawa ya juya ya zama mai nisa daga mafi ƙanƙanta a cikin amfani da albarkatu. Hoton tsarin za a iya yin ƙarami.

Don yin wannan, kuna buƙatar gudanar da rubutun akan 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

Bayan gudanar da rubutun, za a ƙirƙiri babban kundin adireshi a cikin kundin adireshi na yanzu ($P) tare da abubuwan da ke cikin tushen sabon ƙaramin OS edition. Kuna iya kashe Rasberi kuma ku dawo da microSD zuwa wurin aiki na Linux.

3. Shigar da tsarin kadan

Shigarwa yana gangarowa zuwa kwafin fayilolin “hoton” kaɗan na OS (wanda aka samu a matakin da ya gabata) akan microSD na musamman da aka shirya cikin kundayen adireshi masu dacewa.

Katin 2GB da ɓangarori biyu akansa sun isa:

  1. / kora / efi - EFI + FAT32, taya, 100MB;
  2. / (tushen) - EXT4, duk sauran sarari.

Bayan shirya microSD da kwafin fayiloli zuwa gare shi, kuna buƙatar:

  • gyara OS boot;
  • kunna hanyar sadarwa;
  • saita damar ta hanyar ssh.

Gyaran taya shine maye gurbin UUID na sassan cikin fayilolin:

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

da siga saving_entry= a cikin fayil ɗin ƙarshe

A cikin fayil:

microSD:/etc/fstab

za ku iya nemo tsoffin dabi'u, da dabi'u na yanzu (na yau) a cikin fitarwar umarni:

blkid | grep mmcblk | sort

Bayan maye gurbin, ya kamata ku kuma gyara abubuwan da ke ciki fstab akan microSD domin ɗigon dutse ya dace da sabon ɓangaren UUIDs.

Ayyukan hanyar sadarwa lokacin da kuka fara kunna Rasberi za'a iya cimma su tare da ƙaramin “crutch” - ƙirƙirar hanyar haɗin gwiwa (a tsari):

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

da fayil:

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

Bayan an yi nasarar saukewa, gyara ƙaddamarwar systemd-cibiyar sadarwa:

systemctl disable systemd-networkd
systemctl enable systemd-networkd

An saita damar mai amfani ta hanyar ssh daidai da mataki na 1.

Bayan yin komai a hankali kuma ba tare da kurakurai ba, zaku iya matsar da microSD zuwa cikin "rasberi" kuma fara aiki tare da OS 64-bit a cikin ƙaramin ƙaramin sigar.

4. Tsarin shirye-shirye

Za a iya sauke "hoton" na tsarin da aka gama, wanda aka ƙirƙira bisa ga umarnin da ke sama, daga hanyar haɗin yanar gizon:
Fedora-Tiny-31-5.5.7-200.arch64

Wannan zai zama rumbun adana fayiloli guda biyu: rubutun shigarwa da TGZ tare da fayilolin OS. Ana buƙatar buɗe ma'ajiyar kayan tarihin akan wurin aiki na Linux, saka microSD (katin 2GB ya isa) kuma gudanar da rubutun tare da ma'auni - sunan na'urar:

./install /dev/mmcblk0

Yi hankali!

Ba tare da wani gargadi ba, za a tsara na'urar kuma za a shigar da tsarin aiki a kanta.

Bayan aiwatar da rubutun ba tare da kuskure ba, ana iya canza katin zuwa cikin “rasberi” kuma a yi amfani da shi: kama ta dhcp, kalmar sirri - “1”.

An share tsarin daga duk ID da maɓalli, wanda shine dalilin da ya sa kowane sabon shigarwa ya zama na musamman.

Na sake maimaitawa, tsarin - kadan! Saboda haka, kada ku firgita: DNF yana samuwa, don yin aiki dole ne ku "ƙirƙira" daidai. /etc/resolv.conf.

Farkon sanyi na Rasberi yana ɗaukar kusan daƙiƙa 40. TTX na tsarin bayan lodawa:

Rasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)

rpm -qa | wc -l
191

5. WiFi

Zan dan dakata a kan fasalulluka na aiwatar da wurin shiga Wi-Fi. Don takamaiman bayani, zaku iya komawa zuwa na baya labarin.

Ba a buƙatar EPEL - duk fakitin suna cikin ma'ajiyar hukuma.

Wataƙila zai dace a daina dnsmasq, tun da Fedora, ba kamar CentOS ba, yana da tsarin hanyar sadarwa na kwanan nan, wanda ke da sabar DHCP/DNS na yau da kullun. Amma gaskiyar ita ce a cikin masu haɓaka RHEL8 ya ƙi tallafawa tarin hanyar sadarwa da wani abu banda NM, baya haifar da kwarin gwiwa ga kyakkyawar makoma na aikin (masu zamba). A takaice dai, ban gwada shi ba.

Bugu da ari, direbobi na yanzu don ginanniyar adaftar Wi-Fi ba za a iya "sata" daga rarraba Raspbian ba, amma zazzage su kai tsaye daga. github.

Wannan shine abinda fayilolin Broadcom firmware yayi kama da Rasberi na (a tsari):

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

Idan ba tare da su ba, ba za ku sami 5GHz/AC ba.

Game da lamba da sunayen musaya. Yanzu ina ba da shawarar sosai ga kowa da kowa kada ya koma ga "sabis" na masu sauya software sai dai idan ya zama dole (gada), wanda ke gabatar da gagarumin nauyi a cikin tari na cibiyar sadarwa da kuma lalata hanyoyin sadarwa. Idan baku yi shirin samun adaftan mara waya da yawa ba, to yakamata kuyi amfani da mu'amala ta zahiri kawai. Ina da Wi-Fi guda biyu, don haka sai na haɗa su kawai a cikin gadar software (ko da yake kuna iya yin hakan ba tare da wannan ba ta kallon saitin hostapd daban).

Kuma ina son sake suna musaya.

Don yin wannan a cikin Fedora kuna buƙatar ƙirƙirar hanyar haɗi ta alama:

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

sannan za'a iya ba da sunaye masu ma'ana ba tare da yin wasa ba udev, amma kawai ta amfani da tsarin tsarin sadarwa.

Misali, wannan shine abin da ake kira adaftar hanyar sadarwa a cikin na'ura mai ba da hanya tsakanin hanyoyin sadarwa na:

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 - ginannen ciki, Ex - adaftan Wi-Fi na waje (USB) an haɗa su cikin “gada” lan;
  • wan - Adaftar Ethernet wanda aka haɗa Intanet a ciki.

Kun lura? fq_code - wani abu mai sanyi sosai. Tare da sabon kwaya na Linux, suna yin mu'ujizai na gaske a cikin kewayon mara waya: "zazzagewar torrent" ba zai haifar da raguwar saurin gudu a tsakanin makwabta ba. Ko da IP-TV na gida yana aiki "a kan iska" tare da tashar tashar da aka ɗora ba ya "karye" kuma baya "tuntuwa" kwata-kwata!

Fayil ɗin sabis ɗin daemon ya sami ƙananan canje-canje amintacce.

Yanzu yana kama da wannan (ta amfani da misalin adaftar da aka gina a ciki):

[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

Kuma "sihiri" hostapd-int.conf don aiki a 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]

Wani ɗan ƙaramin Photoshop da aka yi daga Ericsson A1018s:

(Haɗin Intanet - 100Mbit/sec)Rasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)
Kuma a ƙarshe, ƙaramin FAQ.

6. Tambaya

6.1 Me yasa ake yin Wi-Fi na'ura mai ba da hanya tsakanin hanyoyin sadarwa akan Rasberi?

Mutum zai iya amsawa a sauƙaƙe, kamar "yana da ban sha'awa don gwadawa da duk wannan."

Amma a gaskiya, a gare ni cewa batun yana da tsanani sosai. A zamanin Intanet na "jini", siyan na'ura mai ba da hanya tsakanin hanyoyin sadarwa a cikin shago da sauran yin garkuwa da masana'anta abu ne mai matukar muni. Mutane da yawa sun riga sun fahimci cewa zama tare da CVE ko ginannen gida ba zai yiwu ba.

Tabbas, zaku iya ƙaura zuwa firmware WRT daga masu sha'awar. Wataƙila akwai ƙarin amincewa da su, amma idan ba kwa son dogaro da su, to kawai amfani da samfuran ku. Mahimmanci, cikakkiyar kwamfuta ta yadda za a iya aiwatar da komai na duniya a kanta. Dangane da hanyar hanya, ba shakka.

Sabili da haka, zabar "rasberi" shine kawai motsi na tattalin arziki: ainihin kwamfuta kuma a lokaci guda mai tsada. Ko da yake, watakila ma - tare da "biyu" a ciki.

6.2 Amma Rasberi shine "ƙananan na'ura mai ba da hanya tsakanin hanyoyin sadarwa": jinkirin kuma tare da tashar Ethernet guda ɗaya!

A matsayin na'ura mai ba da hanya tsakanin hanyoyin sadarwa na Wi-Fi na gida, Rasberi ya fi gamsar da ni. Na riga na yi magana game da saurin iska a sama. Kuma akwai Ethernet guda ɗaya kawai, da kyau, a cikin samfurin irin wannan daga Apple kusan iri ɗaya ne!

Amma da gaske, ba shakka ina son ƙari. Kuma duk da cewa a cikin gidana ana haɗa dukkan na'urori ba tare da waya ba, wani lokacin ana buƙatar haɗin tagulla. Don irin waɗannan lokuta, Ina da “cibiyar wayar hannu” a hannun jari:

na'urar - wani abu kamar wannanRasberi Pi + Fedora (aarch64) = Wi-Fi Hotspot (ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa na rasberi tare da hula mai shuɗi)

6.3 Idan wannan na'ura mai ba da hanya tsakanin hanyoyin sadarwa ce, to, babu abin da aka ce game da "tuning" TCP/IP, saboda wannan yana da mahimmanci!

Baya ga kafa tari na cibiyar sadarwa (tcp_fastopen, YeAH, da dai sauransu), wannan da labarin da ya gabata ba su rufe wasu nuances ba, musamman, tsarin shirya microSD don ingantaccen amfani (ko da yake mai sakawa yana ƙoƙarin tsara katin ƙwaƙwalwar ajiya a ciki). hanya mai ban tsoro). Tsarin ingantawa ba shi da iyaka, kawai kuna buƙatar tsayawa cikin lokaci.

6.4 Me yasa Fedora?

Domin ina so! Fedora shine tsarin "na al'ada" don geeks, wanda aka yi nufin wannan labarin. A lokacin rubuce-rubuce, watakila kawai OS wanda don Rasberi a cikin nau'in 64-bit yana samun goyan bayan manyan ma'aikatan haɓakawa (daga waɗanda ba zan iya jira ba). kernel 5.6).

6.5 Bluetooth yana aiki? Yaya bidiyo/sauti/GPIO yake?

Ban sani ba. Labarin yana game da ƙarancin shigarwa na tsarin da kuma amfani da shi na gaba azaman hanyar sadarwar Wi-Fi.

6.6 Me yasa duk labarai game da CentOS/Fedora/RedHat ke farawa da kashe SELinux?

Domin tsarin ba shi da ƙaranci, ba shi da ma tagar bango ko kayan aiki don saita shi. Duk wanda ke buƙatarta na iya shigar da duk abin da yake buƙata.

6.7 Ba za a iya amfani da tsarin ba, ba za a iya canza kalmar sirri ba - babu passwd. Babu ping, babu komai!

Akwai DNF. Ko wannan zaɓin shigarwa ba na ku bane - yi amfani da kayan rarrabawa daga masu haɓakawa.

6.8 Ina SWAP? Ba zan iya rayuwa ba tare da shi ba!

Shin gaskiya ne? OK to:

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 Ina so nan da nan zazzage hoton da aka shirya tare da saita wurin shiga Wi-Fi!

Shirya mai sakawa “ga kowa” zai buƙaci ɗan lokaci da ƙoƙari. Idan (ba zato ba tsammani!) Wani ya sami wannan mai ban sha'awa da mahimmanci, rubuta mana kuma za mu fito da wani abu.

Zan gama da wannan.

Ina fatan kowa da kowa lafiya hawan igiyar ruwa da iyakar iko akan abubuwan more rayuwa!

source: www.habr.com

Add a comment