Raspberry Pi + CentOS = Hotspot Wi-Fi (nó ródaire sú craobh le hata dearg)

Tá go leor faisnéise ar an Idirlíon maidir le pointí rochtana Wi-Fi a chruthú bunaithe ar PC aonchláir Sú craobh. De ghnáth, ciallaíonn sé seo úsáid a bhaint as an gcóras oibriúcháin Sú craobh ó dhúchas don Sú craobh.

Toisc go bhfuil mé ag cloí le córais atá bunaithe ar RPM, ní raibh mé in ann an mhíorúilt bheag seo a shárú agus gan triail a bhaint as mo chara CentOS air.

Soláthraíonn an t-alt treoracha chun ródaire Wi-Fi 5GHz/AC a dhéanamh ó Samhail B+ Raspberry Pi 3 bunaithe ar chóras oibriúcháin CentOS. Beidh roinnt cleasanna caighdeánacha ach beag ar a dtugtar, agus mar bhónas - líníocht chun trealamh Wi-Fi breise a nascadh leis an Sú craobh, rud a ligeann dó oibriú ag an am céanna i roinnt modhanna (2,4 + 5GHz).

Raspberry Pi + CentOS = Hotspot Wi-Fi (nó ródaire sú craobh le hata dearg)
(meascán d’íomhánna atá ar fáil saor in aisce)

Tabhair faoi deara ar an bpointe boise nach n-oibreoidh roinnt treoluasanna cosmacha. Fáscadh mé uasmhéid de 100 Mbps amach as mo Sú craobh thar an aer, agus clúdaíonn sé seo luas mo sholáthraí Idirlín. Cén fáth a bhfuil AC chomh mall de dhíth ort, más rud é go teoiriciúil is féidir leat leath gigabit a fháil fiú ar N? Má d'iarr tú an cheist seo ort féin, ansin téigh go dtí an siopa chun ródaire fíor a cheannach le hocht antennas seachtracha.

0. Cad a bheidh ag teastáil uait

  • I ndáiríre, tá an “táirge sú craobh” féin den scoth: Pi 3 Samhail B+ (chun na luasanna agus na cainéil 5GHz faoi leith a bhaint amach);
  • MicroSD maith >= 4GB;
  • Stáisiún oibre le Linux agus léitheoir/scríbhneoir microSD;
  • Infhaighteacht scileanna leordhóthanacha i Linux, tá an t-alt le haghaidh Geek oilte;
  • Nascacht líonra Wired (eth0) idir Sú craobh agus Linux, ag rith freastalaí DHCP ar an líonra áitiúil agus rochtain Idirlín ón dá fheiste.

Trácht beag ar an bpointe deireanach. “Cé acu a tháinig ar dtús, an ubh nó...” conas ródaire Wi-Fi a dhéanamh gan aon trealamh rochtana Idirlín? Fágfaimid an cleachtadh siamsúil seo lasmuigh de raon feidhme an ailt agus go simplí glacadh leis go bhfuil an Sú craobh ceangailte leis an líonra áitiúil trí shreang agus go bhfuil rochtain aige ar an Idirlíon. Sa chás seo, ní bheidh teilifís bhreise agus manipulator ag teastáil uainn chun an "sú craobh" a shocrú.

1. Suiteáil CentOS

Leathanach baile an tionscadail

Agus an t-alt seo á scríobh, is é 32-giotán an leagan reatha de CentOS ar an bhfeiste. Áit éigin ar an nGréasán Domhanda tháinig mé trasna ar thuairimí go bhfuil feidhmíocht OSes den sórt sin ar ailtireacht ARM 64-giotán laghdaithe chomh mór le 20%. Fágfaidh mé an nóiméad seo gan trácht.

Ar Linux, íoslódáil an íomhá íosta leis an eithne "-RaspberryPI-"agus scríobh chuig microSD é:

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

Sula dtosaíonn tú ag baint úsáide as an íomhá, bainfimid an deighilt SWAP uaidh, leathnóimid an fhréamh go dtí an méid iomlán atá ar fáil agus fáil réidh le SELinux. Tá an algartam simplí: déan cóip den fhréamh ar Linux, scrios gach deighilt ón microSD ach amháin an chéad (/ tosaithe), cruthaigh fréamh nua agus cuir a bhfuil ann ón gcóip ar ais.

Sampla de ghníomhartha riachtanacha (aschur consól dian)

# 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

Tar éis inneachar an fhréamhdheighilte a dhíphacáil, tá sé in am roinnt athruithe a dhéanamh air.

Díchumasaigh SELinux i /mnt/etc/selinux/config:

SELINUX=disabled

Eagarthóireacht /mnt/etc/fstab, ag fágáil ann ach dhá iontráil faoi na Deighiltí: tosaithe (/boot, gan aon athruithe) agus root (athraíonn muid an luach UUID, is féidir a fháil amach trí staidéar a dhéanamh ar aschur an ordú blkid ar Linux):

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

Mar fhocal scoir, athraíonn muid na paraiméadair tosaithe eithne: sonraímid suíomh nua don deighilt fhréamh, díchumasaigh an t-aschur faisnéise dífhabhtaithe agus (go roghnach) cuir cosc ​​ar an eithne seoltaí IPv6 a shannadh ar chomhéadain líonra:

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

Seo é an t-ábhar /mnt/cmdline.txt chuig an bhfoirm seo a leanas (líne amháin gan naisc):

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

Arna dhéanamh:

# cd
# umount /mnt
# sync

Déanaimid an microSD a athshocrú go “sú craobh”, é a sheoladh agus rochtain líonra a fháil air trí ssh (root/centos).

2. CentOS a chur ar bun

Na chéad trí ghluaiseacht unshakable: passwd, nuashonrú, Atosaigh.

Cuirimid bainistíocht líonra ar shiúl líonraithe:

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

Cruthaigh comhad (mar aon le heolairí) /etc/systemd/network/eth0.network:

[Match]
Name=eth0

[Network]
DHCP=ipv4

Atosaíonn muid an “sú craobh” agus faighimid rochtain líonra air arís trí ssh (d’fhéadfadh an seoladh IP athrú). Tabhair aird ar an méid a úsáidtear / Srl / resolv.conf, cruthaithe níos luaithe ag Bainisteoir Líonra. Mar sin, i gcás fadhbanna le réiteach, cuir a bhfuil ann in eagar. Úsáid córasd-réitithe ní bheidh muid.

Bainimid an “gan ghá”, deisítear agus luasaimid luchtú an 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

Cé a riachtanais cron agus cé nach díolama an ionsuite amadóirí córas, is féidir a bhunú cad atá ar iarraidh. / var / log- agus breathnú tríd dialannl. Má theastaíonn stair logála uait (de réir réamhshocraithe, ní stóráiltear faisnéis ach ón nóiméad a thosaíonn an córas):

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

Díchumasaigh úsáid IPv6 ag seirbhísí bunúsacha (más gá)/ srl / ssh / sshd_config:

AddressFamily inet

/etc/sysconfig/chronyd:

OPTIONS="-4"

Rud tábhachtach is ea ábharthacht an ama ar an “sú craobh”. Ós rud é nach bhfuil aon chumas crua-earraí lasmuigh den bhosca chun staid reatha an chloig a shábháil ar atosaigh, tá gá le sioncrónú. Deamhan an-mhaith agus tapa le haghaidh seo croinn - suiteáilte cheana féin agus tosaíonn go huathoibríoch. Is féidir leat freastalaithe NTP a athrú go dtí na cinn is gaire duit.

/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

Chun an crios ama a shocrú úsáidfimid cleas. Ós rud é gurb é an sprioc atá againn ródaire Wi-Fi a chruthú a oibríonn ag minicíochtaí 5GHz, ullmhóimid roimh ré le haghaidh iontas rialtóir:

# yum eolas crda
Achoimre: Deamhan comhlíonta rialála le haghaidh líonrú gan sreang 802.11

Cuireann an drochdhearadh seo, atá bunaithe ar an gcrios ama, “cosc” ar úsáid (sa Rúis) minicíochtaí 5GHz agus cainéil le huimhreacha “ard”. Is é an cleas ná crios ama a shocrú gan ainmneacha ilchríocha/cathracha a úsáid, is é sin, in ionad:

# timedatectl set-timezone Europe/Moscow

Brúimid:

# timedatectl set-timezone Etc/GMT-3

Agus baineann an ceann deireanach le stíl gruaige an chórais:

# 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. Breiseáin CentOS

Is féidir gach rud a dúradh thuas a mheas mar threoracha iomlána chun “vanilla” CentOS a shuiteáil ar an Raspberry Pi. Ba chóir go mbeadh ríomhaire agat (ath)bhuataisí i níos lú ná 10 soicind, a úsáideann níos lú ná 15 Meigeavata RAM agus 1.5 Gigabyte de microSD (níos lú ná 1 Gigabyte i ndáiríre mar gheall ar / tosaithe neamhiomlán, ach a ligean ar a bheith macánta).

Chun bogearraí pointe rochtana Wi-Fi a shuiteáil ar an gcóras seo, beidh ort cumais an dáileadh caighdeánach CentOS a leathnú beagán. Gcéad dul síos, a ligean ar a uasghrádú an tiománaí (firware) an-tógtha i Wi-Fi adapter. Deir leathanach baile an tionscadail:

Wifi ar an sú craobh 3B agus 3B+

Níl cead ag an Tionscadal CentOS comhaid firmware Raspberry PI 3B/3B+ a dháileadh. Is féidir leat na hailt seo a leanas a úsáid chun an cheist a thuiscint, an firmware a fháil agus an wifi a shocrú.

Níl an méid atá toirmiscthe don tionscadal CentOS toirmiscthe dúinn le haghaidh úsáide pearsanta. Cuirimid an ceann comhfhreagrach ó fhorbróirí Broadcom in ionad an fhirmware Wi-Fi dáileacháin in CentOS (na blobaí dénártha is fuath leo sin...). Ligfidh sé seo, go háirithe, duit AC a úsáid i mód pointe rochtana.

Íoslódáil an firmware ar Wi FiFaigh amach samhail an ghléis agus an leagan firmware reatha:

# 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 

Feicimid go bhfuil an leagan firmware 7.45.18 dar dáta 01.03.2015/XNUMX/XNUMX, agus cuimhnigh ar an tsraith uimhreacha seo a leanas: 43455 (brcmfmac43455-sdio.bin).

Íoslódáil an pictiúr de Rasputin. Is féidir le daoine leisciúil an íomhá a scríobh chuig microSD agus na comhaid leis an bhfirmware a thógáil as sin. Nó is féidir leat bundheighilt na híomhá a shuiteáil i Linux agus cóip a dhéanamh de na rudaí atá uait as sin:

# 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

Ní mór na comhaid firmware oiriúnaitheora Wi-Fi mar thoradh air a chóipeáil agus "sú craobh" a chur ina n-ionad san eolaire /usr/lib/firmware/brcm/

Atosaíonn muid an ródaire amach anseo agus déanaimid aoibh gháire go sásta:

# 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 

Leagan: 7.45.154 dar dáta 27.02.2018/XNUMX/XNUMX.

Agus ar ndóigh 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. Cumraíocht líonra agus na dúshláin atá romhainn

Mar a d’aontaíomar thuas, tá an “sú craobh” ceangailte le “sreang” leis an líonra áitiúil. Glacaimid leis go soláthraíonn an soláthraí rochtain ar an Idirlíon ar an mbealach céanna: is é an freastalaí DHCP a eisíonn an seoladh ar an líonra poiblí go dinimiciúil (b'fhéidir le MAC ceangailteach). Sa chás seo, tar éis socrú deiridh an sú craobh, ní gá duit ach cábla an tsoláthraí a "plugáil" isteach ann agus tá tú críochnaithe. Údarú ag baint úsáide as córasd-líonra - nach bhfuil an ábhar d'alt ar leith agus a phlé anseo.

Is líonra áitiúil é comhéadan(í) Wi-Fi na Sú craobh, agus tá an t-oiriúntóir Ethernet ionsuite (eth0) seachtrach. Déanaimis an líonra áitiúil a uimhriú go statach, mar shampla: 192.168.0.0/24. Seoladh sú craobh: 192.168.0.1. Feidhmeoidh freastalaí DHCP ar an líonra seachtrach (Idirlíon).

Fadhb Comhsheasmhachta Ainmniúcháin и ríomhchláraitheoir cáiliúil Guatamala - dhá thrioblóid atá ag fanacht le haon duine a chumraíonn comhéadain líonra agus seirbhísí i ndáiltí córasacha.

Chaos comhthreomhar (digression lyrical)Tá a chlár féin curtha le chéile ag Lennart Pottering córas An-mhaith. seo córas seolann siad cláracha eile chomh gasta sin nach mbíonn am acu teacht chucu féin tar éis an fheadóg a bheith ag an réiteoir, go n-eascraíonn agus go dtiteann siad ag an tús gan fiú tosú ar a gcúrsa bacainní.

Ach dáiríre, is cineál “droichead asail” é comhthreomhaireacht ionsaitheach na bpróiseas seolta ag tús an OS systemd do speisialtóirí seicheamhach LSB. Ar ámharaí an tsaoil, is rud simplí é an “chaos comhthreomhar” seo a ordú, cé nach mbíonn sé soiléir i gcónaí.

Cruthaímid dhá chomhéadan droichead fíorúla le hainmneacha tairiseacha: lan и wan. Déanfaimid “an” cuibheoir(í) Wi-Fi a “cheangail” leis an gcéad cheann, agus an eth0 “sú craobh” leis an dara ceann.

/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=tá cuireann sé deireadh leis an ngá le leid don eithne trí sysctl chun ródú a chumasú.
MAC Seoladh = Déanaimis uncomment agus athrú más gá.

Ar dtús déanaimid “nasc” eth0. Cuimhnímid ar an “fhadhb aonfhoirmeachta” agus ní úsáidimid ach seoladh MAC an chomhéadain seo, ar féidir a fháil amach, mar shampla, mar seo:

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

Cruthaímid /etc/systemd/network/eth.network:

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

[Network]
Bridge=wan

Scriosaimid an comhad cumraíochta roimhe seo eth0, atosaigh muid an Sú craobh agus faighimid rochtain líonra air (is dócha go n-athróidh an seoladh IP):

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

5.DNSMASQ

Chun pointí rochtana Wi-Fi a dhéanamh, ní bhuaileann aon rud cúpla milis dnsmasq + hostapd nach bhfuil sé figured amach go fóill. I mo thuairim.

Ar eagla go ndearna aon duine dearmad, ansin ...hostapd - is é seo an rud a rialaíonn cuibheoirí Wi-Fi (go háirithe, tabharfaidh sé aire dóibh a nascadh leis an fíorúil lan "sútha craobh"), údaraíonn agus cláraíonn cliaint gan sreang.

dnsmasq — cumraíonn sé cruach líonra na gcliant: eisíonn sé seoltaí IP, freastalaithe DNS, geata réamhshocraithe agus aoibhnis dá samhail.

Cuirimis tús le dnsmasq:

# yum install dnsmasq

Patrún / Srl / 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

cuir in eagar é de réir do thaitin.

íostach /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

Tá an “draíocht” anseo sa pharaiméadar ceangailteach-dinimiciúil, a insíonn don deamhan dnsmasq fanacht go dtí go mbeidh sé le feiceáil ar an gcóras comhéadan = lan, agus gan a bheith lag ó oiriúnach uaigneas bródúil tar éis an tús.

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

6. HOSTAPD

Agus ar deireadh, na cumraíochtaí hostapd draíochta. Níl aon amhras orm ach go bhfuil an t-alt seo á léamh ag duine éigin sa tóir ar na línte luachmhara seo.

Sula ndéantar hostapd a shuiteáil, ní mór duit an "fhadhb aonfhoirmeachta" a shárú. Is féidir leis an adapter Wi-Fi ionsuite wlan0 a ainm a athrú go héasca go wlan1 nuair a bhíonn trealamh Wi-Fi USB breise á nascadh. Mar sin, déanfaimid na hainmneacha comhéadan a shocrú ar an mbealach seo a leanas: tiocfaimid suas le hainmneacha uathúla do na hoiriúnóirí (gan sreang) agus ceangailfimid iad le seoltaí MAC.

Maidir leis an adapter Wi-Fi ionsuite, atá fós wlan0:

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

Cruthaímid /etc/systemd/network/wl0.link:

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

[Link]
Name=wl0

Anois beidh muid cinnte go bhfuil wl0 - Tá sé seo ionsuite i Wi-Fi. Atosaíonn muid an Sú craobh chun é seo a chinntiú.

Suiteáil:

# yum install hostapd wireless-tools

Comhad cumraíochta /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

Gan dearmad a dhéanamh ar feadh nóiméad Coiste Éigeandála Stáit, athraigh na paraiméadair a theastaíonn uainn agus seiceáil de láimh le haghaidh feidhmiúlacht:

# hostapd /etc/hostapd/hostapd.conf

Cuirfear tús le hostapd i mód idirghníomhach, ag craoladh a staid chuig an consól. Mura bhfuil aon earráidí ann, ansin beidh cliaint a thacaíonn mód AC in ann ceangal leis an bpointe rochtana. Chun stop a chur le hostapd - Ctrl-C.

Níl fágtha ach hostapd a chumasú i am tosaithe an chórais. Má dhéanann tú an rud caighdeánach (systemctl enable hostapd), ansin tar éis an chéad atosaigh eile is féidir leat deamhan a fháil “ag rolladh san fhuil” leis an diagnóis “comhéadan wl0 gan aimsiú“. Mar thoradh ar “chaos comhthreomhar,” thosaigh hostapd suas níos tapúla ná mar a d’aimsigh an eithne an cuibheoir gan sreang.

Tá an tIdirlíon lán de leigheasanna: ó am istigh éigeantach roimh thosú ar an deamhan (roinnt nóiméad), go deamhan eile a dhéanann monatóireacht ar chuma an chomhéadain agus (ath)thosaíonn an óstpad. Tá na réitigh sách inoibrithe, ach uafásach gránna. Glaoimid ar an gceann iontach chun cabhair a fháil córas lena “spriocanna” agus “tascanna” agus “spleáchais”.

Cóipeáil an comhad seirbhíse dáileacháin chuig /etc/systemd/system/hostapd.service:

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

agus laghdaigh a bhfuil ann go dtí an fhoirm seo a leanas:

[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

Tá draíocht an chomhaid seirbhíse nuashonraithe suite i gceangal dinimiciúil hostapd leis an sprioc nua - an comhéadan wl0. Nuair a bhíonn an comhéadan le feiceáil, tosaíonn an deamhan; nuair a imíonn sé, stopann sé. Agus tá sé seo go léir ar líne - gan rebooting an chórais. Beidh an teicníocht seo úsáideach go háirithe agus adapter USB Wi-Fi á nascadh le Sú craobh.

Anois is féidir leat:

# systemctl enable hostapd
# reboot

7. IPTABLES

“Cad é???” © Sea, tá! Dada córas. Níl aon chomhcheangail newfangled (i bhfoirm firewalld), a chríochnaíonn suas ag déanamh an rud céanna.

Bainimis úsáid as an seancheann maith iptables, a ndéanfaidh a gcuid seirbhísí, tar éis tosú, rialacha líonra a luchtú isteach san eithne agus a mhúchadh go ciúin gan cónaitheoir a bheith fágtha agus gan acmhainní a chaitheamh. Tá galánta ag systemd IPMasquerade=, ach cuirfimid an t-aistriúchán seolta (NAT) agus an balla dóiteáin faoi chúram iptables fós.

Suiteáil:

# yum install iptables-services
# systemctl enable iptables ip6tables

Is fearr liom cumraíocht iptables a stóráil mar script (mar shampla):

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

Déanaimid an script thuas a fhorghníomhú agus caillimid an cumas chun naisc SSH sreangaithe nua a bhunú leis an Sú craobh. Sin ceart, tá ródaire Wi-Fi déanta againn, a bhfuil rochtain air “tríd an Idirlíon” toirmiscthe de réir réamhshocraithe - anois “thar an aer” amháin. Ceanglaíonn muid cábla Ethernet an tsoláthraí agus cuirimid tús le surfáil!

8. Bónas: +2,4GHz

Nuair a chuir mé an chéad ródaire Sú craobh le chéile ag baint úsáide as an líníocht a bhfuil cur síos air thuas, fuair mé amach roinnt gadgets i mo theaghlach nach raibh, mar gheall ar a gcuid teorainneacha dearadh Wi-Fi, in ann an "sú craobh" a fheiceáil ar chor ar bith. Ní raibh sé spórtúil an ródaire a athchumrú chun oibriú i 802.11b/g/n, ós rud é nach raibh an t-uasluas “thar an aer” sa chás seo níos mó ná 40 Mbit, agus cuireann an soláthraí Idirlín is fearr liom 100 (trí chábla) dom.

Go deimhin, tá réiteach ar an bhfadhb cruthaithe cheana féin: an dara comhéadan Wi-Fi ag feidhmiú ag minicíocht 2,4 GHz, agus an dara pointe rochtana. Ag stalla in aice láimhe cheannaigh mé ní an chéad cheann, ach an dara USB Wi-Fi “feadóg” ar tháinig mé trasna. Bhí an díoltóir cráite ag ceisteanna faoin chipset, comhoiriúnacht le kernels ARM Linux agus an fhéidearthacht oibriú i mód AP (bhí sé ar an gcéad duine a thosaigh).

Déanaimid an “feadóg” a chumrú de réir analaí leis an adapter Wi-Fi ionsuite.

Ar dtús, déanaimis é a athainmniú 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

Cuirfimid bainistíocht an chomhéadain Wi-Fi nua faoi chúram deamhan hostapd ar leith, a thosóidh agus a stopfaidh ag brath ar “feadóg” atá sainmhínithe go docht a bheith sa chóras: wl1.

Comhad cumraíochta /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]

Braitheann inneachar an chomhaid seo go díreach ar mhúnla an chultóra USB Wi-Fi, mar sin seans go dteipfidh ort le cóip/greamaigh bhaisc.

Cóipeáil an comhad seirbhíse dáileacháin chuig /etc/systemd/system/hostapd2.service:

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

agus laghdaigh a bhfuil ann go dtí an fhoirm seo a leanas:

[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

Níl fágtha ach sampla nua de hostapd a chumasú:

# systemctl enable hostapd2

Sin é an méid! Tarraing an “feadóg” agus an “sú craobh” féin, féach ar na líonraí gan sreang mórthimpeall ort.

Agus ar deireadh, ba mhaith liom rabhadh a thabhairt duit faoi chaighdeán an adapter Wi-Fi USB agus soláthar cumhachta an Sú craobh. Uaireanta is féidir le “feadóg the” nasctha “reo sú craobh” a chur faoi deara de bharr trioblóidí leictreacha gearrthéarmacha.

Foinse: will.com

Add a comment