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.
Kuve muteveri weRPM-yakavakirwa masisitimu, ini handina kukwanisa kupfuura neichi chishamiso uye kusayedza wangu wandinoda CentOS pairi.
Chinyorwa chinopa mirairo yekugadzira 5GHz/AC Wi-Fi router kubva kuRaspberry Pi 3 Model B+ zvichibva paCentOS inoshanda system. Pachave neakati wandei akajairwa asi mashoma-anozivikanwa matekiniki, uye sebhonasi - dhizaini yekubatanidza yakawedzera Wi-Fi michina kuRaspberry, ichiibvumira kuti ishande panguva imwe chete mune akati wandei modes (2,4 + 5GHz).
(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;
- Workstation neLinux uye microSD muverengi / munyori;
- Kuwanikwa kwehunyanzvi hwakakwana muLinux, chinyorwa ndecheGeek akadzidziswa;
- Wired network (eth0) yekubatanidza pakati peRaspberry neLinux, inoshandisa DHCP server pane network yemuno uye kuwana Internet kubva kune ese maturusi.
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. Isa CentOS
Panguva yekunyora chinyorwa ichi, iyo inomhanya vhezheni yeCentOS pamudziyo ndeye 32-bit. Pane imwe nzvimbo paWorld Wide Web ndakasangana nemafungiro ekuti kuita kwemaOS akadaro pa64-bit ARM architecture kunodzikiswa ne20%. Ndichasiya nguva ino pasina kutaura.
PaLinux, dhawunirodha mufananidzo mudiki ne 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 tatanga kushandisa chifananidzo, tichabvisa chikamu cheSWAP kubva pairi, kuwedzera mudzi kusvika kuhuwandu huripo uye kubvisa SELinux. Iyo algorithm iri nyore: ita kopi yemudzi paLinux, bvisa zvese zvikamu kubva kuMicroSD kunze kwekutanga (/ bhutsu), gadzira mudzi mutsva uye dzosera zvirimo kubva kukopi.
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 mukati /mnt/etc/selinux/config:
SELINUX=disabled
Kugadzirisa /mnt/etc/fstab, ichisiya mairi maviri chete mapindiro pamusoro pezvikamu: boot (/ bhutsu, hapana shanduko) uye mudzi (tino shandura iyo UUID kukosha, iyo inogona kuwanikwa nekudzidza kubuda kweiyo blkid command paLinux):
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
Isu tinorongazve iyo microSD mu "raspberry", itange iyo uye uwane network yekuwana nayo kuburikidza ne ssh (mudzi / centos).
2. Kuisa 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
# 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. CentOS Add-ons
Zvese zvakataurwa pamusoro zvinogona kutariswa zvizere mirairo yekuisa "vanilla" CentOS paRaspberry Pi. Iwe unofanirwa kuguma nePC iyo (re) boots isingasviki masekonzi gumi, inoshandisa isingasviki 10 Megabytes ye RAM uye 15 Gigabytes ye microSD (chaizvoizvo isingasviki 1.5 Gigabyte nekuda kwekusakwana / bhutsu, asi ngative vakatendeseka).
Kuisa Wi-Fi yekuwana poindi software pane ino system, iwe unozofanirwa kuwedzera zvishoma kugona kweiyo yakajairwa CentOS kugovera. Chekutanga pane zvese, ngatisimudzire mutyairi (firmware) yeakavakirwa-mukati Wi-Fi adapta. Peji yekumba yeprojekiti inoti:
Wifi paRaspberry 3B uye 3B+
Iyo Raspberry PI 3B/3B+ firmware mafaera haatenderwe kugovaniswa neCentOS Project. Iwe unogona kushandisa zvinyorwa zvinotevera kuti unzwisise nyaya yacho, tora firmware uye ugadzire wifi.
Izvo zvinorambidzwa purojekiti yeCentOS hazvina kurambidzwa isu kuti tishandise isu pachedu. Isu tinotsiva iyo yekugovera Wi-Fi firmware muCentOS neinoenderana kubva kune Broadcom vanogadzira (iwo akafanana anovengwa mabhinari mabhurobhu ...). Izvi, kunyanya, zvinokutendera kuti ushandise AC mune yekuwana nzvimbo modhi.
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).
# 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).
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 ...
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
# 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).
Muchokwadi, mhinduro yedambudziko yakatogadzirwa: yechipiri Wi-Fi interface inoshanda pane frequency ye2,4 GHz, uye yechipiri yekusvika nzvimbo. Pane imwe chitoro chiri padyo handina kutenga kwete yekutanga, asi yechipiri USB Wi-Fi "muridzo" ndakasangana nayo. Mutengesi akashungurudzwa nemibvunzo nezve chipset, kuenderana neARM Linux kernels uye mukana wekushanda muAP mode (ndiye aive wekutanga kutanga).
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