Π ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Wi-Fi ΡΠΎΡΠ΅ΠΊ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π±Π°Π·Π΅ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΠ Raspberry. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ β Raspbian.
Π―Π²Π»ΡΡΡΡ Π°Π΄Π΅ΠΏΡΠΎΠΌ RPM-based ΡΠΈΡΡΠ΅ΠΌ, Ρ Π½Π΅ ΠΌΠΎΠ³ ΠΏΡΠΎΠΉΡΠΈ ΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΈ Π½Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΡ Π»ΡΠ±ΠΈΠΌΡΡ CentOS.
Π ΡΡΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ 5GHz/AC Wi-Fi ΡΠΎΡΡΠ΅ΡΠ° ΠΈΠ· Raspberry Pi 3 Model B+ Π½Π° Π±Π°Π·Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ CentOS. ΠΡΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ , Π½ΠΎ ΠΌΠ°Π»ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΡΠΊΠΎΠ², Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΠΎΠ½ΡΡΠ° β ΡΠ΅ΡΡΠ΅ΠΆ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅Β» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Wi-Fi ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ (2,4+5GHz).
(ΠΌΠΈΠΊΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°)
ΠΡΠΌΠ΅ΡΠΈΠΌ ΡΡΠ°Π·Ρ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. Π― Π²ΡΠΆΠΈΠΌΠ°Ρ ΠΈΠ· ΡΠ²ΠΎΠ΅ΠΉ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ
Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 100 ΠΠ±ΠΈΡ, ΠΈ ΡΡΠΎ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ»ΡΠΉ AC, Π΅ΡΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π° N Π² ΡΠ΅ΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π³ΠΈΠ³Π°Π±ΠΈΡΠ°? ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΡΠΎ ΡΡΡΠΏΠ°ΠΉΡΠ΅ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½ Π·Π° Π½Π°ΡΡΠΎΡΡΠΈΠΌ ΡΠΎΡΡΠ΅ΡΠΎΠΌ Ρ Π²ΠΎΡΠ΅ΠΌΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π°Π½ΡΠ΅Π½Π½Π°ΠΌΠΈ.
0. Π§ΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ
- Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΌΠΎ Β«ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅Β» ΠΊΠ°Π»ΠΈΠ±ΡΠ°: Pi 3 Model B+ (Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π·Π°Π²Π΅ΡΠ½ΡΡ 5GHz ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ²);
- ΠΠΎΠ±ΡΠΎΡΠ½Π°Ρ microSD >= 4GB;
- Π Π°Π±ΠΎΡΠ°Ρ ΡΡΠ°Π½ΡΠΈΡ Ρ Linux ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ/ΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ microSD;
- ΠΠ°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΡΠΊΠΈΠ»Π»ΠΎΠ² Π² Linux, ΡΡΠ°ΡΡΡ β Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΠΈΠΊΠ°;
- ΠΡΠΎΠ²ΠΎΠ΄Π½Π°Ρ ΡΠ΅ΡΠ΅Π²Π°Ρ (eth0) ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Raspberry ΠΈ Linux, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ DHCP-ΡΠ΅ΡΠ²Π΅Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΎΠ±ΠΎΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΏΡΠ½ΠΊΡΡ. Β«Π§ΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ, ΡΠΉΡΠΎ ΠΈΠ»ΠΈ…Β» ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Wi-Fi ΡΠΎΡΡΠ΅Ρ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ? ΠΡΡΠ°Π²ΠΈΠΌ Π·Π° ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ ΡΡΠ°ΡΡΠΈ ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Raspberry ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡ ΠΎΠ΄ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ».
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° CentOS
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ CentOS Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ β 32-Π±ΠΈΡΠ½Π°Ρ. ΠΠ΄Π΅-ΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠΎΡΠ°Ρ Π²ΡΠ΅ΠΌΠΈΡΠ½ΠΎΠΉ Π‘Π΅ΡΠΈ ΠΌΠ½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΠΌΠ½Π΅Π½ΠΈΡ ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΡ ΠΠ‘ Π½Π° 64-Π±ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ARM Π°ΠΆ Π½Π° 20%. ΠΡΡΠ°Π²Π»Ρ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ° Linux-Π΅ ΠΊΠ°ΡΠ°Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· Ρ ΡΠ΄ΡΠΎΠΌ «-RaspberryPI-» ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° microSD:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz |
dd of=/dev/mmcblk0 bs=4M
# sync
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·Π° ΡΠ΄Π°Π»ΠΈΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π» SWAP, ΡΠ°ΡΡΠΈΡΠΈΠΌ ΠΊΠΎΡΠ΅Π½Ρ Π½Π° Π²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΠΌΡΡ ΠΎΡ SELinux. ΠΠ»Π³ΠΎΡΠΈΡΠΌ β ΠΏΡΠΎΡΡΠΎΠΉ: Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ ΠΊΠΎΡΠ½Ρ Π½Π° Linux, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Ρ microSD Π²ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ (/boot), ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ· ΠΊΠΎΠΏΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (ΡΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄)
# 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
ΠΠΎΡΠ»Π΅ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²Π½Π΅ΡΡΠΈ Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ SELinux Π² /mnt/etc/selinux/config:
SELINUX=disabled
Π Π΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ /mnt/etc/fstab, ΠΎΡΡΠ°Π²Π»ΡΡ Π² Π½Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°Ρ : Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ (/boot, Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ (ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ UUID, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΠΈΠ·ΡΡΠΈΠ² Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ blkid Π½Π° Linux-Π΅):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0
UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄ΡΠ°: ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°, ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ ΡΠ΄ΡΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡ IPv6 Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ :
# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt
ΠΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ /mnt/cmdline.txt ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ (ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠ²):
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1
ΠΠΎΡΠΎΠ²ΠΎ:
# cd
# umount /mnt
# sync
ΠΠ΅ΡΠ΅ΡΡΠ°Π²Π»ΡΠ΅ΠΌ microSD Π² Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ», Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊ Π½Π΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ ssh (root/centos).
2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° CentOS
ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ Π½Π΅Π·ΡΠ±Π»Π΅ΠΌΡΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ: passwd, yum -y update, reboot.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π°Π΅ΠΌ networkd:
# yum install systemd-networkd
# systemctl enable systemd-networkd
# systemctl disable NetworkManager
# chkconfig network off
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» (Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ) /etc/systemd/network/eth0.network:
[Match]
Name=eth0
[Network]
DHCP=ipv4
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ» ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊ Π½Π΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ ssh (IP-Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ /etc/resolv.conf, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ Network Manager-ΠΎΠΌ. ΠΠΎΡΡΠΎΠΌΡ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ resolve, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ systemd-resolved ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ.
Π£Π΄Π°Π»ΡΠ΅ΠΌ Β«Π»ΠΈΡΠ½Π΅Π΅Β», ΡΠΈΠ½ΠΈΠΌ ΠΈ ΡΡΠΊΠΎΡΡΠ΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΠ‘:
# 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
ΠΠΎΠΌΡ Π½ΡΠΆΠ΅Π½ cron ΠΈ ΠΊΡΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅Π²Π°ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
# vi /etc/systemd/journald.conf
ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ IPv6 ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ (Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ)/etc/ssh/sshd_config:
AddressFamily inet
/etc/sysconfig/chronyd:
OPTIONS="-4"
ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅Β» β Π²Π°ΠΆΠ½Π°Ρ ΡΡΡΠΊΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Β«ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ» ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅, ΡΠΎ Π½ΡΠΆΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ Π΄Π΅ΠΌΠΎΠ½ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ β chrony β ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ NTP-ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅.
/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
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠ° ΡΠ΅Π»Ρ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Wi-Fi ΡΠΎΡΡΠ΅ΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π° 5GHz ΡΠ°ΡΡΠΎΡΠ°Ρ , ΡΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌΡΡ ΠΊ ΡΡΡΠΏΡΠΈΠ·Π°ΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡΠ°:
# yum info crda
Summary: Regulatory compliance daemon for 802.11 wireless networking
ΠΡΠ° Π·Π»ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΡΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ, Β«Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ (Π² Π ΠΎΡΡΠΈΠΈ) 5GHz ΡΠ°ΡΡΠΎΡ ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² Ρ Β«Π±ΠΎΠ»ΡΡΠΈΠΌΠΈΒ» Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ. Π’ΡΡΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΉΠΌ Π·ΠΎΠ½Ρ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠΊΠΎΠ²/Π³ΠΎΡΠΎΠ΄ΠΎΠ², ΡΠΎ Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ:
# timedatectl set-timezone Europe/Moscow
ΠΠ΄Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ:
# timedatectl set-timezone Etc/GMT-3
Π ΡΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΡΠΈΡ ΠΈ Π² ΠΏΡΠΈΡΠ΅ΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ:
# 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
ΠΡΠ΅, ΠΎ ΡΠ΅ΠΌ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Β«Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎΒ» CentOS Π½Π° Raspberry Pi. Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΠ, ΠΊΠΎΡΠΎΡΡΠΉ (ΠΏΠ΅ΡΠ΅)Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Π½Π΅Π΅ 15 ΠΠ΅Π³Π°Π±Π°ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ 1.5 ΠΠΈΠ³Π°Π±Π°ΠΉΡΠ° microSD (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠ΅Π½Π΅Π΅ 1 ΠΠΈΠ³Π°Π±Π°ΠΉΡΠ° ΠΈΠ·-Π·Π° Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ /boot, Π½ΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅ΡΡΠ½ΡΠΌΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°).
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ Wi-Fi ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° CentOS. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Β«ΠΏΡΠΎΠΊΠ°ΡΠ°Π΅ΠΌΒ» Π΄ΡΠ°ΠΉΠ²Π΅Ρ(ΠΏΡΠΎΡΠΈΠ²ΠΊΡ) Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ°. ΠΠ° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΊΠ°Π·Π°Π½ΠΎ:
Wifi on the Raspberry 3B and 3B+
The Raspberry PI 3B/3B+ firmware files are not allowed to be distributed by the CentOS Project. You can use the following articles to understand the issue, get the firmware and set up the wifi.
Π§ΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΠ΅ΠΊΡΡ CentOS, ΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ Π½Π°ΠΌ Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΡΡ Wi-Fi ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π² CentOS Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Broadcom (ΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π½Π΅Π½Π°Π²ΠΈΡΡΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π±Π»ΠΎΠ±Ρ…). ΠΡΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AC Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
Wi-Fi firmware upgradeΠΡΡΡΠ½ΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ:
# 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
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π²Π΅ΡΡΠΈΠΈ 7.45.18 ΠΎΡ 01.03.2015, ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΡΡ: 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
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Ρ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π½Π° Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /usr/lib/firmware/brcm/
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ΄ΡΡΠΈΠΉ ΡΠΎΡΡΠ΅Ρ ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΡΠ±Π°Π΅ΠΌΡΡ:
# 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
ΠΠ΅ΡΡΠΈΡ: 7.45.154 ΠΎΡ 27.02.2018.
ΠΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ 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. Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΈΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ
ΠΠ°ΠΊ ΠΌΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈΡΡ Π²ΡΡΠ΅, Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ°Β» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° Β«ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠΌΒ» ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ: Π°Π΄ΡΠ΅Ρ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π²ΡΠ΄Π°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ DHCP ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΠΊ MAC). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ», Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Β«Π²ΠΎΡΠΊΠ½ΡΡΡΒ» Π² Π½Π΅Π΅ ΠΊΠ°Π±Π΅Π»Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ. ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ systemd-networkd β ΡΠ΅ΠΌΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΈ Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ.
Wi-Fi ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ(Ρ) Ρ Raspberry β ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡ, Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Ethernet Π°Π΄Π°ΠΏΡΠ΅Ρ (eth0) β Π²Π½Π΅ΡΠ½ΡΡ. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: 192.168.0.0/24. ΠΠ΄ΡΠ΅Ρ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ»: 192.168.0.1. ΠΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ΅ΡΠΈ (ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ) Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ DHCP ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Ρ Π°ΠΎΡ (Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅)ΠΠ΅Π½Π½Π°ΡΡ ΠΠΎΡΡΠ΅ΡΠΈΠ½Π³ ΡΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ systemd ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ. ΠΡΠ° systemd Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ Π±ΡΡΡΡΠΎ, ΡΡΠΎ ΡΠ΅, Π½Π΅ ΡΡΠΏΠ΅Π² ΠΎΠΏΠΎΠΌΠ½ΠΈΡΡΡΡ ΠΎΡ ΡΡΠ΄Π΅ΠΉΡΠΊΠΎΠ³ΠΎ ΠΏΠΈΠ½ΠΊΠ° ΡΠ²ΠΈΡΡΠΊΠ°, ΡΠΏΠΎΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΠΏΠ°Π΄Π°ΡΡ Π½Π° ΡΡΠ°ΡΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°ΡΠ°Π² ΡΠ²ΠΎΠΉ Π±Π΅Π³ Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡΠΌΠΈ.
ΠΡ Π° Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ, ΡΠΎ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ systemd-ΠΠ‘ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΈΠΌ Β«ΠΎΡΠ»ΠΈΠ½ΡΠΌ ΠΌΠΎΡΡΠΈΠΊΠΎΠΌΒ» Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ LSB-ΡΠ½ΠΈΠΊΠΎΠ². Π ΡΡΠ°ΡΡΡΡ, ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΠΎΡ Β«ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Ρ Π°ΠΎΡΒ» ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ, ΠΏΡΠ°Π²Π΄Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π΄Π΅Π»ΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°-ΠΌΠΎΡΡΠ° (bridge) Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ: lan ΠΈ wan. Π ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Β«ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΒ» Wi-Fi Π°Π΄Π°ΠΏΡΠ΅Ρ(Ρ), ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ β eth0 Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ».
/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=yes ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· sysctl Π½Π°ΠΌΠ΅ΠΊΠ°ΡΡ ΡΠ΄ΡΡ ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ.
MACAddress= ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π‘Π½Π°ΡΠ°Π»Π° Β«ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΒ» eth0. ΠΠΎΠΌΠ½ΠΈΠΌ ΠΎ Β«ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΒ» ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ MAC Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ·Π½Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
# cat /sys/class/net/eth0/address
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ /etc/systemd/network/eth.network:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Network]
Bridge=wan
Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ eth0, ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ» ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊ Π½Π΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π΄ΠΎΡΡΡΠΏ (IP Π°Π΄ΡΠ΅Ρ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5. DNSMASQ
ΠΠ»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ Π΄ΠΎΡΡΡΠΏΠ° Wi-Fi Π½ΠΈΡΠ΅Π³ΠΎ Π»ΡΡΡΠ΅ ΡΠ»Π°Π΄ΠΊΠΎΠΉ ΠΏΠ°ΡΠΎΡΠΊΠΈ ΠΈΠ· dnsmasq + hostapd Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ. ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΊΡΠΎ Π·Π°Π±ΡΠ», ΡΠΎ…
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Ρ dnsmasq:
# yum install dnsmasq
Π¨Π°Π±Π»ΠΎΠ½ /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
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π²ΠΊΡΡΡ.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ /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
Β«ΠΠ°Π³ΠΈΡΒ» Π·Π΄Π΅ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ bind-dynamic, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅ΠΌΠΎΠ½Ρ dnsmasq Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ interface=lan, Π° Π½Π΅ ΠΏΠ°Π΄Π°ΡΡ Π² ΠΎΠ±ΠΌΠΎΡΠΎΠΊ ΠΎΡ ΠΏΡΠΈΡΡΡΠΏΠ° Π³ΠΎΡΠ΄ΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ΅ΡΡΠ²Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ°.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ hostapd. ΠΠ΅ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΡΠΈΡΠ°Π΅Ρ ΡΡΡ ΡΡΠ°ΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈΡ Π·Π°Π²Π΅ΡΠ½ΡΡ ΡΡΡΠΎΡΠ΅ΠΊ.
ΠΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ hostapd Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ±ΠΎΡΠΎΡΡΡΡ Ρ Β«ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΒ». ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅Ρ wlan0 ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ Π½Π° wlan1 ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ USB Wi-Fi ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ: ΠΏΡΠΈΠ΄ΡΠΌΠ°Π΅ΠΌ (Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ) Π°Π΄Π°ΠΏΡΠ΅ΡΠ°ΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠ²ΡΠΆΠ΅ΠΌ ΠΈΡ ΠΊ MAC Π°Π΄ΡΠ΅ΡΠ°ΠΌ.
ΠΠ»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ° Π΅ΡΠ΅ wlan0:
# cat /sys/class/net/wlan0/address
b8:27:eb:xx:xx:xx
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ /etc/systemd/network/wl0.link:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Link]
Name=wl0
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ wl0 β ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Wi-Fi. ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ», ΡΡΠΎΠ±Ρ Π² ΡΡΠΎΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ:
# yum install hostapd wireless-tools
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» /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
ΠΠΈ Π½Π° ΠΌΠΈΠ½ΡΡΡ Π½Π΅ Π·Π°Π±ΡΠ²Π°Ρ ΠΎ
# hostapd /etc/hostapd/hostapd.conf
hostapd Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ ΠΊ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌ AC-ΡΠ΅ΠΆΠΈΠΌ. ΠΠ»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ hostapd β Ctrl-C.
ΠΡΡΠ°Π»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ hostapd Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ (systemctl enable hostapd), ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Β«Π²Π°Π»ΡΡΡΠ΅Π³ΠΎΡΡ Π² ΠΊΡΠΎΠ²ΠΈΒ» Π΄Π΅ΠΌΠΎΠ½Π° Ρ Π΄ΠΈΠ°Π³Π½ΠΎΠ·ΠΎΠΌ «ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ wl0 Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½«. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Β«ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Ρ Π°ΠΎΡΠ°Β» hostapd Π·Π°Π²Π΅Π»ΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠ΄ΡΠΎ Π½Π°ΡΠ»ΠΎ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ.
Π ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎ Π»Π΅ΠΊΠ°ΡΡΡΠ²: ΠΎΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°ΡΡΠΎΠΌ Π΄Π΅ΠΌΠΎΠ½Π° (ΡΠΊΠΎΠ»ΡΠΊΠΎ-ΡΠΎ ΠΌΠΈΠ½ΡΡ), Π΄ΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ (ΠΏΠ΅ΡΠ΅)Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ hostpad. Π Π΅ΡΠ΅Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π±Π΅ ΡΠ°Π±ΠΎΡΠΈΠ΅, Π½ΠΎ ΡΠΆΠ°ΡΠ½ΠΎ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅. ΠΡΠΈΠ·ΡΠ²Π°Π΅ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡΡ Π²Π΅Π»ΠΈΠΊΠΎΠ³ΠΎ systemd Ρ Π΅Π³ΠΎ Β«ΡΠ΅Π»ΡΠΌΠΈΒ» ΠΈ «Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ» Β«Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈΒ».
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΡΠΉ service-ΡΠ°ΠΉΠ» Π² /etc/systemd/system/hostapd.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system
ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ:
[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
ΠΠ°Π³ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ hostapd ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π»ΠΈ β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ wl0. ΠΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β Π΄Π΅ΠΌΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΏΡΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ β ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. Π ΡΡΠΎ Π²ΡΠ΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½Π΅ β Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅Β» USB Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ°.
ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ:
# systemctl enable hostapd
# reboot
7. IPTABLES
Β«Π¨ΡΠ°???Β» Β© ΠΠ°-Π΄Π°! ΠΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ systemd. ΠΠΈΠΊΠ°ΠΊΠΈΡ Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΠΎΠ² (Π² Π²ΠΈΠ΄Π΅ firewalld), ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΈΡΠΎΠ³Π΅ Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ iptables, ΡΠ»ΡΠΆΠ±Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ°ΡΡΠ° Π·Π°Π³ΡΡΠ·ΡΡ Π² ΡΠ΄ΡΠΎ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ ΠΎΡΡΠ°Π²Π°ΡΡΡ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π£ systemd Π΅ΡΡΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ IPMasquerade=, Π½ΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² (NAT) ΠΈ ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ» ΠΏΠΎΡΡΡΠΈΠΌ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ iptables.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ:
# yum install iptables-services
# systemctl enable iptables ip6tables
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ iptables Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠ° (ΠΏΡΠΈΠΌΠ΅Ρ):
#!/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
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠ΅ΡΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ssh-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΎΠΉΒ». ΠΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΌΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ Wi-Fi ΡΠΎΡΡΠ΅Ρ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Β«ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΒ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ β ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Β«ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ ΡΒ». ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°Π±Π΅Π»Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° Π² Ethernet ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΡΡΡΠΈΠ½Π³!
8. ΠΠΎΠ½ΡΡ: +2,4GHz
ΠΠΎΠ³Π΄Π° ΠΏΠΎ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΡΠ΅ΠΆΡ Ρ ΡΠΎΠ±ΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΠΉ Raspberry ΡΠΎΡΡΠ΅Ρ, ΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Ρ ΡΠ΅Π±Ρ Π² Ρ ΠΎΠ·ΡΠΉΡΡΠ²Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠΈΠ»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Wi-Fi Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ» Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠ΅ΡΠ΅Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ Π² 802.11b/g/n Π±ΡΠ»ΠΎ Π½Π΅ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ Β«ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ ΡΒ» Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π»Π° 40 ΠΠ±ΠΈΡ, Π° ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½Π΅ 100 (ΠΏΠΎ ΠΊΠ°Π±Π΅Π»Ρ).
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ΠΎ: Π²ΡΠΎΡΠΎΠΉ Wi-Fi ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΠ°ΡΡΠΎΡΠ΅ 2,4GHz, ΠΈ Π²ΡΠΎΡΠ°Ρ ΡΠΎΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ°. Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π»Π°ΡΡΠΊΠ΅ Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π» Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ, Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠΏΠ°Π²ΡΠΈΠΉΡΡ ΠΌΠ½Π΅ USB Wi-Fi Β«ΡΠ²ΠΈΡΡΠΎΠΊΒ». ΠΡΠΎΠ΄Π°Π²Π΅Ρ Π±ΡΠ» ΠΈΡΡΠ΅ΡΠ·Π°Π½ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΎ ΡΠΈΠΏΡΠ΅ΡΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ARM-ΡΠ΄ΡΠ°ΠΌΠΈ Linux ΠΈ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ AP (ΠΎΠ½ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°ΡΠ°Π»).
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ Β«ΡΠ²ΠΈΡΡΠΎΠΊΒ» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ.
Π‘Π½Π°ΡΠ°Π»Π° β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² 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
Π£ΠΏΡΠ°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠΌ Wi-Fi ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΡΡΡΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ Π΄Π΅ΠΌΠΎΠ½Ρ hostapd, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π»ΠΈΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Β«ΡΠ²ΠΈΡΡΠΊΠ°Β»: wl1.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» /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]
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ USB Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π±Π°Π½Π°Π»ΡΠ½ΡΠΉ copy/paste ΠΌΠΎΠΆΠ΅Ρ Π²Π°Ρ ΠΏΠΎΠ΄Π²Π΅ΡΡΠΈ.
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΡΠΉ service-ΡΠ°ΠΉΠ» Π² /etc/systemd/system/hostapd2.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service
ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Ρ:
[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
ΠΡΡΠ°Π»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ hostapd:
# systemctl enable hostapd2
ΠΠΎΡ ΠΈ Π²ΡΠ΅! ΠΠΎΠ΄Π΅ΡΠ³Π°ΠΉΡΠ΅ Β«ΡΠ²ΠΈΡΡΠΎΠΊΒ» ΠΈ ΡΠ°ΠΌΡ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡΒ», ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΡΠΈ Π²ΠΎΠΊΡΡΠ³.
Π Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Ρ
ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡΡ ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ USB Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Raspberry. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Β«Π½Π° Π³ΠΎΡΡΡΡΡ ΡΠ²ΠΈΡΡΠΎΠΊΒ», ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ Β«Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» ΠΈΠ·-Π·Π° ΠΊΡΠ°ΡΠΊΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com