Raspberry Pi + CentOS = Wi-Fi Hotspot (na router Raspberry misy satroka mena)

Misy fampahalalana be dia be ao amin'ny Internet momba ny famoronana teboka fidirana Wi-Fi mifototra amin'ny PC-board tokana Raspberry. Amin'ny ankapobeny, midika izany fa mampiasa ny rafitra fiasan'ny Raspbian teratany amin'ny Raspberry.

Amin'ny maha mpanaraka ny rafitra mifototra amin'ny RPM dia tsy afaka nandalo an'io fahagagana kely io aho ary tsy nanandrana ny CentOS malalako.

Ny lahatsoratra dia manome torolàlana amin'ny fanaovana router Wi-Fi 5GHz/AC avy amin'ny Raspberry Pi 3 Model B+ mifototra amin'ny rafitra fiasa CentOS. Hisy fika maromaro manara-penitra nefa tsy dia fantatra loatra, ary ho tombony - sary ho an'ny fampifandraisana fitaovana Wi-Fi fanampiny amin'ny Raspberry, mamela azy hiasa amin'ny fomba maro (2,4 + 5GHz).

Raspberry Pi + CentOS = Wi-Fi Hotspot (na router Raspberry misy satroka mena)
(fangarona sary azo maimaim-poana)

Aoka homarihintsika avy hatrany fa tsy mandeha ny hafainganana cosmic sasany. Mampiakatra 100 Mbps fara-fahakeliny avy amin'ny Raspberry-ko eny amin'ny rivotra aho, ary izany dia mandrakotra ny hafainganam-pandehan'ny mpamatsy Internet ahy. Nahoana ianao no mila AC malaina toy izany, raha ny teoria dia afaka mahazo antsasaky ny gigabit na dia amin'ny N aza? Raha toa ianao ka nanontany tena io fanontaniana io, dia mandehana any amin'ny magazay mba hividy ny tena router amin'ny valo ivelany antena.

0. Inona no ilainao

  • Raha ny marina, ny "vokatra Raspberry" dia ny kaliber: Pi 3 Model B + (mba hahatratrarana ny hafainganam-pandeha sy ny fantsona 5GHz naniry);
  • microSD tsara> = 4GB;
  • Workstation miaraka amin'ny Linux sy microSD mpamaky / mpanoratra;
  • Ny fisian'ny fahaiza-manao ampy amin'ny Linux, ny lahatsoratra dia ho an'ny Geek voaofana;
  • Tambajotra tariby (eth0) fifandraisana eo amin'ny Raspberry sy Linux, mihazakazaka mpizara DHCP amin'ny tambajotra eo an-toerana sy fidirana amin'ny Internet avy amin'ireo fitaovana roa ireo.

Fanehoan-kevitra kely momba ny teboka farany. "Iza no tonga voalohany, ny atody sa ..." Ahoana ny fomba hanaovana ny router Wi-Fi raha tsy misy fitaovana fidirana amin'ny Internet? Andao avelantsika ivelan'ny sehatry ny lahatsoratra ity fanazaran-tena mampiala voly ity ary hevero fotsiny fa ny Raspberry dia mifandray amin'ny tambajotra eo an-toerana amin'ny alàlan'ny tariby ary manana fidirana amin'ny Internet. Amin'ity tranga ity dia tsy mila fahitalavitra fanampiny sy manipulator isika hananganana ny "raspberry".

1. Mametraka CentOS

Pejy fandraisana tetikasa

Tamin'ny fotoana nanoratana ity lahatsoratra ity dia 32-bit ny dikan-tenin'ny CentOS amin'ny fitaovana. Tany amin'ny World Wide Web dia nahita hevitra aho fa mihena hatramin'ny 64% ny fahombiazan'ny OS toy izany amin'ny maritrano ARM 20-bit. Avelako tsy misy fanehoan-kevitra amin'ity fotoana ity.

Amin'ny Linux, alaivo ny sary kely indrindra miaraka amin'ny kernel "-RaspberryPI-"ary soraty amin'ny microSD izany:

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

Alohan'ny hanombohan'ny fampiasana ny sary dia hesorinay ny fizarazarana SWAP ao aminy, hanitatra ny fakany amin'ny boky rehetra misy ary esory ny SELinux. Tsotra ny algorithm: manaova dika mitovy amin'ny fakany amin'ny Linux, esory ny fizarazarana rehetra amin'ny microSD afa-tsy ny voalohany (/boot), mamorona faka vaovao ary avereno ao anaty kopia ny votoatiny.

Ohatra amin'ny hetsika ilaina (famoahana console henjana)

# 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

Aorian'ny famoahana ny votoatin'ny fizarazaran'ny fakany dia tonga ny fotoana hanaovana fanovana sasany aminy.

Atsaharo ny SELinux amin'ny /mnt/etc/selinux/config:

SELINUX=disabled

nanova /mnt/etc/fstab, tsy misy afa-tsy fidirana roa momba ny fizarazarana: boot (/boot, tsy misy fiovana) ary root (novainay ny sandan'ny UUID, izay azo jerena amin'ny fandalinana ny famoahana ny baiko blkid amin'ny Linux):

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

Farany, manova ny mari-pamantarana baotin'ny kernel izahay: mamaritra toerana vaovao ho an'ny fizarazaran'ny fakany, esory ny famoahana ny fampahalalana momba ny debugging ary (azo atao) mandrara ny kernel tsy hanome adiresy IPv6 amin'ny fifandraisana amin'ny tambajotra:

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

Ity ny votoatiny /mnt/cmdline.txt amin'ny endrika manaraka (andalana iray tsy misy tsipika):

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

mahavita:

# cd
# umount /mnt
# sync

Averinay ao anaty "raspberry" ny microSD, atombohy ary mahazo fidirana amin'ny tambajotra amin'ny alàlan'ny ssh (root/centos).

2. Fametrahana CentOS

Ny hetsika telo voalohany tsy azo hozongozonina: passwd, yum -y vaovao, reboot.

Manome fitantanana tambajotra izahay networkd:

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

Mamorona rakitra (miaraka amin'ny lahatahiry) /etc/systemd/network/eth0.network:

[Match]
Name=eth0

[Network]
DHCP=ipv4

Averinay indray ny "raspberry" ary mahazo fidirana amin'ny tambajotra amin'ny alàlan'ny ssh (mety hiova ny adiresy IP). Tandremo ny zavatra ampiasaina /etc/resolv.conf, noforonin'ny Network Manager teo aloha. Noho izany, raha misy olana amin'ny famahana olana, dia ahitsio ny ao anatiny. Ampiasao systemd-tapa-kevitra tsy hanao izany izahay.

Esory ny "tsy ilaina", manamboatra ary manafaingana ny fandefasana ny 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

Iza no mila cron ary iza no tsy mandevona ny naorina systemd timers, afaka mametraka izay tsy ampy. / Var / log- ary jereo journalctl. Raha mila tantara momba ny log ianao (amin'ny alàlan'ny default, ny fampahalalana dia voatahiry raha tsy manomboka ny rafitra):

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

Atsaharo ny fampiasana IPv6 amin'ny serivisy fototra (raha ilaina)/ Etc / ssh / sshd_config:

AddressFamily inet

/etc/sysconfig/chronyd:

OPTIONS="-4"

Ny maha-zava-dehibe ny fotoana amin'ny "raspberry" dia zava-dehibe. Satria ivelan'ny boaty dia tsy misy fahaiza-manaon'ny fitaovana hamonjena ny toetr'andro amin'izao fotoana izao rehefa reboot, ilaina ny fampifanarahana. Daemon tena tsara sy haingana ho an'ity chrony - efa napetraka ary manomboka ho azy. Azonao atao ny manova ny mpizara NTP amin'ny akaiky indrindra.

/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

Hametraka ny faritry ny ora hampiasainay fitaka. Satria ny tanjonay dia ny hamorona router Wi-Fi miasa amin'ny frequence 5GHz, dia hiomana amin'ny tsy ampoizina mialoha izahay regulator:

# yum info crda
Famintinana: Daemon fanarahan-dalàna ho an'ny tambajotra tsy misy tariby 802.11

Ity endrika ratsy ity, mifototra amin'ny faritry ny fotoana ihany koa, dia "mandrara" ny fampiasana (any Rosia) ny fatran'ny 5GHz sy ny fantsona misy isa "avo". Ny hafetsena dia ny mametraka fe-potoana tsy mampiasa ny anaran'ny kaontinanta/tanàna, izany hoe:

# timedatectl set-timezone Europe/Moscow

Manindry izahay:

# timedatectl set-timezone Etc/GMT-3

Ary ny fikasihana farany amin'ny taovolo amin'ny rafitra:

# 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

Ny zavatra rehetra voalaza etsy ambony dia azo raisina ho torolàlana feno amin'ny fametrahana "vanilla" CentOS amin'ny Raspberry Pi. Tokony hiafara amin'ny PC izay (re) boot ao anatin'ny 10 segondra latsaka, mampiasa latsaky ny 15 Megabytes ny RAM sy 1.5 Gigabytes ny microSD (raha ny marina latsaky ny 1 Gigabyte noho ny tsy feno / baoty, fa aoka isika ho marin-toetra).

Mba hametrahana rindrambaiko fidirana Wi-Fi amin'ity rafitra ity dia mila manitatra kely ny fahafahan'ny fizarana CentOS mahazatra ianao. Voalohany indrindra, andao hanavao ny mpamily (firmware) ny adapter Wi-Fi naorina. Hoy ny pejy fandraisana ny tetikasa:

Wifi amin'ny Raspberry 3B sy 3B+

Ny rakitra firmware Raspberry PI 3B/3B+ dia tsy avela hozarain'ny Tetikasa CentOS. Azonao atao ny mampiasa ireto lahatsoratra manaraka ireto mba hahafantarana ny olana, alao ny firmware ary amboary ny wifi.

Ny zavatra voarara amin'ny tetikasa CentOS dia tsy voarara ho antsika ho an'ny fampiasana manokana. Manolo ny firmware Wi-Fi fizarana amin'ny CentOS miaraka amin'ny iray mifanaraka amin'izany avy amin'ny mpamorona Broadcom (ireo blobs binary mankahala ireo ...). Izany indrindra dia ahafahanao mampiasa AC amin'ny fomba fidirana.

Fanavaozana firmware Wi-FiFantaro ny maodelin'ny fitaovana sy ny kinova firmware ankehitriny:

# 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 

Hitantsika fa 7.45.18 tamin'ny 01.03.2015/XNUMX/XNUMX ny version firmware, ary tsarovy ireto andiany manaraka ireto: 43455 (brcmfmac43455-sdio.bin).

Ampidino ny sary Raspbian ankehitriny. Ny kamo dia afaka manoratra ny sary amin'ny microSD ary maka ireo rakitra miaraka amin'ny firmware avy eo. Na azonao atao ny mametraka ny fizarazaran'ny sary amin'ny Linux ary mandika izay ilainao avy any:

# 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

Tsy maintsy adika sy soloina amin'ny "raspberry" ao amin'ny lahatahiry ireo rakitra firmware adaptatera Wi-Fi vokatr'izany /usr/lib/firmware/brcm/

Averinay indray ny router ho avy ary mitsiky am-po izahay:

# 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 

Version: 7.45.154 tamin'ny 27.02.2018/XNUMX/XNUMX.

Ary mazava ho azy 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. Fanamboarana tambajotra sy fanamby ho avy

Araka ny nifanarahana teo ambony, ny "raspberry" dia mifandray amin'ny "tariby" amin'ny tambajotra eo an-toerana. Aoka hatao hoe ny mpamatsy dia manome fidirana amin'ny Internet amin'ny fomba mitovy: ny adiresy ao amin'ny tambajotram-bahoaka dia navoakan'ny mpizara DHCP mavitrika (angamba miaraka amin'ny MAC binding). Amin'ity tranga ity, aorian'ny fametrahana farany ny raspberry dia mila "mampifandray" ny tariby mpamatsy azy ianao ary vita ianao. Fanomezana alalana amin'ny fampiasana systemd-networkd - lohahevitry ny lahatsoratra mitokana ary tsy resahina eto.

Ny interface Wi-Fi an'ny Raspberry dia tambajotra eo an-toerana, ary ny adapter Ethernet (eth0) naorina dia ivelany. Andao hanisa ny tambajotra eo an-toerana, ohatra: 192.168.0.0/24. Adiresy Raspberry: 192.168.0.1. Ny mpizara DHCP dia hiasa amin'ny tambajotra ivelany (Internet).

Olana tsy miovaova anarana и programme malaza Goatemalteka - olana roa miandry an'izay rehetra manitsy ny serasera sy ny serivisy amin'ny fizarana systemd.

Chaos parallèleLennart Pottering dia nanangona ny fandaharany manokana systemd Tena tsara. izany systemd Mamoaka programa hafa haingana dia haingana izy ireo, ka tsy nanam-potoana hamerenana ny kiririoka nataon'ny mpitsara, dia tafintohina sy nianjera teo am-piandohana nefa tsy nanomboka ny sakanany akory.

Fa ny tena zava-dehibe, ny fampifanarahana mahery vaika amin'ireo dingana natomboka tamin'ny fiandohan'ny systemd OS dia karazana "tetezana ampondra" ho an'ny manam-pahaizana manokana momba ny LSB. Soa ihany fa ny fametrahana ny filaminana amin'ity "korontana mifanitsy" ity dia miseho ho tsotra, na dia tsy miharihary foana aza.

Mamorona fifandraisana tetezana virtoaly roa miaraka amin'ny anarana tsy tapaka izahay: Lan и Wan. "Hampifandray" ny adapter Wi-Fi amin'ny voalohany izahay, ary ny eth0 "raspberry" amin'ny faharoa.

/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=eny dia manafoana ny filàna hanoroana ny kernel amin'ny alàlan'ny sysctl mba ahafahana mivezivezy.
MACAddress= Aleo asiana commentaire ary ovay raha ilaina.

Voalohany dia "mampifandray" eth0. Tsaroantsika ny "olana fanamiana" ary tsy mampiasa afa-tsy ny adiresy MAC an'ity interface ity isika, izay hita, ohatra, toy izao:

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

Mamorona isika /etc/systemd/network/eth.network:

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

[Network]
Bridge=wan

Esory ny fisie eth0 teo aloha, avereno indray ny Raspberry ary alao ny fidirana amin'ny tambajotra (azo inoana fa hiova ny adiresy IP):

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

5.DNSMASQ

Amin'ny fanaovana teboka fidirana Wi-Fi, tsy misy mahamenatra ny mpivady mamy dnsmasq + hostapd mbola tsy nahafantatra an'izany. Raha ny hevitro.

Raha sanatria misy manadino dia...hostapd - izany no zavatra mifehy ny Wi-Fi adapters (indrindra fa ny mampifandray azy ireo amin'ny virtoaly Lan "raspberries"), manome alalana sy misoratra anarana mpanjifa tsy misy finday.

dnsmasq - manitsy ny tambazotran'ny mpanjifa: mamoaka adiresy IP, mpizara DNS, vavahady default ary fahafinaretana mitovy.

Andeha isika hanomboka amin'ny dnsmasq:

# yum install dnsmasq

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

amboary araka izay tianao.

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

Ny "majika" eto dia mipetraka amin'ny parameter bid-dynamic, izay milaza amin'ny daemon dnsmasq hiandry mandra-pisehony eo amin'ny rafitra interface=lan, ary tsy ho reraka amin'ny fieboeboana manirery aorian'ny fanombohana.

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

6. HOSTAPD

Ary farany, ny majika hostapd configurations. Tsy isalasalana fa misy olona mamaky ity lahatsoratra ity mba hitady ireo andalana sarobidy ireo.

Alohan'ny hametrahana hostapd dia mila mandresy ny "olana fanamiana" ianao. Ny adaptatera Wi-Fi naorina wlan0 dia afaka manova mora foana ny anarany ho wlan1 rehefa mampifandray fitaovana USB Wi-Fi fanampiny. Noho izany, hanamboatra ny anaran'ny interface amin'ny fomba manaraka isika: hamorona anarana tokana ho an'ny adaptatera (wireless) ary hamatotra azy ireo amin'ny adiresy MAC.

Ho an'ny adaptatera Wi-Fi naorina, izay mbola wlan0:

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

Mamorona isika /etc/systemd/network/wl0.link:

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

[Link]
Name=wl0

Ankehitriny dia ho azo antoka izany wl0 - Wi-Fi namboarina io. Averinay indray ny Raspberry mba hahazoana antoka izany.

Mametraka:

# yum install hostapd wireless-tools

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

Tsy manadino na dia kely aza Komitin’ny vonjy taitra amin’ny fanjakana, ovay ny masontsivana ilaintsika ary jereo amin'ny tanana ny fampiasa:

# hostapd /etc/hostapd/hostapd.conf

Hostapd dia hanomboka amin'ny fomba interactive, handefa ny toerany amin'ny console. Raha tsy misy lesoka, dia afaka mifandray amin'ny teboka fidirana ireo mpanjifa manohana ny maody AC. Mba hampijanonana ny hostapd - Ctrl-C.

Ny hany sisa tavela dia ny mamela ny hostapd amin'ny fanombohana ny rafitra. Raha manao ny zavatra mahazatra ianao (systemctl enable hostapd), dia aorian'ny reboot manaraka dia afaka mahazo demonia "mihodina amin'ny rà" miaraka amin'ny diagnostika "tsy hita ny interface wl0". Vokatry ny "korontana parallèle", ny hostapd dia nanomboka haingana kokoa noho ny kernel nahita ny adaptatera tsy misy tariby.

Feno fanafody ny Aterineto: manomboka amin'ny fe-potoana an-tery alohan'ny hanombohan'ny daemon (minitra maromaro), mankany amin'ny daemon hafa manara-maso ny fisehon'ny interface ary (manomboka) indray ny hostpad. Ny vahaolana dia tena azo atao, fa tena ratsy. Miantso vonjy amin'ilay lehibe izahay systemd miaraka amin'ny "tanjony" sy ny "asany" ary ny "fiankinan-doha".

Adikao amin'ny /etc/systemd/system/hostapd.service:

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

ary ahena ny ao anatiny ho toy izao manaraka izao:

[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

Ny majika amin'ny rakitra serivisy nohavaozina dia miorina amin'ny famatorana mavitrika ny hostapd amin'ny tanjona vaovao - ny interface wl0. Rehefa miseho ny interface dia manomboka ny daemon; rehefa nanjavona izy dia mijanona. Ary izany rehetra izany dia an-tserasera - tsy rebooting ny rafitra. Ity teknika ity dia tena ilaina rehefa mampifandray USB Wi-Fi adapter amin'ny Raspberry.

Afaka izao ianao:

# systemctl enable hostapd
# reboot

7. IPTABLES

“Fa???” © Eny, eny! tsy misy systemd. Tsy misy mitambatra vaovao (amin'ny endrika firewalld), izay miafara manao zavatra mitovy.

Andao hampiasa ny taloha tsara iptables, izay ny serivisy, aorian'ny fanombohana, dia hampiditra ny fitsipiky ny tambajotra ao amin'ny kernel ary hikatona mangina tsy mijanona ho mponina sy tsy mandany loharanon-karena. systemd dia manana kanto IPMasquerade=, fa mbola hankinina amin'ny iptables ny fandikana adiresy (NAT) sy ny firewall.

Mametraka:

# yum install iptables-services
# systemctl enable iptables ip6tables

Aleoko mitahiry ny configuration iptables ho script (ohatra):

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

Manatanteraka ny script etsy ambony izahay ary very ny fahafahana mametraka fifandraisana SSH tariby vaovao amin'ny Raspberry. Marina izany, nanao ny router Wi-Fi izahay, izay voarara amin'ny alàlan'ny default "amin'ny alàlan'ny Internet" - "amin'ny rivotra" fotsiny izao. Mampifandray ny tariby Ethernet an'ny mpamatsy izahay ary manomboka mitety!

8. Tambiny: +2,4GHz

Rehefa nanangona ny router Raspberry voalohany aho tamin'ny fampiasana ny sary voalaza etsy ambony, dia nahita gadget maromaro tao an-tranoko aho izay, noho ny fetran'ny famolavolana Wi-Fi, dia tsy nahita ny "raspberry" mihitsy. Ny fanavaozana ny router mba hiasa amin'ny 802.11b/g/n dia tsy ara-panatanjahan-tena, satria ny hafainganam-pandeha ambony indrindra "amin'ny rivotra" amin'ity tranga ity dia tsy mihoatra ny 40 Mbit, ary ny mpamatsy Internet tiako indrindra dia manolotra ahy 100 (amin'ny alàlan'ny cable).

Raha ny marina, ny vahaolana amin'ny olana dia efa noforonina: ny Wi-Fi faharoa interface tsara miasa amin'ny matetika ny 2,4 GHz, ary ny faharoa fidirana. Tao amin'ny toeram-pivarotana teo akaiky teo dia tsy nividy ny voalohany aho, fa ny "sioka" USB Wi-Fi faharoa hitako. Nijaly ny mpivarotra noho ny fanontaniana momba ny chipset, ny fifanarahana amin'ny kernel ARM Linux ary ny fahafahana miasa amin'ny mode AP (izy no voalohany nanomboka).

Izahay dia manamboatra ny "sioka" amin'ny alàlan'ny fampitahana amin'ny adaptatera Wi-Fi naorina.

Voalohany, andeha hovana anarana ho 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

Ankininay amin'ny daemon hostapd misaraka ny fitantanana ny interface Wi-Fi vaovao, izay hanomboka sy hijanona miankina amin'ny fisian'ny "sioka" voafaritra tsara ao amin'ny rafitra: wl1.

Fikirakirana /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]

Miankina mivantana amin'ny maodelin'ny USB Wi-Fi adaptatera ny votoatin'ity rakitra ity, noho izany dia mety tsy hahavita anao ny dika mitovy/mametaka.

Adikao amin'ny /etc/systemd/system/hostapd2.service:

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

ary ahena ny ao anatiny ho toy izao manaraka izao:

[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

Ny hany sisa tavela dia ny mamela ohatra vaovao amin'ny hostapd:

# systemctl enable hostapd2

Izay ihany! Sintonina ny "sioka" sy ny "raspberry" mihitsy, jereo ny tambajotra tsy misy tariby manodidina anao.

Ary farany, tiako ny hampitandrina anao momba ny kalitaon'ny adapter USB Wi-Fi sy ny famatsiana herinaratra ny Raspberry. Ny "sioka mafana" mifandray dia mety hiteraka "fanamafisan'ny raspberry" indraindray noho ny olana elektrika vetivety.

Source: www.habr.com

Add a comment