Pali zambiri zambiri pa intaneti pakupanga malo ofikira pa Wi-Fi kutengera Raspberry singleboard PC. Monga lamulo, izi zikutanthauza kugwiritsa ntchito pulogalamu ya Raspbian yochokera ku Raspberry.
Pokhala wotsatira machitidwe a RPM, sindinathe kudutsa chozizwitsa chaching'ono ichi ndikuyesa CentOS wanga wokondedwa pa izo.
Nkhaniyi imapereka malangizo opangira rauta ya 5GHz/AC Wi-Fi kuchokera pa Raspberry Pi 3 Model B+ kutengera makina opangira a CentOS. Padzakhala zidule zingapo zodziwika koma zodziwika pang'ono, komanso ngati bonasi - chojambula cholumikizira zida zowonjezera za Wi-Fi ku Raspberry, kulola kuti igwire ntchito nthawi imodzi m'njira zingapo (2,4 + 5GHz).
(kusakanikirana kwa zithunzi zomwe zilipo kwaulere)
Tiyeni tizindikire nthawi yomweyo kuti maulendo ena a cosmic sangagwire ntchito. Ndimafinya mpaka 100 Mbps kuchokera mu Rasipiberi wanga pamlengalenga, ndipo izi zimaphimba liwiro la omwe ndimapereka intaneti. Nchifukwa chiyani mukufunikira AC yaulesi yotere, ngati mungatenge theka la gigabit ngakhale pa N? Ngati mwadzifunsa nokha funso ili, ndiye pitani ku sitolo kuti mugule rauta yeniyeni yokhala ndi tinyanga zisanu ndi zitatu zakunja.
0. Zomwe mudzafunika
- Kwenikweni, "rasipiberi" palokha ndi yamtundu: Pi 3 Model B+ (kuti mukwaniritse kuthamanga ndi ma tchanelo a 5GHz);
- MicroSD yabwino> = 4GB;
- Workstation ndi Linux ndi microSD owerenga / wolemba;
- Kupezeka kwa luso lokwanira mu Linux, nkhaniyi ndi ya Geek yophunzitsidwa;
- Kulumikizana kwa mawaya (eth0) pakati pa Raspberry ndi Linux, kuyendetsa seva ya DHCP pa netiweki yapafupi ndi intaneti kuchokera ku zida zonse ziwiri.
Ndemanga yaying'ono pa mfundo yomaliza. "Chimene chinabwera poyamba, dzira kapena ..." momwe mungapangire rauta ya Wi-Fi popanda zida zilizonse zolowera pa intaneti? Tiyeni tisiye zochitika zosangalatsa izi kunja kwa nkhaniyo ndikungoganiza kuti Raspberry imalumikizidwa ndi netiweki yakomweko kudzera pawaya ndipo ili ndi intaneti. Pankhaniyi, sitidzafunika TV yowonjezera komanso chowongolera kuti tikhazikitse "rasipiberi".
1. Ikani CentOS
Panthawi yolemba nkhaniyi, CentOS yomwe ikuyenda pa chipangizocho ndi 32-bit. Kwinakwake pa Webusaiti Yadziko Lonse Ndidapeza malingaliro oti machitidwe a ma OS otere pamapangidwe a 64-bit ARM amachepetsedwa ndi 20%. Ndisiya mphindi ino popanda ndemanga.
Pa Linux, tsitsani chithunzi chochepa ndi kernel "- RaspberryPI-"ndipo lembani ku microSD:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz |
dd of=/dev/mmcblk0 bs=4M
# sync
Tisanayambe kugwiritsa ntchito chithunzichi, tidzachotsa gawo la SWAP, kukulitsa muzu ku voliyumu yonse yomwe ilipo ndikuchotsa SELinux. Ma aligorivimu ndi osavuta: pangani kopi ya mizu pa Linux, chotsani magawo onse ku microSD kupatula woyamba (/ boot), pangani muzu watsopano ndikubweza zomwe zili mukope.
Chitsanzo cha zochita zofunika (zotulutsa kwambiri za console)
# mount /dev/mmcblk0p3 /mnt
# cd /mnt
# tar cfz ~/pi.tgz . --no-selinux
# cd
# umount /mnt
# parted /dev/mmcblk0
(parted) unit s
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
2 1370112s 2369535s 999424s primary linux-swap(v1)
3 2369536s 5298175s 2928640s primary ext4
5298176s 31116287s 25818112s Free Space
(parted) rm 3
(parted) rm 2
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
1370112s 31116287s 29746176s Free Space
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? ext4
Start? 1370112s
End? 31116287s
(parted) set
Partition number? 2
Flag to Invert? lba
New state? on/[off]? off
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
2 1370112s 31116287s 29746176s primary ext4
(parted) quit
# mkfs.ext4 /dev/mmcblk0p2
mke2fs 1.44.6 (5-Mar-2019)
/dev/mmcblk0p2 contains a swap file system labelled '_swap'
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 3718272 4k blocks and 930240 inodes
Filesystem UUID: 6a1a0694-8196-4724-a58d-edde1f189b31
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
# mount /dev/mmcblk0p2 /mnt
# tar xfz ~/pi.tgz -C /mnt --no-selinux
Pambuyo pomasula zomwe zili mugawo la mizu, ndi nthawi yoti musinthe.
Letsani SELinux mu /mnt/etc/selinux/config:
SELINUX=disabled
Kusintha /mnt/etc/fstab, kusiyamo malemba awiri okha okhudza magawowo: boot (/boot, palibe kusintha) ndi mizu (timasintha mtengo wa UUID, womwe ungapezeke pophunzira kutuluka kwa lamulo la blkid pa Linux):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0
UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
Pomaliza, timasintha magawo a kernel boot: timafotokozera malo atsopano ogawa mizu, kuletsa kutulutsa kwa chidziwitso ndikuletsa (mwakufuna) kuletsa kernel kuti isagawire ma adilesi a IPv6 pamanetiweki:
# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt
Nazi zomwe zili /mnt/cmdline.txt ku mawonekedwe otsatirawa (mzere umodzi wopanda ma hyphens):
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1
Zachitika:
# cd
# umount /mnt
# sync
Timakonzanso microSD mu "rasipiberi", tiyiyambitsa ndikupeza mwayi wogwiritsa ntchito ssh (root/centos).
2. Kukhazikitsa CentOS
Zoyamba zitatu zosagwedezeka mayendedwe: passwd, yum -yomaliza, kuyambiransoko.
Timapereka ma network management networkd:
# yum install systemd-networkd
# systemctl enable systemd-networkd
# systemctl disable NetworkManager
# chkconfig network off
Pangani fayilo (pamodzi ndi zolemba) /etc/systemd/network/eth0.network:
[Match]
Name=eth0
[Network]
DHCP=ipv4
Timayambiranso "rasipiberi" ndikufikiranso maukonde kudzera ssh (adilesi ya IP ingasinthe). Samalani ndi zomwe zimagwiritsidwa ntchito /etc/resolv.conf, yopangidwa kale ndi Network Manager. Chifukwa chake, pakakhala zovuta, sinthani zomwe zili mkati mwake. Gwiritsani ntchito kusinthidwa sitidzatero.
Timachotsa "zosafunika", kukonza ndikufulumizitsa kutsitsa kwa OS:
# systemctl set-default multi-user.target
# yum remove GeoIP Network* aic* alsa* cloud-utils-growpart
cronie* dhc* firewal* initscripts iwl* kexec* logrotate
postfix rsyslog selinux-pol* teamd wpa_supplicant
Ndani akufuna cron ndi amene sagaya zomangidwa
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
# vi /etc/systemd/journald.conf
Letsani kugwiritsa ntchito IPv6 ndi ntchito zoyambira (ngati pakufunika)/ etc / ssh / sshd_config:
AddressFamily inet
/etc/sysconfig/chronyd:
OPTIONS="-4"
Kufunika kwa nthawi pa "rasipiberi" ndikofunikira. Popeza kunja kwa bokosi mulibe luso la hardware kuti musunge momwe wotchi ilili panopa pakuyambiranso, kugwirizanitsa kumafunika. Daemon yabwino kwambiri komanso yachangu pa izi chrony - yakhazikitsidwa kale ndipo imayamba zokha. Mutha kusintha ma seva a NTP kukhala apafupi.
/etc/chrony.conf:
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Kukhazikitsa nthawi yomwe tidzagwiritse ntchito chinyengo. Popeza cholinga chathu ndikupanga rauta ya Wi-Fi yomwe imagwira ntchito pama frequency a 5GHz, tikonzekera zodabwitsa pasadakhale. wolamulira:
# yum info crda
Chidule: Daemon yotsata malamulo pamanetiweki opanda zingwe a 802.11
Mapangidwe oipawa, omwenso amatengera nthawi yanthawi, "amaletsa" kugwiritsa ntchito (ku Russia) ma frequency ndi ma tchanelo a 5GHz okhala ndi manambala "okwera". Chinyengo ndikukhazikitsa nthawi yanthawi osagwiritsa ntchito mayina a makontinenti/mizinda, ndiye kuti, m'malo mwa:
# timedatectl set-timezone Europe/Moscow
Timasindikiza:
# timedatectl set-timezone Etc/GMT-3
Ndipo kukhudza komaliza kwa tsitsi la dongosolo:
# hostnamectl set-hostname router
/root/.bash_profile:
. . .
# User specific environment and startup programs
export PROMPT_COMMAND="vcgencmd measure_temp"
export LANG=en_US.UTF-8
export PATH=$PATH:$HOME/bin
3. CentOS Zowonjezera
Zonse zomwe zanenedwa pamwambapa zitha kuonedwa ngati malangizo athunthu oyika "vanilla" CentOS pa Raspberry Pi. Muyenera kukhala ndi PC yomwe (re) boots mu masekondi osakwana 10, imagwiritsa ntchito zosakwana 15 Megabytes ya RAM ndi 1.5 Gigabytes ya microSD (kwenikweni zosakwana 1 Gigabyte chifukwa chosakwanira / boot, koma tiyeni tikhale oona mtima).
Kuti muyike pulogalamu yofikira pa Wi-Fi pamakinawa, muyenera kukulitsa pang'ono kuthekera kwa kugawa kwa CentOS. Choyamba, tiyeni tikweze dalaivala (firmware) ya adaputala ya Wi-Fi yomangidwa. Tsamba loyamba la polojekitiyo limati:
Wifi pa Rasipiberi 3B ndi 3B+
Mafayilo a firmware a Raspberry PI 3B/3B+ saloledwa kugawidwa ndi CentOS Project. Mutha kugwiritsa ntchito zolemba zotsatirazi kuti mumvetsetse nkhaniyi, pezani firmware ndikukhazikitsa wifi.
Zomwe zili zoletsedwa pulojekiti ya CentOS sizoletsedwa kwa ife kuti tigwiritse ntchito. Timalowetsanso kugawa kwa Wi-Fi firmware mu CentOS ndi yofananira kuchokera kwa opanga Broadcom (mabulogu a binary omwe amadana nawo ...). Izi, makamaka, zikuthandizani kuti mugwiritse ntchito AC munjira yofikira.
Kusintha kwa firmware ya Wi-FiDziwani mtundu wa chipangizocho komanso mtundu waposachedwa wa firmware:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver))
Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.14.8 Compiler: 1.24.9 ClmImport: 1.24.9 Creation: 2014-09-02 03:05:33 Inc Data: 7.17.1 Inc Compiler: 1.26.11 Inc ClmImport: 1.26.11 Creation: 2015-03-01 07:22:34
Tikuwona kuti mtundu wa firmware ndi 7.45.18 wa 01.03.2015/XNUMX/XNUMX, ndipo kumbukirani manambala awa: 43455 (bcmfmac43455-sdio.bin).
# wget https://downloads.raspberrypi.org/raspbian_lite_latest
# unzip -p raspbian_lite_latest > raspbian.img
# fdisk -l raspbian.img
Disk raspbian.img: 2 GiB, 2197815296 bytes, 4292608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x17869b7d
Device Boot Start End Sectors Size Id Type
raspbian.img1 8192 532480 524289 256M c W95 FAT32 (LBA)
raspbian.img2 540672 4292607 3751936 1.8G 83 Linux
# mount -t ext4 -o loop,offset=$((540672 * 512)) raspbian.img /mnt
# cp -fv /mnt/lib/firmware/brcm/*43455* ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.bin' -> ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob' -> ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.txt' -> ...
# umount /mnt
Mafayilo a firmware a Wi-Fi amayenera kukopera ndikusinthidwa ndi "rasipiberi" mu bukhu /usr/lib/firmware/brcm/
Timayambiranso rauta yamtsogolo ndikumwetulira mokhutira:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver))
Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 9.10.105 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2018-03-09 18:56:28
Mtundu: 7.45.154 wa 27.02.2018/XNUMX/XNUMX.
Ndipo ndithudi EPEL:
# cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0
EOF
# yum clean all
# rm -rfv /var/cache/yum
# yum update
4. Kusintha kwa maukonde ndi zovuta zomwe zikubwera
Monga tavomereza pamwambapa, "rasipiberi" imalumikizidwa ndi "waya" ku netiweki yakomweko. Tiyerekeze kuti woperekayo amapereka intaneti mofanana ndendende: adilesi yomwe ili pagulu la anthu onse imaperekedwa mwamphamvu ndi seva ya DHCP (mwinamwake yokhala ndi MAC yomanga). Pankhaniyi, mutatha kukhazikitsidwa komaliza kwa rasipiberi, mumangofunika "kulumikiza" chingwe cha wothandizira ndipo mwatha. Kugwiritsa ntchito chilolezo systemd-networkd - mutu wa nkhani yosiyana ndipo sikukambidwa pano.
Raspberry's Wi-Fi interface(s) ndi netiweki yakomweko, ndipo adaputala ya Efaneti yomangidwa (eth0) ndi yakunja. Tiyeni tiwerenge ma netiweki amderali motengera mwachitsanzo: 192.168.0.0/24. Adilesi ya rasipiberi: 192.168.0.1. Seva ya DHCP idzagwira ntchito pa intaneti yakunja (Intaneti).
Parallel chaos (lyrical digression)Lennart Pottering wapanga pulogalamu yakeyake systemd Zabwino kwambiri. Izi systemd amakhazikitsa mapologalamu ena mwachangu kotero kuti, osapeza nthawi yoti achire pakuyimba mluzu kwa woyimbira, amapunthwa ndikugwa koyambirira osayamba ngakhale njira yawo yolepheretsa.
Koma mozama, kufanana koopsa kwa njira zomwe zidakhazikitsidwa kumayambiriro kwa systemd OS ndi mtundu wa "buluu" wa akatswiri otsatizana a LSB. Mwamwayi, kubweretsa dongosolo ku "chipwirikiti chofanana" kumakhala kosavuta, ngakhale kuti sikudziwika nthawi zonse.
Timapanga maulalo awiri omwe ali ndi mayina osasintha: LAN ΠΈ wan. "Tidzalumikiza" adaputala ya Wi-Fi kupita ku yoyamba, ndi eth0 "rasipiberi" yachiwiri.
/etc/systemd/network/lan.netdev:
[NetDev]
Name=lan
Kind=bridge
/etc/systemd/network/lan.network:
[Match]
Name=lan
[Network]
Address=192.168.0.1/24
IPForward=yes
/etc/systemd/network/wan.netdev:
[NetDev]
Name=wan
Kind=bridge
#MACAddress=xx:xx:xx:xx:xx:xx
/etc/systemd/network/wan.network:
[Match]
Name=wan
[Network]
DHCP=ipv4
IPForward=yes
IPForward=inde imachotsa kufunikira kolozera ku kernel kudzera pa sysctl kuti muzitha kuyendetsa.
MACAaddress= Tiyeni tisinthe ndikusintha ngati kuli kofunikira.
Choyamba "timagwirizanitsa" eth0. Timakumbukira "vuto lofanana" ndikugwiritsa ntchito adilesi ya MAC yokha ya mawonekedwe awa, omwe angapezeke, mwachitsanzo, motere:
# cat /sys/class/net/eth0/address
Timalenga /etc/systemd/network/eth.network:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Network]
Bridge=wan
Timachotsa fayilo yosinthidwa yapitayi eth0, yambitsanso Raspberry ndikupeza mwayi wopeza netiweki (adilesi ya IP ingasinthe):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5.DNSMASQ
Pakupanga malo ofikira pa Wi-Fi, palibe chomwe chimaposa angapo okoma dnsmasq + hostapd sindinachimvetse. M'malingaliro anga.
Ngati wina wayiwala, ndiye ...
Tiyeni tiyambe ndi dnsmasq:
# yum install dnsmasq
Chitsanzo /etc/resolv.conf:
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 77.88.8.8
nameserver 77.88.8.1
domain router.local
search router.local
sinthani momwe mukufunira.
minimalist /etc/dnsmasq.conf:
domain-needed
bogus-priv
interface=lan
bind-dynamic
expand-hosts
domain=#
dhcp-range=192.168.0.100,192.168.0.199,255.255.255.0,24h
conf-dir=/etc/dnsmasq.d
"Matsenga" apa ali mu parameter kumanga-zamphamvu, yomwe imauza dnsmasq daemon kuti idikire mpaka iwonekere padongosolo mawonekedwe=lan, ndipo osakomoka chifukwa cha kusungulumwa kodzikuza pambuyo poyambira.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
Ndipo potsiriza, masanjidwe amatsenga a hostapd. Sindikukayika kuti wina akuwerenga nkhaniyi pofufuza ndendende mizere yamtengo wapataliyi.
Musanayike hostapd, muyenera kuthana ndi "vuto lofanana". Adaputala ya Wi-Fi wlan0 imatha kusintha dzina lake kukhala wlan1 polumikiza zida zowonjezera za USB Wi-Fi. Choncho, tidzakonza mayina a mawonekedwe motere: tidzakhala ndi mayina apadera a adaputala (opanda zingwe) ndikuwamanga ku maadiresi a MAC.
Kwa adaputala ya Wi-Fi yomangidwa, yomwe ikadali wlan0:
# cat /sys/class/net/wlan0/address
b8:27:eb:xx:xx:xx
Timalenga /etc/systemd/network/wl0.link:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Link]
Name=wl0
Tsopano tikhala otsimikiza kuti wl0 - Iyi ndi Wi-Fi yomangidwa. Timayambiranso Raspberry kuti titsimikizire izi.
Ikani:
# yum install hostapd wireless-tools
Fayilo yosintha /etc/hostapd/hostapd.conf:
ssid=rpi
wpa_passphrase=1234567890
channel=36
country_code=US
interface=wl0
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=[MAX-AMSDU-3839][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
# AC
ieee80211ac=1
require_vht=1
ieee80211d=0
ieee80211h=0
vht_capab=[MAX-AMSDU-3839][SHORT-GI-80]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
Mosaiwala kwa kamphindi
# hostapd /etc/hostapd/hostapd.conf
hostapd iyamba munjira yolumikizirana, kuwulutsa dziko lake ku console. Ngati palibe zolakwika, ndiye kuti makasitomala omwe amathandizira mawonekedwe a AC azitha kulumikizana ndi malo ofikira. Kuti muyimitse hostapd - Ctrl-C.
Zomwe zatsala ndikuyambitsa hospd pakuyambitsa dongosolo. Ngati muchita zomwezo (systemctl thandizani hostapd), ndiye mukayambiranso mutha kupeza chiwanda "chokugudubuza m'magazi" ndikuzindikira kuti "mawonekedwe wl0 sanapezeke". Chifukwa cha "chipwirikiti chofanana," hostapd idayamba mwachangu kuposa momwe kernel idapeza adaputala opanda zingwe.
Intaneti ili ndi zithandizo zambiri: kuyambira nthawi yokakamiza isanayambe daemon (mphindi zingapo), kupita ku daemon ina yomwe imayang'anira maonekedwe a mawonekedwe ndi (kuyambiranso) kuyambitsa hostpad. Zothetserazo ndizothandiza, koma zoyipa kwambiri. Timapempha thandizo kwa wamkulu systemd ndi "zolinga" ndi "ntchito" ndi "zodalira".
Koperani fayilo yotumizira ku /etc/systemd/system/hostapd.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system
ndi kuchepetsa zomwe zili mu fomu ili:
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=sys-subsystem-net-devices-wl0.device
BindsTo=sys-subsystem-net-devices-wl0.device
[Service]
Type=forking
PIDFile=/run/hostapd.pid
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
[Install]
WantedBy=sys-subsystem-net-devices-wl0.device
Matsenga afayilo yantchito yosinthidwa ali mukamangirira kosunthika kwa hostapd ku chandamale chatsopano - mawonekedwe a wl0. Pamene mawonekedwe akuwonekera, daemon imayamba; ikasowa, imayima. Ndipo zonsezi zili pa intaneti - popanda kuyambiranso dongosolo. Njirayi idzakhala yothandiza makamaka polumikiza adaputala ya USB Wi-Fi ku Rasipiberi.
Tsopano mutha:
# systemctl enable hostapd
# reboot
7. IPTABLES
"Bwanji???" Β© Inde, inde! Palibe systemd. Palibe zophatikiza zatsopano (mu mawonekedwe kuwunika), zomwe zimatha kuchita zomwezo.
Tiyeni tigwiritse ntchito yabwino yakale iptables, omwe mautumiki awo, atatha, adzakweza malamulo a pa intaneti mu kernel ndikutseka mwakachetechete popanda kukhala wokhalamo komanso osagwiritsa ntchito chuma. systemd ili ndi kaso IPMasquerade=, koma tidzaperekabe kumasulira kwa adilesi (NAT) ndi firewall ku iptables.
Ikani:
# yum install iptables-services
# systemctl enable iptables ip6tables
Ndimakonda kusunga kasinthidwe ka iptables ngati script (chitsanzo):
#!/bin/bash
#
# Disable IPv6
#
ip6tables --flush
ip6tables --delete-chain
ip6tables --policy INPUT DROP
ip6tables --policy FORWARD DROP
ip6tables --policy OUTPUT DROP
ip6tables-save > /etc/sysconfig/ip6tables
systemctl restart ip6tables
#
# Cleaning
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#
# Loopback, lan
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lan -j ACCEPT
#
# Ping, Established
#
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# NAT
#
iptables -t nat -A POSTROUTING -o wan -j MASQUERADE
#
# Saving
#
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables
Timalemba zomwe zili pamwambapa ndikutaya kuthekera kokhazikitsa ma SSH olumikizana ndi mawaya atsopano ndi Raspberry. Ndiko kulondola, tapanga rauta ya Wi-Fi, kulowa komwe "kudzera pa intaneti" ndikoletsedwa mwachisawawa - tsopano "pamlengalenga". Timalumikiza chingwe cha Ethernet cha omwe amapereka ndikuyamba kusefa!
8. Bonasi: +2,4GHz
Nditasonkhanitsa rauta yoyamba ya Rasipiberi pogwiritsa ntchito chithunzi chomwe tafotokoza pamwambapa, ndidapeza zida zingapo m'nyumba mwanga zomwe, chifukwa cha kuchepa kwa kapangidwe ka Wi-Fi, sizimatha kuwona "rasipiberi" nkomwe. Kukonzanso rauta kuti igwire ntchito mu 802.11b/g/n kunali kopanda masewera, popeza liwiro lalikulu "pamlengalenga" pankhaniyi silinapitirire 40 Mbit, ndipo wondikonda pa intaneti amandipatsa 100 (kudzera chingwe).
M'malo mwake, njira yothetsera vutoli idapangidwa kale: mawonekedwe achiwiri a Wi-Fi omwe amagwira ntchito pafupipafupi 2,4 GHz, ndi malo achiwiri ofikira. Pa khola lapafupi sindinagule woyamba, koma "mluzu" wachiwiri wa USB Wi-Fi ndidakumana nawo. Wogulitsayo adazunzidwa ndi mafunso okhudza chipset, kugwirizana ndi ma ARM Linux kernels komanso kuthekera kogwira ntchito mu AP mode (iye anali woyamba kuyamba).
Timakonza "mluzu" pofanizira ndi adaputala ya Wi-Fi.
Choyamba, tiyeni titchule dzina wl1:
# cat /sys/class/net/wlan0/address
b0:6e:bf:xx:xx:xx
/etc/systemd/network/wl1.link:
[Match]
MACAddress=b0:6e:bf:xx:xx:xx
[Link]
Name=wl1
Tidzapereka kasamalidwe ka mawonekedwe atsopano a Wi-Fi ku daemon yosiyana ya hostapd, yomwe idzayambike ndikuyima kutengera kukhalapo kwa "mluzu" wofotokozedwa bwino m'dongosolo: wl1.
Fayilo yosintha /etc/hostapd/hostapd2.conf:
ssid=rpi2
wpa_passphrase=1234567890
#channel=1
#channel=6
channel=11
interface=wl1
bridge=lan
driver=nl80211
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
macaddr_acl=0
hw_mode=g
wmm_enabled=1
# N
ieee80211n=1
require_ht=1
ht_capab=[HT40][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
Zomwe zili mufayiloyi zimatengera mtundu wa adaputala ya USB Wi-Fi, kotero kuti kukopera banal / phala kungakulepheretseni.
Koperani fayilo yotumizira ku /etc/systemd/system/hostapd2.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service
ndi kuchepetsa zomwe zili mu fomu ili:
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=sys-subsystem-net-devices-wl1.device
BindsTo=sys-subsystem-net-devices-wl1.device
[Service]
Type=forking
PIDFile=/run/hostapd2.pid
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd2.conf -P /run/hostapd2.pid -B
[Install]
WantedBy=sys-subsystem-net-devices-wl1.device
Zomwe zatsala ndikuyambitsa chitsanzo chatsopano cha hostapd:
# systemctl enable hostapd2
Ndizomwezo! Kokani "mluzu" ndi "rasipiberi" palokha, yang'anani pa ma intaneti opanda zingwe akuzungulirani.
Ndipo potsiriza, ndikufuna kukuchenjezani za khalidwe la USB Wi-Fi adaputala ndi magetsi a Rasipiberi. Kulumikizidwa "mluzu wotentha" nthawi zina kungayambitse "kuzizira kwa rasipiberi" chifukwa cha zovuta zamagetsi kwakanthawi kochepa.
Source: www.habr.com