Pane huwandu hukuru hweruzivo paInternet pakugadzira nzvimbo dzeWi-Fi dzekuwana zvichibva paRaspberry single-board PC. Sezvo mutemo, izvi zvinoreva kushandisa iyo Raspbian inoshanda sisitimu yekuzvarwa kuRaspberry.
Sezvo ndiri muteveri wemasystem akavakirwa paRPM, ndaisagona kupfuura chishamiso ichi chidiki uye kusaedza chandinoda pachiri CentOS.
Chinyorwa chino chinopa mirairo yekuti ungagadzira sei router ye5GHz/AC Wi-Fi kubva kuRaspberry Pi 3 Model B+ inoshandisa system yekushandisa. CentOSPachava nemanomano akati wandei, asi asinganyanyo zivikanwa, uye sebhonasi, dhayagiramu yekubatanidza mimwe michina yeWi-Fi kuRaspberry Pi, ichiibvumira kushanda nenzira dzakawanda (2,4 + 5 GHz) panguva imwe chete.

(musanganiswa wemifananidzo inowanikwa pachena)
Ngationei ipapo ipapo kuti mamwe mavheti emuchadenga haashande. Ini ndinosvina huwandu hwe100 Mbps kubva muRaspberry yangu pamusoro pemhepo, uye izvi zvinovhara kumhanya kwemupi weInternet. Sei uchida ine usimbe AC, kana mune dzidziso unogona kuwana hafu yegigabit kunyange paN? Kana iwe wakazvibvunza mubvunzo uyu, zvino enda kuchitoro kunotenga router chaiyo ine masere ekunze antennas.
0. Zvauchazoda
- Chaizvoizvo, iyo "raspberry chigadzirwa" pachayo ndeye caliber: Pi 3 Model B + (kuzadzisa inoshuvira 5GHz kumhanya uye chiteshi);
- yakanaka microSD> = 4GB;
- Nzvimbo yekushandira ine Linux uye muverengi/munyori wemicroSD;
- Kuva nehunyanzvi hwakakwana mu Linux, chinyorwa - cheGeek yakagadzirirwa;
- Kubatana kwenetwork ine waya (eth0) pakati peRaspberry ne Linux, sevha yeDHCP inoshanda pane network yemuno uye mukana wekuwana internet kubva kumidziyo yese miviri.
Mhinduro diki pane yekupedzisira poindi. "Ndeipi yakauya pakutanga, zai kana ..." maitiro ekugadzira Wi-Fi router mukushayikwa kwemidziyo yeInternet? Ngatisiyei ichi chinonakidza chiitiko kunze kwechikamu chechinyorwa uye tongofunga kuti Raspberry yakabatana kune yemunharaunda network newaya uye inokwanisa kuwana Internet. Muchiitiko ichi, hatizodi imwe TV uye manipulator kuti tigadzire "raspberry".
1. Kuiswa CentOS
Panguva yekunyora chinyorwa chino, shanduro inoshanda CentOS Chishandiso ichi chinoshandisa 32-bit. Pane imwe nzvimbo paindaneti, ndakasangana nemishumo yekuti mashandiro ema operating system akadaro pa 64-bit ARM architecture anoderera ne20%. Ndichasiya izvozvo ndisina kutaura.
pamusoro Linux-dhawunirodha mufananidzo mudiki uchishandisa kernel "-RaspberryPI-"uye nyora kune microSD:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz |
dd of=/dev/mmcblk0 bs=4M
# sync
Tisati tashandisa mufananidzo, tichabvisa chikamu cheSWAP kubva pachiri, towedzera mudzi kusvika pahuwandu hwese huripo uye tobvisa SELinuxMaitiro acho ari nyore: tinogadzira kopi yemudzi pa Linux, bvisa zvikamu zvese kubva ku microSD kunze kweyekutanga (/boot), gadzira mudzi mutsva wodzorera zviri mukati mayo kubva pakopi.
Muenzaniso wezviito zvinodiwa (yakaoma console kubuda)
# 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
Mushure mekusunungura zviri mukati memudziyo wekuparadzanisa, inguva yekuita shanduko pairi.
Dzima SELinux в /mnt/etc/selinux/config:
SELINUX=disabled
Kugadzirisa /mnt/etc/fstab, tichisiya manyorerwo maviri chete nezvezvikamu: boot (/boot, isina kuchinja) uye root (tinochinja kukosha kweUUID, izvo zvinogona kuwanikwa nekuongorora kubuda kwemurairo we blkid pa Linux-e):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0
UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
Pakupedzisira, isu tinoshandura kernel boot parameters: tinotsanangura nzvimbo itsva yemudziyo wekuparadzanisa, kudzima kuburitsa kweruzivo rwekugadzirisa uye (nekuda) kurambidza kernel kugovera IPv6 kero pane network interfaces:
# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt
Hezvino zviri mukati /mnt/cmdline.txt kune inotevera fomu (mutsetse mumwe usina hyphens):
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1
Zvaitwa:
# cd
# umount /mnt
# sync
Tinoisa microSD muRaspberry Pi, toivhura towana mukana wekushandisa network kuburikidza ne ssh (root/centos).
2. Setup CentOS
Matatu ekutanga asingazungunuke mafambiro: passwd, yum -y update, reboot.
Isu tinopa kure network management networkd:
# yum install systemd-networkd
# systemctl enable systemd-networkd
# systemctl disable NetworkManager
# chkconfig network off
Gadzira faira (pamwe chete nemadhairekitori) /etc/systemd/network/eth0.network:
[Match]
Name=eth0
[Network]
DHCP=ipv4
Isu tinotangazve "raspberry" uye zvakare kuwana network yekuwana nayo kuburikidza ne ssh (iyo IP kero inogona kuchinja). Chenjerera kune zvinoshandiswa /etc/resolv.conf, yakagadzirwa kare neNetwork Manager. Naizvozvo, kana paine matambudziko nekugadziriswa, gadzirisa zvirimo. Shandisa systemd-yakagadziriswa hatizodaro.
Isu tinobvisa "zvisina basa", gadzirisa uye nekumhanyisa kurodha kweOS:
# 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
Ndiani anoda cron they uye ndiani asingagaye zvakavakwa , anogona kuona kuti chii chisipo. / var / log- uye tarisa mutori. Kana iwe uchida nhoroondo yelogi (nekusarudzika, ruzivo rwunochengetwa chete kubva panotanga system):
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
# vi /etc/systemd/journald.conf
Dzima kushandiswa kweIPv6 nemasevhisi ekutanga (kana zvichidikanwa)/ etc / ssh / sshd_config:
AddressFamily inet
/etc/sysconfig/chronyd:
OPTIONS="-4"
Kukosha kwenguva pa "raspberry" chinhu chakakosha. Sezvo kunze kwebhokisi pasina hunyanzvi hwehudhivhari hwekuchengetedza iyo ikozvino mamiriro ewachi paunotangazve, kuwiriranisa kunodiwa. Daemon yakanaka kwazvo uye inokurumidza yeiyi chrony - yakatoiswa uye inotanga otomatiki. Unogona kushandura maseva eNTP kune ari pedyo.
/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
Kuseta nguva yenguva yatichashandisa trick. Sezvo chinangwa chedu chiri chekugadzira Wi-Fi router inoshanda pa5GHz frequencies, isu tichagadzirira zvinoshamisa pamberi. mutongi:
# yum info crda
Pfupiso: Regulatory kutevedzera daemon ye802.11 isina waya network
Iyi dhizaini yakaipa, zvakare yakavakirwa pane yenguva, "inorambidza" kushandiswa (muRussia) kwe5GHz mafrequency nemachaneli ane "pamusoro" nhamba. Uchenjeri hwekumisa nzvimbo yenguva usingashandisi mazita emakondinendi/maguta, kureva, pachinzvimbo che:
# timedatectl set-timezone Europe/Moscow
Tinodzvanya:
# timedatectl set-timezone Etc/GMT-3
Uye iyo yekupedzisira kubata kune bvudzi reiyo system:
# 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. Kuwedzera CentOS
Zvese zvataurwa pamusoro apa zvinogona kutorwa semurairo wakakwana wekuisa "vanilla" CentOS paRaspberry Pi. Unofanira kuguma uine PC inodzosazve mukati memasekonzi gumi, inoshandisa RAM isingasviki 15 megabytes, uye microSD card 1.5 gigabytes (chaizvoizvo, isingasviki 1 gigabyte nekuda kwe /boot isina kukwana, asi ngativei vakatendeseka).
Kuti uise software yeWi-Fi access point pane iyi system, uchafanirwa kuwedzera zvishoma kugona kwekushandisa standard distribution. CentOSKutanga, ngatigadzirisei dhiraivha (firmware) yeadapta yeWi-Fi yakavakirwa mukati. Peji rekutanga repurojekiti rinoti:
Wifi paRaspberry 3B uye 3B+
Mafaira eRaspberry PI 3B/3B+ firmware haatenderwe kugoverwa ne CentOS Purojekiti. Unogona kushandisa zvinyorwa zvinotevera kuti unzwisise dambudziko, uwane firmware uye ugadzirise wifi.
Izvo zvisingatenderwi kuitwa neprojekiti CentOS, saka hatirambidzwi kuishandisa pachedu. Tiri kutsiva firmware yeWi-Fi inogoverwa mu CentOS kune inoenderana kubva kuvagadziri veBroadcom (mabhurobhu akafanana anovengwa ebhinari...). Izvi, kunyanya, zvichaita kuti AC ishandiswe mu access point mode.
Wi-Fi firmware upgradeTsvaga iyo modhi yemudziyo uye yazvino firmware vhezheni:
# 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
Isu tinoona kuti iyo firmware vhezheni ndeye 7.45.18 yemusi 01.03.2015/XNUMX/XNUMX, uye rangarira inotevera seti yenhamba: 43455 (brcmfmac43455-sdio.bin).
Avo vane usimbe vanogona kupisa mufananidzo kuita microSD vobvisa mafaira efirmware kubva ipapo. Neimwe nzira, unogona kuisa mudzi wemufananidzo mukati Linux uye kopi zvaunoda kubva ipapo:
# 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
Iyo inoguma Wi-Fi adapta firmware mafaera anofanirwa kukopwa uye kutsiviwa ne "raspberry" mudhairekitori /usr/lib/firmware/brcm/
Isu tinotangazve remangwana router uye kunyemwerera nekugutsikana:
# 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
Shanduro: 7.45.154 yakaitwa 27.02.2018/XNUMX/XNUMX.
Uye zvechokwadi 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. Network configuration uye matambudziko mberi
Sezvatakabvumirana pamusoro apa, "raspberry" yakabatanidzwa ne "waya" kune network yemunharaunda. Ngatifungei kuti mupi anopa mukana weInternet nenzira imwecheteyo: kero paruzhinji network inopihwa zvine simba neDHCP server (pamwe ine MAC inosunga). Muchiitiko ichi, mushure mekugadzirisa kwekupedzisira kwe raspberry, iwe unongoda "kuvhara" tambo yemupi mairi uye wapedza. Mvumo uchishandisa systemd-networkd - musoro wechinyorwa chakasiyana uye hauna kukurukurwa pano.
Raspberry's Wi-Fi interface(s) inzvimbo yenzvimbo, uye yakavakirwa-mukati Ethernet adapta (eth0) ndeyekunze. Ngativerengei network yemuno statically, semuenzaniso: 192.168.0.0/24. Raspberry kero: 192.168.0.1. Sevha yeDHCP ichashanda pane network yekunze (Internet).
и - matambudziko maviri akamirira chero munhu anogadzirisa network interfaces uye masevhisi mune systemd kugovera.
Parallel chaos (lyrical digression)Lennart Pottering yakanyora purogiramu yayo systemd Kugona chose. Izvi systemd vanotangisa zvimwe zvirongwa nekukasira zvekuti ivo vasina nguva yekupora pakuridza muridzo nemuridzo, vanogumburwa nekudonha pakutanga vasina kana kutanga nzira yavo yezvipingaidzo.
Asi zvakakomba, kuenzanirana kwehasha kwemaitiro akatangwa pakutanga kweiyo systemd OS imhando ye "dhongi zambuko" kune vane ruzivo vakatevedzana veLSB nyanzvi. Neraki, kuunza kurongeka kune iyi "parallel chaos" inoshanduka kuve nyore, kunyangwe isiri pachena nguva dzose.
Isu tinogadzira maviri chaiwo mabhiriji ekusangana ane anogara aine mazita: Lan и wan. Isu "tichabatanidza" iyo Wi-Fi adapta (s) kune yekutanga, uye eth0 "raspberry" kune yechipiri.
/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=hongu inobvisa kukosha kwekunongedza kernel kuburikidza ne sysctl kuti igone kuitisa.
MACAaddress= Ngatisiyanei uye tishandure kana zvichidikanwa.
Kutanga isu "tinobatanidza" eth0. Isu tinorangarira "dambudziko rakafanana" uye tinoshandisa chete kero yeMAC yeiyi interface, yaunogona kuziva, semuenzaniso, seizvi:
# cat /sys/class/net/eth0/address
Isu tinosika /etc/systemd/network/eth.network:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Network]
Bridge=wan
Isu tinodzima iyo yapfuura faira yekumisikidza eth0, tangazve iyo Raspberry uye uwane network yekuwana mairi (iyo IP kero ingangochinja):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5.DNSMASQ
Pakugadzira maWi-Fi mapoinzi, hapana chinokunda vaviri vanotapira dnsmasq + hostapd handisati ndazvinzwisisa. Mukufunga kwangu.
Kana munhu akakanganwa, ipapo ... - ichi ndicho chinhu chinodzora Wi-Fi adapters (kunyanya, ichatarisira kuvabatanidza kune chaiyo. Lan "raspberries"), inobvumira uye inonyoresa vatengi vasina waya.
- inogadzirisa network stack yevatengi: nyaya IP kero, DNS maseva, default gedhi uye zvakafanana zvinofadza.
Ngatitangei ne dnsmasq:
# yum install dnsmasq
Template /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
gadzirisa sezvaunoda.
minimalistic /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
Iwo "mashiripiti" pano ari muparameter bind-dynamic, iyo inoudza dnsmasq daemon kuti imirire kusvika yaonekwa pane system interface=lan, uye kwete kupera simba nokusurukirwa kwokuzvikudza pashure pokutanga.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
Uye pakupedzisira, iyo mashiripiti hostapd zvigadziriso. Ini handina kupokana kuti mumwe munhu ari kuverenga chinyorwa ichi achitsvaga chaizvo aya anokosheswa mitsara.
Usati waisa hostapd, unofanirwa kukunda "dambudziko rekufanana". Iyo yakavakirwa-mukati Wi-Fi adapta wlan0 inogona kushandura nyore zita rayo kuita wlan1 kana ichibatanidza yakawedzera USB Wi-Fi michina. Naizvozvo, isu tichagadzirisa mazita echiratidziro nenzira inotevera: isu tichauya nemazita akasiyana eiyo (isina waya) adapta uye tinoisunga kune MAC kero.
Kune yakavakirwa-mukati Wi-Fi adapta, iyo ichiri wlan0:
# cat /sys/class/net/wlan0/address
b8:27:eb:xx:xx:xx
Isu tinosika /etc/systemd/network/wl0.link:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Link]
Name=wl0
Zvino tichava nechokwadi kuti wl0 - Iyi yakavakirwa-mukati Wi-Fi. Isu tinotangazve Raspberry kuti tive nechokwadi cheizvi.
Isa:
# yum install hostapd wireless-tools
Configuration file /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
Pasina kukanganwa kwechinguva , shandura maparamendi atinoda uye tarisa nemaoko kushanda:
# hostapd /etc/hostapd/hostapd.conf
hostapd ichatanga mune inopindirana modhi, kutepfenyura mamiriro ayo kune iyo console. Kana pasina zvikanganiso, saka vatengi vanotsigira AC modhi vanozokwanisa kubatana kune yekuwana nzvimbo. Kumisa hostapd - Ctrl-C.
Chasara ndechekugonesa hostapd mukutanga system. Kana iwe ukaita zvakajairwa chinhu (systemctl inogonesa hostapd), ipapo mushure meiyo inotevera reboot unogona kuwana dhimoni "rikunguruka muropa" nekuongororwa "interface wl0 haina kuwanikwa". Nekuda kwe "parallel chaos," hostapd yakatanga nekukurumidza kupfuura iyo kernel yakawana iyo isina waya adapta.
IInternet yakazara nemishonga: kubva panguva yekumanikidzwa isati yatanga daemon (maminetsi akati wandei), kune imwe daemon inotarisisa kutaridzika kweiyo interface uye (re) inotanga hostpad. Mhinduro dzacho dzinoshanda, asi dzakaipa zvikuru. Tinodaidza mukuru kuti atibatsire systemd ne "zvinangwa" uye "mabasa" uye "zvinotsamira".
Kopa faira rebasa rekugovera ku /etc/systemd/system/hostapd.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system
uye kuderedza zviri mukati maro kune inotevera fomu:
[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
Iwo mashiripiti eiyo yakagadziridzwa sevhisi faira iri mukusunga kwesimbapd kune chitsva chinangwa - iyo wl0 interface. Kana iyo interface ikabuda, daemon inotanga; kana yanyangarika, inomira. Uye izvi zvese zviri online - pasina reboot system. Iyi nzira ichanyanya kubatsira kana uchibatanidza USB Wi-Fi adapta kune Raspberry.
Iye zvino unogona:
# systemctl enable hostapd
# reboot
7. IPTABLES
"Chii???" © Hongu, hongu! Hapana systemd. Hapana newfangled inosanganiswa (mune fomu firewall), izvo zvinopedzisira zvaita chinhu chimwe chete.
Ngatishandise yakare yakanaka iptables, avo masevhisi, mushure mekutanga, achaisa mitemo yetiweki mu kernel uye akanyarara achivhara pasina kuramba achigara uye pasina kushandisa zviwanikwa. systemd ine inoyevedza IPMasquerade=, asi isu ticharamba tichipa shanduro yekero (NAT) uye firewall kune iptables.
Isa:
# yum install iptables-services
# systemctl enable iptables ip6tables
Ini ndinosarudza kuchengeta iyo iptables gadziriso sechinyorwa (muenzaniso):
#!/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
Isu tinoshandisa script iri pamusoro uye tinorasikirwa nekukwanisa kumisikidza itsva waya SSH yekubatanidza neRaspberry. Ndizvozvo, takagadzira Wi-Fi router, kuwana iyo "kuburikidza neInternet" inorambidzwa nekusingaperi - ikozvino chete "pamusoro pemhepo". Isu tinobatanidza mupi weEthernet tambo uye tanga kusefa!
8. Bhonasi: +2,4GHz
Pandakaunganidza yekutanga Raspberry router ndichishandisa iyo dhizaini yatsanangurwa pamusoro, ndakawana akati wandei emagetsi mumba mangu ayo, nekuda kwekutadza kwavo kweWi-Fi dhizaini, aisakwanisa kuona "raspberry" zvachose. Kugadzirisazve router kuti ishande muna 802.11b/g/n yakanga isingasviki, sezvo kukurumidza kukuru "pamusoro pemhepo" munyaya iyi hakuna kudarika 40 Mbit, uye mupi weInternet wandinoda anondipa 100 (kuburikidza netambo).
Kutaura zvazviri, mhinduro yakanga yatogadzirwa: imwe Wi-Fi interface yechipiri inoshanda pa2,4 GHz uye imwe access point yechipiri. Pakiosk iri pedyo, handina kutenga yekutanga, asi yechipiri USB Wi-Fi dongle yandakawana. Mutengesi akanga achindinetsa nemibvunzo nezve chipset uye kushanda kwayo neARM cores. Linux uye nezve mukana wekushanda muAP mode (ndiye akatanga nayo).
Isu tinogadzirisa "muridzo" nekuenzanisa neiyo yakavakirwa-mukati Wi-Fi adapta.
Kutanga, ngatiipe zita rekuti 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
Isu tichapa manejimendi eiyo itsva Wi-Fi interface kune yakaparadzana hostapd daemon, iyo inotanga nekumira zvichienderana nekuvapo kweiyo yakanyatsotsanangurwa "muridzo" muhurongwa: wl1.
Configuration file /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]
Zviri mukati meiyi faira zvakananga zvinoenderana nemuenzaniso weiyo USB Wi-Fi adapta, saka banal kopi / paste inogona kukutadza.
Kopa faira rebasa rekugovera ku /etc/systemd/system/hostapd2.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service
uye kuderedza zviri mukati maro kune inotevera fomu:
[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
Chasara ndechekugonesa imwe nyowani yehostapd:
# systemctl enable hostapd2
Ndizvo zvose! Dhonza "muridzo" uye "raspberry" pachayo, tarisa mawaya asina waya akakupoteredza.
Uye pakupedzisira, ndinoda kukuyambira nezvemhando ye USB Wi-Fi adapta uye magetsi eiyo Raspberry. Yakabatanidzwa "kuridza muridzo" dzimwe nguva inogona kukonzera "raspberry kutonhora" nekuda kwematambudziko emagetsi enguva pfupi.
Source: www.habr.com
