Raspberry Pi + CentOS = Wi-Fi Hotspot (he pouara raspberry me te potae whero)

He nui nga korero kei runga i te Ipurangi mo te hanga i nga tohu uru Wi-Fi i runga i te PC-poari-kotahi Raspberry. Hei tikanga, ko te tikanga tenei ma te whakamahi i te punaha whakahaere Raspbian taketake ki te Raspberry.

I te mea he piripono ki nga punaha RPM, kaore au i kaha ki te paahi i tenei merekara iti me te kore e whakamatau i taku CentOS aroha ki runga.

Kei te tuhinga nga tohutohu mo te hanga i te pouara Wi-Fi 5GHz/AC mai i te Raspberry Pi 3 Model B+ i runga i te punaha whakahaere CentOS. He maha nga tinihanga paerewa engari he iti noa te mohio, me te mea he putea - he tuhi mo te hono atu i nga taputapu Wi-Fi ki te Raspberry, ka taea te mahi i te wa kotahi i roto i nga momo momo (2,4+5GHz).

Raspberry Pi + CentOS = Wi-Fi Hotspot (he pouara raspberry me te potae whero)
(he ranunga o nga whakaahua e waatea ana)

Kia mahara tonu tatou ko etahi tere o te ao e kore e mahi. Ka pehia e ahau te morahi o te 100 Mbps mai i taku Raspberry i runga i te rangi, ka kapi tenei i te tere o taku kaiwhakarato Ipurangi. He aha te take e hiahia ana koe ki te AC puhoi, mena ka taea e koe te tiki i te haurua gigabit ahakoa i runga i te N? Mena kua patai koe ki a koe ano i tenei patai, haere ki te toa ki te hoko i tetahi pouara tuuturu me nga antenna o waho e waru.

0. He aha e hiahia ana koe

  • Ko te tikanga, ko te "hua raspberry" ake he orite: Pi 3 Model B+ (ki te whakatutuki i nga tere me nga waahana 5GHz e hiahiatia ana);
  • microSD pai> = 4GB;
  • Te teihana mahi me te Linux me te kaituhi / kaituhi microSD;
  • Ko te waatea o nga pukenga i roto i te Linux, ko te tuhinga mo te Geek kua whakangungua;
  • Whatunga Waea (eth0) hononga i waenga i te Raspberry me te Linux, e whakahaere ana i te tūmau DHCP i te whatunga paetata me te uru Ipurangi mai i nga taputapu e rua.

He korero iti mo te waahi whakamutunga. "Ko tehea te tuatahi, ko te hua manu, ko ..." me pehea te hanga i te pouara Wi-Fi i te kore o nga taputapu uru Ipurangi? Me waiho tenei mahi whakangahau i waho o te waahanga o te tuhinga ka whakaaro noa kei te hono te Raspberry ki te whatunga rohe ma te waea me te uru ki te Ipurangi. I tenei keehi, kaore e hiahiatia he pouaka whakaata taapiri me te manipulator hei whakarite i te "rōpere".

1. Tāuta CentOS

Whārangi kāinga kaupapa

I te wa e tuhi ana i tenei tuhinga, ko te putanga whakahaere o CentOS i runga i te taputapu he 32-bit. I tetahi waahi i runga i te Paetukutuku Ao I kitea e au nga whakaaro ko te mahi o aua OS i runga i te hoahoanga ARM 64-bit kua heke iho ki te 20%. Ka waiho e ahau tenei wa kaore he korero.

I runga i te Linux, tango i te ahua iti me te kernel "-RahiperePI-"ka tuhi ki te microSD:

# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz | 
  dd of=/dev/mmcblk0 bs=4M
# sync

I mua i te tiimata ki te whakamahi i te ahua, ka tangohia e matou te wehewehenga SWAP mai i a ia, ka whakawhānuihia te pakiaka ki te katoa o te rōrahi e waatea ana ka whakakorehia a SELinux. He ngawari te algorithm: hanga he kape o te pakiaka i runga i te Linux, whakakorehia nga waahanga katoa mai i te microSD engari ko te tuatahi (/boot), hanga he pakiaka hou ka whakahoki mai i ona ihirangi mai i te kape.

He tauira o nga mahi e hiahiatia ana (whakaputa papatohu kino)

# 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

I muri i te wetewete i nga ihirangi o te arai pakiaka, kua tae ki te waa ki te whakarereke i a ia.

Monokia te SELinux ki roto /mnt/etc/selinux/config:

SELINUX=disabled

Whakatikatika /mnt/etc/fstab, ka waiho kia rua noa nga urunga mo nga wehewehenga: boot (/boot, kahore he huringa) me te pakiaka (ka huri tatou i te uara UUID, ka kitea ma te ako i te putanga o te whakahau blkid ki Linux):

UUID=6a1a0694-8196-4724-a58d-edde1f189b31  /     ext4    defaults,noatime 0 0
UUID=6938-F4F2                             /boot vfat    defaults,noatime 0 0

Ka mutu, ka hurihia e matou nga tawhā boot kernel: ka tohua e matou he waahi hou mo te wehewehenga pakiaka, ka whakakorehia te putanga o nga korero patuiro me te (mehemea) ka aukati i te kernel ki te tautapa i nga wahitau IPv6 ki nga hononga whatunga:

# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt

Anei nga korero /mnt/cmdline.txt ki te ahua e whai ake nei (kotahi raina kaore he tohuhono):

root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1

Kua oti:

# cd
# umount /mnt
# sync

Ka whakatikahia e matou te microSD ki roto i te "rōpere", ka whakarewahia ka uru ki te whatunga ma te ssh (pakiaka / centos).

2. Te whakatu CentOS

Ko nga nekehanga tuatahi e toru e kore e wiri: Tuhinga o mua, yum -y whakahou, tīmata anō.

Ka tukuna e matou te whakahaere whatunga whatunga:

# yum install systemd-networkd
# systemctl enable systemd-networkd
# systemctl disable NetworkManager
# chkconfig network off

Waihangahia he konae (me nga whaiaronga) /etc/systemd/network/eth0.network:

[Match]
Name=eth0

[Network]
DHCP=ipv4

Ka whakaara ano i te "rōpere" ka uru ano ki te whatunga ma te ssh (ka huri pea te wahitau IP). Kia tupato ki nga mea e whakamahia ana /etc/resolv.conf, i hangaia i mua e te Kaiwhakahaere Whatunga. Na reira, ki te raruraru ki te whakatau, whakatikahia nga ihirangi. Whakamahi kua whakatauhia e kore matou e pai.

Ka tangohia e matou te "kaore e tika", whakatika me te tere o te utaina o te 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

Ko wai e hiahia ana cron a ko wai e kore e keri i te hanga-i roto matawā systemd, ka taea te whakatau i nga mea e ngaro ana. / var / log- ka titiro mai hautakaiti. Mena kei te hiahia koe ki te hitori takiuru (ma te taunoa, ka penapena nga korero mai i te wa i timata ai te punaha):

# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
# vi /etc/systemd/journald.conf

Monokia te whakamahi i te IPv6 e nga ratonga taketake (mehemea ka hiahiatia)/ etc / ssh / sshd_config:

AddressFamily inet

/etc/sysconfig/chronyd:

OPTIONS="-4"

Ko te whaitake o te wa i runga i te "rōpere" he mea nui. I te mea kei waho o te pouaka karekau he kaha taputapu ki te whakaora i te ahua o te karaka i te whakaara ano, me tukutahi. He daemon tino pai me te tere mo tenei tiimona - kua oti te whakauru me te tiimata aunoa. Ka taea e koe te huri i nga tūmau NTP ki nga mea tata.

/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

Hei tautuhi i te rohe wa ka whakamahia e matou tinihanga. I te mea ko ta matou whainga ko te hanga i tetahi pouara Wi-Fi e mahi ana i nga iarere 5GHz, ka whakarite maatau mo nga ohorere i mua. kaiwhakariterite:

# yum info crda
Whakarāpopototanga: Daemon hanganga ture mo te whatunga ahokore 802.11

Ko tenei hoahoa kino, i runga ano i te waahi waahi, "ka aukati" te whakamahi (i Russia) o nga waarangi 5GHz me nga waahana me nga nama "tiketike". Ko te mahi he ki te whakarite i te waahi waahi me te kore e whakamahi i nga ingoa o nga whenua/taone, ara, hei utu mo:

# timedatectl set-timezone Europe/Moscow

Ka pehi tatou:

# timedatectl set-timezone Etc/GMT-3

Na nga pa whakamutunga ki te whakapai makawe o te punaha:

# 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. Tāpiri-ake CentOS

Ko nga mea katoa i korerohia i runga ake nei ka taea te whakaaro he tohutohu katoa mo te whakauru i te "vanilla" CentOS ki te Raspberry Pi. Me mutu koe ki te PC e (anō) pūtu i roto i te iti iho i te 10 hēkona, whakamahi iti iho i te 15 Megabytes o te RAM me te 1.5 Gigabytes o microSD (tino iti iho i te 1 Gigabyte na te mea kaore i oti /boot, engari kia pono).

Hei whakauru i nga rorohiko urunga Wi-Fi ki runga i tenei punaha, me whakawhanuihia e koe nga kaha o te tohatoha CentOS paerewa. Tuatahi, me whakapai ake te atekōkiri (firmware) o te urutau Wi-Fi i hangaia. E kii ana te wharangi kaainga kaupapa:

Wifi i runga i te Raspberry 3B me te 3B+

Ko nga konae firmware Raspberry PI 3B/3B+ kaore e whakaaetia kia tohatohahia e te Kaupapa CentOS. Ka taea e koe te whakamahi i nga tuhinga e whai ake nei ki te mohio ki te take, te tiki i te firmware me te whakarite i te wifi.

Ko nga mea e rahuitia ana mo te kaupapa CentOS kaore e rahuitia mo tatou mo te whakamahi whaiaro. Ka whakakapihia e maatau te tohatoha Wi-Fi firmware i CentOS me te mea e rite ana mai i nga kaiwhakawhanake Broadcom (ko enei putunga rua e kinongia ana ...). Ma tenei, ina koa, ka taea e koe te whakamahi AC i roto i te aratau uru.

Whakahoutanga firmware Wi-FiKimihia te tauira taputapu me te putanga firmware o naianei:

# 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 

Ka kite matou ko te putanga firmware ko 7.45.18 i tuhia i te 01.03.2015/XNUMX/XNUMX, ka maumahara ki te huinga tau e whai ake nei: 43455 (brcmfmac43455-sdio.bin).

Tangohia te ahua Raspbian o naianei. Ka taea e nga mangere te tuhi i te ahua ki te microSD me te tango i nga konae me te firmware mai i reira. Ka taea ranei e koe te whakanoho i te waahanga pakiaka o te ahua ki Linux ka kape i nga mea e hiahiatia ana e koe mai i reira:

# 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

Ko nga konae maru urutau Wi-Fi ka puta me kape me whakakapi ki te "rōpere" ki roto i te whaiaronga /usr/lib/firmware/brcm/

Ka whakaara ano tatou i te pouara a meake nei ka ataata pai:

# 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 

Putanga: 7.45.154 i tuhia i te 27.02.2018/XNUMX/XNUMX.

A ko te akoranga 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. Te whirihoranga whatunga me nga wero kei mua

Ka rite ki ta matou i whakaae ai i runga ake nei, ko te "raspberry" e hono ana ma te "waea" ki te whatunga rohe. Me whakaaro tatou ka tukuna e te kaiwhakarato te uru ki te Ipurangi i roto i te huarahi rite: ko te wahitau kei runga i te whatunga whanui ka tukuna e te tūmau DHCP (pea me te here MAC). I tenei keehi, i muri i te tatūnga whakamutunga o te rōpere, me "mono" te taura o te kaiwhakarato ki roto ka oti koe. Whakaaetanga whakamahi systemd-whatungad - te kaupapa o te tuhinga motuhake, kaore i te korerohia i konei.

Ko te (ng) atanga Wi-Fi o Raspberry he kupenga paetata, a ko te urutau Ethernet (eth0) i hangaia ki waho he mea waho. Me tatau te whatunga paetata, hei tauira: 192.168.0.0/24. Wāhitau rōpere: 192.168.0.1. Ka mahi tetahi tūmau DHCP i runga i te whatunga o waho (Ipurangi).

Raruraru Totonutanga Whakaingoa и he kaihōtaka rongonui Guatemalan - e rua nga raruraru e tatari ana ki te tangata e whirihora ana i nga hononga whatunga me nga ratonga i roto i nga tohatoha punaha.

Hurorirori kau (lyrical digression)Kua whakahiatotia e Lennart Pottering tana ake kaupapa pūnaha Tino pai. Tenei pūnaha he tere te whakarewa i etahi atu hotaka, na te kore e whai taima ki te whakaora mai i te pupuhi o te whiowhio a te kaiwawao, ka tutuki, ka hinga i te timatanga me te kore e timata i te huarahi arai.

Engari ko te mea nui, ko te whakaraerae kaha o nga mahi kua whakarewahia i te timatanga o te punaha OS he momo "piriti kaihe" mo nga tohunga mohio LSB raupapa. Waimarie, ko te kawe mai i tenei "hepohepo whakarara" he maamaa noa, ahakoa kaore i te maarama.

Ka hangaia e matou nga hononga piriti mariko e rua me nga ingoa tonu: lan и wan. Ka "hono" matou i te (ng) urutau Wi-Fi ki te tuatahi, me te eth0 "rōpere" ki te tuarua.

/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=ae ka whakakore i te hiahia ki te tohu ki te kernel ma te sysctl kia taea ai te ararere.
MACAddress= Kia whakakorehia te korero me te whakarereke mehemea e tika ana.

Tuatahi ka "hono" tatou eth0. Ka mahara matou ki te "raruraru rite" ka whakamahi noa i te wahitau MAC o tenei atanga, ka kitea, hei tauira, penei:

# cat /sys/class/net/eth0/address 

Hanga tatou /etc/systemd/network/eth.network:

[Match]
MACAddress=b8:27:eb:xx:xx:xx

[Network]
Bridge=wan

Ka mukua e matou te konae whirihoranga o mua eth0, whakaara ano i te Raspberry ka uru ki te whatunga (ka huri pea te wahitau IP):

# rm -fv /etc/systemd/network/eth0.network
# reboot

5.DNSMASQ

Mo te hanga i nga tohu uru Wi-Fi, kaore he mea e pa ana ki te tokorua reka dnsmasq + hostapd kaore ano kia mohio. Ki taku whakaaro.

Mena ka wareware tetahi, ka...hostapd - koinei te mea e whakahaere ana i nga urutau Wi-Fi (ina koa, ma te hono atu ki te mariko. lan "Raspberries"), ka whakamana me te rehita i nga kiritaki ahokore.

dnsmasq — ka whirihora i te kohinga whatunga o nga kaihoko: ka puta nga wahitau IP, nga tūmau DNS, te keeti taunoa me nga momo ahuareka.

Me timata ma te dnsmasq:

# yum install dnsmasq

Tauira /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

whakatikahia ki to hiahia.

pakupaku /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

Ko te "makutu" kei konei kei roto i te tawhā here-hihiri, e kii ana ki te dnsmasq daemon kia tatari kia puta ra ano ki te punaha atanga=lan, kaua hoki e ngenge i te ahua o te mokemoke whakakake i muri i te timatanga.

# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f

6. HOSTAPD

Ka mutu, ko nga whirihoranga hostapd makutu. Kaore au e ruarua kei te panui tetahi i tenei tuhinga ki te rapu i enei rarangi taonga.

I mua i te whakauru i te hostapd, me hinga koe i te "raruraru rite". Ka taea e te urutau Wi-Fi whakaurua wlan0 te huri i tona ingoa ki te wlan1 ina hono ana i etahi atu taputapu Wi-Fi USB. Na reira, ka whakatikahia e matou nga ingoa atanga i runga i te huarahi e whai ake nei: ka puta mai he ingoa ahurei mo nga urutau (wirekore) ka herea ki nga wahitau MAC.

Mo te urutau Wi-Fi i roto, he wlan0 tonu:

# cat /sys/class/net/wlan0/address 
b8:27:eb:xx:xx:xx

Hanga tatou /etc/systemd/network/wl0.link:

[Match]
MACAddress=b8:27:eb:xx:xx:xx

[Link]
Name=wl0

Inaianei ka tino mohio tatou wl0 - Ko te Wi-Fi hanga-i roto i tenei. Ka whakaara ano matou i te Raspberry ki te whakarite i tenei.

Tāuta:

# yum install hostapd wireless-tools

Kōnae whirihoranga /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

Ma te kore e wareware mo tetahi wa Te Komiti ohorere a te kawanatanga, huri i nga tawhā e hiahiatia ana ka tirohia a ringa mo te mahi:

# hostapd /etc/hostapd/hostapd.conf

Ka timata te hostapd ki te aratau tauwhitiwhiti, ka whakapaoho i tona ahuatanga ki te papatohu. Mena kaore he hapa, ka taea e nga kaihoko e tautoko ana i te aratau AC te hono atu ki te waahi uru. Hei aukati i te hostapd - Ctrl-C.

Ko nga mea katoa e toe ana ko te whakahohe i te hostapd i te tiimata o te punaha. Mena ka mahia e koe te mea paerewa (systemctl ka taea te hostapd), ka mutu te whakaara ano i muri mai ka taea e koe te tiki rewera "ka huri i roto i te toto" me te tohu "atanga wl0 kaore i kitea". Ko te hua o te "hepohepo whakarara," ka tere ake te tiimata o te hostapd i te kaara i kitea te urutau ahokore.

Kua ki tonu te Ipurangi i nga rongoa: mai i te waahi kua pehia i mua i te tiimata o te daemon (he maha nga meneti), ki tetahi atu daemon e aro turuki ana i te ahua o te atanga me te (anohi) ka tiimata i te papa manaaki. He tino mahi nga otinga, engari he tino kino. Ka karanga matou ki te rangatira nui mo te awhina pūnaha me ona "whangainga" me nga "mahi" me nga "whakaaronga".

Tāruatia te kōnae ratonga tohatoha ki /etc/systemd/system/hostapd.service:

# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system

me te whakaiti i ona ihirangi ki te ahua e whai ake nei:

[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

Ko te makutu o te konae ratonga whakahou kei roto i te herenga hihiri o te hostapd ki te whaainga hou - te atanga wl0. Ka puta mai te atanga, ka timata te daemon; ka ngaro, ka mutu. Na tenei katoa kei runga ipurangi - me te kore e whakaara ano i te punaha. Ka tino whai hua tenei tikanga ina hono ana i te urutau Wi-Fi USB ki te Rahipere.

Inaianei ka taea e koe:

# systemctl enable hostapd
# reboot

7. IPTABLES

“Wha???” © Ae, ae! Karekau pūnaha. Kaore he huinga hou (i te ahua firewalld), ka mutu ano te mahi.

Kia whakamahia te mea tawhito pai iptables, ko ana ratonga, i muri i te tiimata, ka utaina nga ture whatunga ki roto i te kernel ka kati marie me te kore e noho noho me te kore e pau rawa. systemd he huatau IPMasquerade=, engari ka tukuna tonu e matou te whakamaoritanga wahitau (NAT) me te papangaahi ki nga iptables.

Tāuta:

# yum install iptables-services
# systemctl enable iptables ip6tables

He pai ake taku ki te penapena i te whirihoranga iptables hei tuhinga (tauira):

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

Ka mahia e matou te tuhinga o runga ake nei ka ngaro te kaha ki te whakatu hononga SSH waea hou me te Raspberry. Ka tika, kua hangahia e matou he pouara Wi-Fi, he uru ki te "ma te Ipurangi" ka aukatihia e te taunoa - inaianei "i runga i te rangi". Ka honoa e matou te taura Ethernet a te kaiwhakarato ka timata ki te ngaru!

8. Takoha: +2,4GHz

I taku kohikohinga i te pouara Raspberry tuatahi ma te whakamahi i te tuhi i whakaahuatia i runga ake nei, i kitea e au he maha o nga taputapu i roto i taku whare na te mea he herenga hoahoa Wi-Fi, kaore e taea te kite i te "rōpere". Ko te whirihora i te pouara ki te mahi i roto i te 802.11b/g/n he kino, na te mea ko te tere teitei "i runga i te rangi" i tenei keehi kaore i neke atu i te 40 Mbit, a ka tukuna mai e taku kaiwhakarato Ipurangi tino pai te 100 (ma te taura).

Inaa, he otinga ki te raru kua oti te hanga: he atanga Wi-Fi tuarua e mahi ana i te auau o te 2,4 GHz, me te waahi uru tuarua. I tetahi toa tata i hokona e ahau ehara i te mea tuatahi, engari ko te tuarua o te USB Wi-Fi "whistle" i kitea e ahau. I mamae te kaihoko i nga paatai ​​​​mo te chipset, te hototahi ki nga kakano ARM Linux me te kaha ki te mahi i te aratau AP (ko ia te tuatahi ki te tiimata).

Ka whirihorahia e matou te "whiowhio" ma te whakataurite me te urutau Wi-Fi i hangaia.

Tuatahi, me whakaingoa ano ki 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

Ka tukuna e matou te whakahaeretanga o te atanga Wi-Fi hou ki tetahi daemon hostapd motuhake, ka tiimata ka mutu i runga i te ahua o te "whiowhio" kua tautuhia i roto i te punaha: wl1.

Kōnae whirihoranga /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]

Ko nga mea kei roto i tenei konae ka whakawhirinaki tika ki te tauira o te urutau USB Wi-Fi, no reira ka kore koe e kape/whakapiri.

Tāruatia te kōnae ratonga tohatoha ki /etc/systemd/system/hostapd2.service:

# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service

me te whakaiti i ona ihirangi ki te ahua e whai ake nei:

[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

Ko nga mea katoa e toe ana ko te whakahohe i tetahi tauira hou o te hostapd:

# systemctl enable hostapd2

Heoi ano! Toia te "whiowhio" me te "rōpere" ake, tirohia nga whatunga ahokore huri noa i a koe.

A, i te mutunga, e hiahia ana ahau ki te whakatupato ia koe mo te kounga o te USB Wi-Fi adapter me te mana o te Raspberry. Ko te whiowhio wera i etahi wa ka whakatio te rōpere na runga i nga raru hiko mo te wa poto.

Source: will.com

Tāpiri i te kōrero