рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╕рд┐рдВрдЧрд▓-рдмреЛрд░реНрдб рдкреАрд╕реАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд╛рдп-рдлрд╛рдп рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ. рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдпрд╛рдЪрд╛ рдЕрд░реНрде рд░рд╛рд╕реНрдкрдмреЗрд░реАрдЪреА рдореВрд│ рд░рд╛рд╕реНрдкрдмрд┐рдпрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдкрд░рдгреЗ рд╣реЛрдп.
RPM-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рдЕрдиреБрдпрд╛рдпреА рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдореА рдпрд╛ рдЫреЛрдЯреНрдпрд╛рд╢рд╛ рдЪрдорддреНрдХрд╛рд░рд╛рд▓рд╛ рдкрд╛рд░ рдХрд░реВ рд╢рдХрд▓реЛ рдирд╛рд╣реА рдЖрдгрд┐ рдорд╛рдЭреНрдпрд╛ рдкреНрд░рд┐рдп рд╕реЗрдВрдЯреЛрд╕рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрд▓реЛ рдирд╛рд╣реА.
рд▓реЗрдЦ CentOS рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЖрдзрд╛рд░рд┐рдд Raspberry Pi 5 Model B+ рд╡рд░реВрди 3GHz/AC Wi-Fi рд░рд╛рдЙрдЯрд░ рдмрдирд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЛ. рддреЗрдереЗ рдЕрдиреЗрдХ рдорд╛рдирдХ рдкрд░рдВрддреБ рдЕрд▓реНрдк-рдЬреНрдЮрд╛рдд рдпреБрдХреНрддреНрдпрд╛ рдЕрд╕рддреАрд▓ рдЖрдгрд┐ рдмреЛрдирд╕ рдореНрд╣рдгреВрди - рд░рд╛рд╕реНрдкрдмреЗрд░реАрд▓рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╛рдп-рдлрд╛рдп рдЙрдкрдХрд░рдгреЗ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░, рддреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдореЛрдбрдордзреНрдпреЗ (2,4+5GHz) рдСрдкрд░реЗрдЯ рдХрд░реВ рджреЗрддреЗ.
(рдореБрдХреНрддрдкрдгреЗ рдЙрдкрд▓рдмреНрдз рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рдорд┐рд╢реНрд░рдг)
рдЖрдкрдг рд▓рдЧреЗрдЪ рд▓рдХреНрд╖рд╛рдд рдШреЗрдК рдпрд╛ рдХреА рдХрд╛рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рд╡реЗрдЧ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реАрдд. рдореА рдорд╛рдЭреНрдпрд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдордзреВрди рд╣рд╡реЗрд╡рд░ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд 100 Mbps рдкрд┐рд│реВрди рдХрд╛рдврддреЛ рдЖрдгрд┐ рд╣реЗ рдорд╛рдЭреНрдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░рджрд╛рддреНрдпрд╛рдЪреНрдпрд╛ рдЧрддреАрд▓рд╛ рдХрд╡реНрд╣рд░ рдХрд░рддреЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╢рд╛ рдЖрд│рд╢реА рдПрд╕реАрдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ, рдЬрд░ рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдиреБрд╕рд╛рд░ рддреБрдореНрд╣рд╛рд▓рд╛ N рд╡рд░рд╣реА рдЕрд░реНрдзрд╛ рдЧрд┐рдЧрд╛рдмрд┐рдЯ рдорд┐рд│реВ рд╢рдХреЗрд▓? рдЬрд░ рддреБрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рд╣рд╛ рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░рд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рдЖрда рдмрд╛рд╣реНрдп рдЕрдБрдЯреЗрдирд╛рд╕рд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╛рдЙрдЯрд░ рдЦрд░реЗрджреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рдЬрд╛.
0. рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд▓рд╛рдЧреЗрд▓
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ, тАЬрд░рд╛рд╕реНрдкрдмреЗрд░реА рдЙрддреНрдкрд╛рджрдитАЭ рд╕реНрд╡рддрдГрдЪ рдХреЕрд▓рд┐рдмрд░рдЪреЗ рдЖрд╣реЗ: Pi 3 рдореЙрдбреЗрд▓ B+ (рдкреНрд░рддрд┐рд╖реНрдард┐рдд 5GHz рдЧрддреА рдЖрдгрд┐ рдЪреЕрдиреЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА);
- рдЪрд╛рдВрдЧрд▓реЗ microSD >= 4GB;
- рд▓рд┐рдирдХреНрд╕ рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреА рд░реАрдбрд░/рд▓реЗрдЦрдХрд╛рд╕рд╣ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди;
- рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рдкреБрд░реЗрд╢рд╛ рдХреМрд╢рд▓реНрдпрд╛рдВрдЪреА рдЙрдкрд▓рдмреНрдзрддрд╛, рд▓реЗрдЦ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЧреАрдХрд╕рд╛рдареА рдЖрд╣реЗ;
- рд░рд╛рд╕реНрдкрдмреЗрд░реА рдЖрдгрд┐ рд▓рд┐рдирдХреНрд╕ рджрд░рдореНрдпрд╛рди рд╡рд╛рдпрд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ (eth0) рдХрдиреЗрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреА, рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ DHCP рд╕рд░реНрд╡реНрд╣рд░ рдЪрд╛рд▓рд╡рдгреЗ рдЖрдгрд┐ рджреЛрдиреНрд╣реА рдЙрдкрдХрд░рдгрд╛рдВрд╡рд░реАрд▓ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░рд╡реЗрд╢.
рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдореБрджреНрджреНрдпрд╛рд╡рд░ рдПрдХ рдЫреЛрдЯреАрд╢реА рдЯрд┐рдкреНрдкрдгреА. тАЬрдХреЛрдгрддреЗ рдкреНрд░рдердо рдЖрд▓реЗ, рдЕрдВрдбреЗ рдХрд┐рдВрд╡рд╛...тАЭ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдЙрдкрдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддреАрдд рд╡рд╛рдп-рдлрд╛рдп рд░рд╛рдЙрдЯрд░ рдХрд╕рд╛ рдмрдирд╡рд╛рдпрдЪрд╛? рдЪрд▓рд╛ рд╣рд╛ рдордиреЛрд░рдВрдЬрдХ рд╡реНрдпрд╛рдпрд╛рдо рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рд╕реЛрдбреВрдпрд╛ рдЖрдгрд┐ рдлрдХреНрдд рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рдХреА рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╡рд╛рдпрд░рджреНрд╡рд╛рд░реЗ рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ "рд░рд╛рд╕реНрдкрдмреЗрд░реА" рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреАрд╡реНрд╣реА рдЖрдгрд┐ рдореЕрдирд┐рдкреБрд▓реЗрдЯрд░рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
1. CentOS рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛
рд╣рд╛ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ CentOS рдЪреА рдЪрд╛рд▓реВ рдЖрд╡реГрддреНрддреА 32-рдмрд┐рдЯ рдЖрд╣реЗ. рд╡рд░реНрд▓реНрдб рд╡рд╛рдЗрдб рд╡реЗрдмрд╡рд░ рдХреБрдареЗрддрд░реА рдорд▓рд╛ рдЕрд╕реЗ рдордд рдЖрд▓реЗ рдХреА 64-рдмрд┐рдЯ рдПрдЖрд░рдПрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╡рд░ рдЕрд╢рд╛ рдУрдПрд╕рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ 20% рдЗрддрдХреА рдХрдореА рдЭрд╛рд▓реА рдЖрд╣реЗ. рдореА рдЯрд┐рдкреНрдкрдгреА рди рдХрд░рддрд╛ рд╣рд╛ рдХреНрд╖рдг рд╕реЛрдбреЗрди.
рд▓рд┐рдирдХреНрд╕рд╡рд░, рдХрд░реНрдирд▓рд╕рд╣ рдХрд┐рдорд╛рди рдкреНрд░рддрд┐рдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ "-рд░рд╛рд╕рдмреЗрд░реА рдкрд╛рдп-"рдЖрдгрд┐ рддреЗ microSD рд╡рд░ рд▓рд┐рд╣рд╛:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz |
dd of=/dev/mmcblk0 bs=4M
# sync
рдЗрдореЗрдЬ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдЖрдореНрд╣реА рддреНрдпрд╛рддреВрди SWAP рд╡рд┐рднрд╛рдЬрди рдХрд╛рдвреВрди рдЯрд╛рдХреВ, рд╕рдВрдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдз рд╡реНрд╣реЙрд▓реНрдпреВрдордордзреНрдпреЗ рд░реВрдЯ рд╡рд┐рд╕реНрддреГрдд рдХрд░реВ рдЖрдгрд┐ SELinux рдордзреВрди рдореБрдХреНрдд рд╣реЛрдК. рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЛрдкреЗ рдЖрд╣реЗ: рд▓рд┐рдирдХреНрд╕рд╡рд░ рд░реВрдЯрдЪреА рдПрдХ рдкреНрд░рдд рддрдпрд╛рд░ рдХрд░рд╛, рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреА рдордзреВрди рдкреНрд░рдердо (/рдмреВрдЯ) рд╡рдЧрд│рддрд╛ рд╕рд░реНрд╡ рд╡рд┐рднрд╛рдЬрдиреЗ рд╣рдЯрд╡рд╛, рдирд╡реАрди рд░реВрдЯ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЙрдкреАрдордзреВрди рдкрд░рдд рдХрд░рд╛.
рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдВрдЪреЗ рдЙрджрд╛рд╣рд░рдг (рдЧрдВрднреАрд░ рдХрдиреНрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ)
# 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 рдореВрд▓реНрдп рдмрджрд▓рддреЛ, рдЬреЗ Linux рд╡рд░реАрд▓ blkid рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реВрди рд╢реЛрдзрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ):
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
рдЖрдореНрд╣реА рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреАрдЪреА тАЬрд░рд╛рд╕реНрдкрдмреЗрд░реАтАЭ рдордзреНрдпреЗ рдкреБрдирд░реНрд░рдЪрдирд╛ рдХрд░рддреЛ, рддреЗ рд▓рд╛рдБрдЪ рдХрд░рддреЛ рдЖрдгрд┐ ssh (рд░реВрдЯ/рд╕реЗрдВрдЯреЛрд╕) рджреНрд╡рд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рддреЛ.
2. CentOS рд╕реЗрдЯ рдХрд░рдгреЗ
рдкрд╣рд┐рд▓реНрдпрд╛ рддреАрди рдЕрдЪрд▓ рд╣рд╛рд▓рдЪрд╛рд▓реА: рдкрд╛рд╕рд╡рд╛рдб, yum -y рдЕрджреНрдпрдпрд╛рд╡рдд, рд░рд┐рдмреВрдЯ.
рдЖрдореНрд╣реА рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рджреЗрддреЛ рдиреЗрдЯрд╡рд░реНрдХ:
# 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, рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдиреЗ рдкреВрд░реНрд╡реА рддрдпрд╛рд░ рдХреЗрд▓реЗ. рдореНрд╣рдгреВрди, рдирд┐рд░рд╛рдХрд░рдгрд╛рдд рд╕рдорд╕реНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛. рд╡рд╛рдкрд░рд╛ systemd- рдирд┐рд░рд╛рдХрд░рдг рдЖрдореНрд╣реА рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.
рдЖрдореНрд╣реА "рдЕрдирд╛рд╡рд╢реНрдпрдХ" рдХрд╛рдвреВрди рдЯрд╛рдХрддреЛ, 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
рдХреЛрдгрд╛рд▓рд╛ рдЧрд░рдЬ рдЖрд╣реЗ рдХреНрд░реЛрди рдЖрдгрд┐ рдЕрдВрдЧрднреВрдд рдХреЛрдгрд╛рд▓рд╛ рдкрдЪрдд рдирд╛рд╣реА
# 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"
"рд░рд╛рд╕реНрдкрдмреЗрд░реА" рд╡рд░ рд╡реЗрд│реЗрдЪреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╣реА рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ. рд░реАрдмреВрдЯ рдХреЗрд▓реНрдпрд╛рд╡рд░ рдШрдбреНрдпрд╛рд│рд╛рдЪреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХреНрд╖рдорддрд╛ рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛рд╕рд╛рдареА рдПрдХ рдЕрддрд┐рд╢рдп рдЪрд╛рдВрдЧрд▓рд╛ рдЖрдгрд┐ рд╡реЗрдЧрд╡рд╛рди рдбрд┐рдорди рдЖрд╣реЗ рдХрд╛рд▓реНрдкрдирд┐рдХ - рдЖрдзреАрдЪ рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕реБрд░реВ рд╣реЛрддреЗ. рддреБрдореНрд╣реА 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
рдЯрд╛рдЗрдо рдЭреЛрди рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд╡рд╛рдкрд░реВ рдпреБрдХреНрддреА. рдЖрдордЪреЗ рдзреНрдпреЗрдп 5GHz рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реЗ рд╡рд╛рдп-рдлрд╛рдп рд░рд╛рдЙрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╣реЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЖрдореНрд╣реА рдЖрд╢реНрдЪрд░реНрдпрд╛рдВрд╕рд╛рдареА рдЖрдЧрд╛рдК рддрдпрд╛рд░реА рдХрд░реВ рдирд┐рдпрд╛рдордХ:
# yum info crDA
рд╕рд╛рд░рд╛рдВрд╢: 802.11 рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧрд╕рд╛рдареА рдирд┐рдпрд╛рдордХ рдЕрдиреБрдкрд╛рд▓рди рдбрд┐рдорди
рд╣реЗ рд╡рд╛рдИрдЯ рдбрд┐рдЭрд╛рдЗрди, рдЯрд╛рдЗрдо рдЭреЛрдирд╡рд░ рджреЗрдЦреАрд▓ рдЖрдзрд╛рд░рд┐рдд, 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 рдЕреЕрдб-рдСрди
рд╡рд░ рд╕рд╛рдВрдЧрд┐рддрд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╡рд░ "рд╡реНрд╣реЕрдирд┐рд▓рд╛" рд╕реЗрдВрдЯреЛрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрдкреВрд░реНрдг рд╕реВрдЪрдирд╛ рдорд╛рдирд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрд╕рд╛ рдкреАрд╕реА рдЕрд╕реЗрд▓ рдЬреЛ (рдкреБрдиреНрд╣рд╛) 10 рд╕реЗрдХрдВрджрд╛рдВрдкреЗрдХреНрд╖рд╛ рдХрдореА рд╡реЗрд│рд╛рдд рдмреВрдЯ рд╣реЛрдИрд▓, 15 рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕рдкреЗрдХреНрд╖рд╛ рдХрдореА RAM рдЖрдгрд┐ 1.5 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреА рд╡рд╛рдкрд░реЗрд▓ (рдЕрдкреВрд░реНрдг/рдмреВрдЯрдореБрд│реЗ 1 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯрдкреЗрдХреНрд╖рд╛ рдХрдореА, рдкрдг рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рд╕рд╛рдВрдЧреВрдпрд╛).
рдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рд╡рд╛рдп-рдлрд╛рдп рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рдирдХ CentOS рд╡рд┐рддрд░рдгрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдХрд┐рдВрдЪрд┐рдд рд╡рд╛рдврд╡рд╛рд╡реА рд▓рд╛рдЧреЗрд▓. рд╕рд░реНрд╡рдкреНрд░рдердо, рдмрд┐рд▓реНрдЯ-рдЗрди рд╡рд╛рдп-рдлрд╛рдп рдЕреЕрдбреЙрдкреНрдЯрд░рдЪрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ (рдлрд░реНрдорд╡реЗрдЕрд░) рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВрдпрд╛. рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдореБрдЦреНрдпрдкреГрд╖реНрда рдореНрд╣рдгрддреЗ:
рд░рд╛рд╕реНрдкрдмреЗрд░реА 3B рдЖрдгрд┐ 3B+ рд╡рд░ рд╡рд╛рдпрдлрд╛рдп
Raspberry PI 3B/3B+ рдлрд░реНрдорд╡реЗрдЕрд░ рдлрд╛рдпрд▓реА CentOS рдкреНрд░реЛрдЬреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдирд╛рд╣реА. рд╕рдорд╕реНрдпрд╛ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдлрд░реНрдорд╡реЗрдЕрд░ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд╛рдпрдлрд╛рдп рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рд▓реЗрдЦ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.
CentOS рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдЬреЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрд╣реЗ рддреЗ рд╡реИрдпрдХреНрддрд┐рдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╛рд╣реА. рдЖрдореНрд╣реА CentOS рдордзреАрд▓ рд╡рд┐рддрд░рдг рд╡рд╛рдп-рдлрд╛рдп рдлрд░реНрдорд╡реЗрдЕрд░рд▓рд╛ рдмреНрд░реЙрдбрдХреЙрдо рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рдп-рдлрд╛рдп рдлрд░реНрдорд╡реЗрдЕрд░рдиреЗ рдмрджрд▓рддреЛ (рддреНрдпрд╛рдЪ рдмрд╛рдпрдирд░реА рдмреНрд▓реЙрдмреНрд╕рдЪрд╛ рддрд┐рд░рд╕реНрдХрд╛рд░ рдХрд░рддрд╛рдд...). рд╣реЗ, рд╡рд┐рд╢реЗрд╖рддрдГ, рддреБрдореНрд╣рд╛рд▓рд╛ рдНрдХреНрд╕реЗрд╕ рдкреЙрдЗрдВрдЯ рдореЛрдбрдордзреНрдпреЗ рдПрд╕реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдИрд▓.
рд╡рд╛рдп-рдлрд╛рдп рдлрд░реНрдорд╡реЗрдЕрд░ рдЕрдкрдЧреНрд░реЗрдбрдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдореЙрдбреЗрд▓ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рдлрд░реНрдорд╡реЗрдЕрд░ рдЖрд╡реГрддреНрддреА рд╢реЛрдзрд╛:
# 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/XNUMX/XNUMX рдЖрд╣реЗ рдЖрдгрд┐ рдЦрд╛рд▓реАрд▓ рд╕рдВрдЦреНрдпрд╛рдВрдЪрд╛ рд╕рдВрдЪ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛: 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
рдкрд░рд┐рдгрд╛рдореА рд╡рд╛рдп-рдлрд╛рдп рдЕрдбреЕрдкреНрдЯрд░ рдлрд░реНрдорд╡реЗрдЕрд░ рдлрд╛рдпрд▓реА рдХреЙрдкреА рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд рдЖрдгрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд тАЬрд░рд╛рд╕реНрдкрдмреЗрд░реАтАЭ рдиреЗ рдмрджрд▓рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд /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/XNUMX/XNUMX.
рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ 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 - рдПрдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦрд╛рдЪрд╛ рд╡рд┐рд╖рдп рдЖрдгрд┐ рдпреЗрдереЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА.
рд░рд╛рд╕реНрдкрдмреЗрд░реАрдЪрд╛ рд╡рд╛рдп-рдлрд╛рдп рдЗрдВрдЯрд░рдлреЗрд╕(рдЪреЗ) рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдВрдЧрднреВрдд рдЗрдерд░рдиреЗрдЯ рдЕрдбреЕрдкреНрдЯрд░ (eth0) рдмрд╛рд╣реНрдп рдЖрд╣реЗ. рдЪрд▓рд╛ рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд▓рд╛ рд╕реНрдерд┐рд░рдкрдгреЗ рдХреНрд░рдорд╛рдВрдХ рджреЗрдК, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: 192.168.0.0/24. рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрддреНрддрд╛: 192.168.0.1. DHCP рд╕рд░реНрд╡реНрд╣рд░ рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХ (рдЗрдВрдЯрд░рдиреЗрдЯ) рд╡рд░ рдХрд╛рд░реНрдп рдХрд░реЗрд▓.
рд╕рдорд╛рдВрддрд░ рдЧреЛрдВрдзрд│ (рдЧреЗрдп рд╡рд┐рд╖рдпрд╛рдВрддрд░)рд▓реЗрдирд╛рд░реНрдЯ рдкреЙрдЯрд░рд┐рдВрдЧрдиреЗ рд╕реНрд╡рддрдГрдЪрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ systemd рдЦреБрдк рдЫрд╛рди. рдпрд╛ systemd рдЗрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдЗрддрдХреНрдпрд╛ рд▓рд╡рдХрд░ рд▓рд╛рдБрдЪ рдХрд░рддрд╛рдд рдХреА рддреНрдпрд╛рдВрдирд╛ рд░реЗрдлрд░реАрдЪреНрдпрд╛ рд╢рд┐рдЯреНрдЯреАрдЪреНрдпрд╛ рдзрдХреНрдХреНрдпрд╛рддреВрди рд╕рд╛рд╡рд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрд│ рдорд┐рд│рдд рдирд╛рд╣реА, рдЕрдбрдЦрд│рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪрд╛ рдЕрдбрдерд│рд╛ рдорд╛рд░реНрдЧ рд╕реБрд░реВ рди рдХрд░рддрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛рдЪ рдкрдбрддрд╛рдд.
рдкрд░рдВрддреБ рдЧрдВрднреАрд░рдкрдгреЗ, рд╕рд┐рд╕реНрдЯреАрдордб рдУрдПрд╕рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рд▓рд╛рдБрдЪ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдЖрдХреНрд░рдордХ рд╕рдорд╛рдВрддрд░реАрдХрд░рдг рд╣рд╛ рдЕрдиреБрднрд╡реА рдЕрдиреБрдХреНрд░рдорд┐рдХ рдПрд▓рдПрд╕рдмреА рддрдЬреНрдЮрд╛рдВрд╕рд╛рдареА рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ "рдЧрд╛рдврд╡ рдкреВрд▓" рдЖрд╣реЗ. рд╕реБрджреИрд╡рд╛рдиреЗ, рдпрд╛ "рд╕рдорд╛рдВрддрд░ рдЕрдирд╛рдЧреЛрдВрджреА" рдордзреНрдпреЗ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд╛ рдЖрдгрдгреЗ рд╕реЛрдкреЗ рд╣реЛрддреЗ, рдЬрд░реА рдиреЗрд╣рдореАрдЪ рд╕реНрдкрд╖реНрдЯ рдирд╕рддреЗ.
рдЖрдореНрд╣реА рд╕реНрдерд┐рд░ рдирд╛рд╡рд╛рдВрд╕рд╣ рджреЛрди рдЖрднрд╛рд╕реА рдмреНрд░рд┐рдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рддреЛ: рд▓реЗрди ╨╕ рд╡реЕрди. рдЖрдореНтАНрд╣реА рд╡рд╛рдп-рдлрд╛рдп рдЕрдбреЕрдкреНтАНрдЯрд░рд▓рд╛ рдкрд╣рд┐рд▓реНтАНрдпрд╛рд▓рд╛ рдЖрдгрд┐ 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=рд╣реЛрдп рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА sysctl рджреНрд╡рд╛рд░реЗ рдХрд░реНрдирд▓рд▓рд╛ рдЗрд╢рд╛рд░рд╛ рджреЗрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рджреВрд░ рдХрд░рддреЗ.
MACA рдкрддреНрддрд╛ = рдЪрд▓рд╛ рдЕрдирдХрдореЗрдВрдЯ рдХрд░реВ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдмрджрд▓реВ.
рдкреНрд░рдердо рдЖрдкрдг 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 рд╣рдЯрд╡рддреЛ, рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░реАрдмреВрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рддреЛ (рдЖрдпрдкреА рдкрддреНрддрд╛ рдмрд╣реБрдзрд╛ рдмрджрд▓реЗрд▓):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5.DNSMASQ
рд╡рд╛рдп-рдлрд╛рдп рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯ рдмрдирд╡рдгреНрдпрд╛рдХрд░рддрд╛, рдХрд╛рд╣реА рдЧреЛрдб рдЬреЛрдбреАрд▓рд╛ рдорд╛рдЧреЗ рдЯрд╛рдХрдд рдирд╛рд╣реА dnsmasq + рд╣реЛрд╕реНрдЯреЕрдкрдбреА рдЕрджреНрдпрд╛рдк рддреЗ рд╢реЛрдзреВрди рдХрд╛рдврд▓реЗ рдирд╛рд╣реА. рдорд╛рдЭреНрдпрд╛ рдорддреЗ.
рдЬрд░ рдХреЛрдгреА рд╡рд┐рд╕рд░рд▓реЗ рдЕрд╕реЗрд▓ рддрд░...
рдЪрд▓рд╛ 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
рдпреЗрдереЗ "рдЬрд╛рджреВ" рдкреЕрд░рд╛рдореАрдЯрд░рдордзреНрдпреЗ рдЖрд╣реЗ рдмрд╛рдЗрдВрдб-рдбрд╛рдпрдиреЕрдорд┐рдХ, рдЬреЗ dnsmasq рдбрд┐рдордирд▓рд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рджрд┐рд╕реЗрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддреЗ рдЗрдВрдЯрд░рдлреЗрд╕ = lan, рдЖрдгрд┐ рд╕реБрд░реБрд╡рд╛рддреАрдирдВрддрд░ рдЧрд░реНрд╡рд┐рд╖реНрда рдПрдХрд╛рдХреАрдкрдгрд╛рдореБрд│реЗ рдмреЗрд╣реЛрд╢ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдореЕрдЬрд┐рдХ рд╣реЛрд╕реНрдЯреЕрдкрдбреА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди. рдиреЗрдордХреНрдпрд╛ рдпрд╛ рдЦрдЬрд┐рдирджрд╛рд░ рдУрд│реАрдВрдЪреНрдпрд╛ рд╢реЛрдзрд╛рдд рдХреЛрдгреАрддрд░реА рд╣рд╛ рд▓реЗрдЦ рд╡рд╛рдЪрдд рдЕрд╕реЗрд▓ рдпрд╛рдд рдорд▓рд╛ рд╢рдВрдХрд╛ рдирд╛рд╣реА.
hostapd рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣рд╛рд▓рд╛ "рдПрдХрд░реВрдкрддрд╛ рд╕рдорд╕реНрдпрд╛" рджреВрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрдВрдЧрднреВрдд Wi-Fi рдЕрдбреЕрдкреНрдЯрд░ wlan0 рдЕрддрд┐рд░рд┐рдХреНрдд USB Wi-Fi рдЙрдкрдХрд░рдгреЗ рдЬреЛрдбрддрд╛рдирд╛ рддреНрдпрд╛рдЪреЗ рдирд╛рд╡ wlan1 рдордзреНрдпреЗ рд╕рд╣рдЬрдкрдгреЗ рдмрджрд▓реВ рд╢рдХрддреЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдкреНрд░рдХрд╛рд░реЗ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдирд╛рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВ: рдЖрдореНрд╣реА (рд╡рд╛рдпрд░рд▓реЗрд╕) рдЕрдбреЕрдкреНрдЯрд░реНрд╕рд╕рд╛рдареА рдЕрдирдиреНрдп рдирд╛рд╡реЗ рдЖрдгреВ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ 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 - рд╣реЗ рдЕрдВрдЧрднреВрдд рд╡рд╛рдп-рдлрд╛рдп рдЖрд╣реЗ. рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░реАрдмреВрдЯ рдХрд░рддреЛ.
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛:
# 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.
рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдордзреНрдпреЗ рд╣реЛрд╕реНрдЯреЕрдкрдбреА рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ. рдЬрд░ рддреБрдореНрд╣реА рдкреНрд░рдорд╛рдгрд┐рдд рдЧреЛрд╖реНрдЯ рдХреЗрд▓реА (systemctl enable hostapd), рддрд░ рдкреБрдврдЪреНрдпрд╛ рд░реАрдмреВрдЯрдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рджрд╛рдирд╛рд╕рд╣ "рд░рдХреНрддрд╛рдд рдлрд┐рд░рдгрд╛рд░рд╛ рд░рд╛рдХреНрд╖рд╕" рдорд┐рд│реЗрд▓.рдЗрдВрдЯрд░рдлреЗрд╕ wl0 рдЖрдврд│рд▓рд╛ рдирд╛рд╣реА" "рд╕рдорд╛рдВрддрд░ рдЕрдирд╛рдЧреЛрдВрджреА" рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА, hostapd рдХрд░реНрдирд▓рд▓рд╛ рд╡рд╛рдпрд░рд▓реЗрд╕ рдЕрдбреЕрдкреНрдЯрд░ рд╕рд╛рдкрдбрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд╛рдиреЗ рд╕реБрд░реВ рдЭрд╛рд▓реЗ.
рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрд╛рдпрд╛рдВрдиреА рднрд░рд▓реЗрд▓реЗ рдЖрд╣реЗ: рдбрд┐рдорди (рдЕрдиреЗрдХ рдорд┐рдирд┐рдЯреЗ) рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╕рдХреНрддреАрдЪреНрдпрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддреЗрдкрд╛рд╕реВрди рддреЗ рджреБрд╕рд░реНтАНрдпрд╛ рдбрд┐рдордирдкрд░реНрдпрдВрдд рдЬреЗ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рдЖрдгрд┐ рд╣реЛрд╕реНрдЯрдкреЕрдб (рдкреБрдиреНрд╣рд╛) рд╕реБрд░реВ рдХрд░рддреЗ. рдЙрдкрд╛рдп рдЬреЛрд░рджрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рднрдпрд╛рдирдХ рдХреБрд░реВрдк рдЖрд╣реЗрдд. рдЖрдореНрд╣реА рдорджрддреАрд╕рд╛рдареА рдорд╣рд╛рди рд╡реНрдпрдХреНрддреАрд▓рд╛ рдХреЙрд▓ рдХрд░рддреЛ systemd рддреНрдпрд╛рдЪреНрдпрд╛ "рд▓рдХреНрд╖реНрдпреЗ" рдЖрдгрд┐ "рдХрд╛рд░реНрдпреЗ" рдЖрдгрд┐ "рдЕрд╡рд▓рдВрдмрди" рд╕рд╣.
рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓ рдпреЗрдереЗ рдХреЙрдкреА рдХрд░рд╛ /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
рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдлрд╛рдИрд▓рдЪреА рдЬрд╛рджреВ рдирд╡реАрди рд▓рдХреНрд╖реНрдп - wl0 рдЗрдВрдЯрд░рдлреЗрд╕рд╢реА hostapd рдЪреНрдпрд╛ рдбрд╛рдпрдиреЕрдорд┐рдХ рдмрд╛рдЗрдВрдбрд┐рдВрдЧрдордзреНрдпреЗ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рджрд┐рд╕рддреЛ, рддреЗрд╡реНрд╣рд╛ рдбрд┐рдорди рд╕реБрд░реВ рд╣реЛрддреЛ; рдЬреЗрд╡реНрд╣рд╛ рддреЗ рдЕрджреГрд╢реНрдп рд╣реЛрддреЗ, рддреЗрд╡реНрд╣рд╛ рддреЗ рдерд╛рдВрдмрддреЗ. рдЖрдгрд┐ рд╣реЗ рд╕рд░реНрд╡ рдСрдирд▓рд╛рдЗрди рдЖрд╣реЗ - рд╕рд┐рд╕реНрдЯрдо рд░реАрдмреВрдЯ рди тАЛтАЛрдХрд░рддрд╛. рдпреВрдПрд╕рдмреА рд╡рд╛рдп-рдлрд╛рдп рдЕреЕрдбреЙрдкреНрдЯрд░рд▓рд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реАрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛рдирд╛ рд╣реЗ рддрдВрддреНрд░ рд╡рд┐рд╢реЗрд╖рддрдГ рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓.
рдЖрддрд╛ рдЖрдкрдг рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛:
# systemctl enable hostapd
# reboot
7. IPTABLES
"рдХрд╛рдп???" ┬й рд╣реЛрдп, рд╣реЛрдп! рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА systemd. рдирд╡реАрди рдлреЕрдиреНрдЧрд▓реНрдб рдХреЙрдореНрдмрд┐рди рдирд╛рд╣реАрдд (рдлреЙрд░реНрдордордзреНрдпреЗ рдлрд╛рдпрд░рд╡рд╛рд▓рд▓реНрдб), рдЬреЗ рд╢реЗрд╡рдЯреА рд╕рдорд╛рди рдЧреЛрд╖реНрдЯ рдХрд░рддрд╛рдд.
рдЪрд╛рдВрдЧрд▓реЗ рдЬреБрдиреЗ рд╡рд╛рдкрд░реВ 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 рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЧрдорд╛рд╡рддреЛ. рд╣реЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗ, рдЖрдореНрд╣реА рдПрдХ рд╡рд╛рдп-рдлрд╛рдп рд░рд╛рдЙрдЯрд░ рдмрдирд╡рд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ "рдЗрдВрдЯрд░рдиреЗрдЯрджреНрд╡рд╛рд░реЗ" рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрд╣реЗ - рдЖрддрд╛ рдлрдХреНрдд "рдУрд╡реНрд╣рд░ рдж рдПрдЕрд░". рдЖрдореНрд╣реА рдкреНрд░рджрд╛рддреНрдпрд╛рдЪреА рдЗрдерд░рдиреЗрдЯ рдХреЗрдмрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рд╕рд░реНрдлрд┐рдВрдЧ рд╕реБрд░реВ рдХрд░рддреЛ!
8. рдмреЛрдирд╕: +2,4GHz
рдЬреЗрд╡реНрд╣рд╛ рдореА рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рд╡рд╛рдкрд░реВрди рдкрд╣рд┐рд▓реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░рд╛рдЙрдЯрд░ рдПрдХрддреНрд░ рдХреЗрд▓реЗ, рддреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдорд╛рдЭреНрдпрд╛ рдШрд░рд╛рддреАрд▓ рдЕрдиреЗрдХ рдЧреЕрдЭреЗрдЯ рд╕рд╛рдкрдбрд▓реЗ рдЬреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдп-рдлрд╛рдп рдбрд┐рдЭрд╛рдЗрди рдорд░реНрдпрд╛рджрд╛рдВрдореБрд│реЗ тАЬрд░рд╛рд╕реНрдкрдмреЗрд░реАтАЭ рдЕрдЬрд┐рдмрд╛рдд рдкрд╛рд╣реВ рд╢рдХрдд рдирд╛рд╣реАрдд. 802.11b/g/n рдордзреНтАНрдпреЗ рдХрд╛рдо рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА рд░рд╛рдЙрдЯрд░рдЪреА рдкреБрдиреНтАНрд╣рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдЦреЗрд│реА рдирд╛рд╣реА, рдХрд╛рд░рдг рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд "рд╣рд╡реЗрд╡рд░" рдХрдорд╛рд▓ рдЧрддреА 40 Mbit рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдирд╛рд╣реА рдЖрдгрд┐ рдорд╛рдЭрд╛ рдЖрд╡рдбрддрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░рджрд╛рддрд╛ рдорд▓рд╛ 100 (рдХреЗрдмрд▓рджреНрд╡рд╛рд░реЗ) рдСрдлрд░ рдХрд░рддреЛ.
рдЦрд░рдВ рддрд░, рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдЖрдзреАрдЪ рд╢реЛрдзрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ: 2,4 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЭрдЪреНрдпрд╛ рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрд╡рд░ рдХрд╛рд░реНрдпрд░рдд рджреБрд╕рд░рд╛ рд╡рд╛рдп-рдлрд╛рдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рджреБрд╕рд░рд╛ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреВ. рдЬрд╡рд│рдЪреНрдпрд╛ рд╕реНрдЯреЙрд▓рд╡рд░ рдореА рдкрд╣рд┐рд▓реА рдирд╛рд╣реА рддрд░ рджреБрд╕рд░реА USB 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
рдЖрдореНрд╣реА рдирд╡реАрди рд╡рд╛рдп-рдлрд╛рдп рдЗрдВрдЯрд░рдлреЗрд╕рдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╡реЗрдЧрд│реНрдпрд╛ 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 рд╡рд╛рдп-рдлрд╛рдп рдЕреЕрдбреЙрдкреНрдЯрд░рдЪреНрдпрд╛ рдореЙрдбреЗрд▓рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдмреЕрдирд▓ рдХреЙрдкреА/рдкреЗрд╕реНрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдК рд╢рдХрддреЗ.
рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓ рдпреЗрдереЗ рдХреЙрдкреА рдХрд░рд╛ /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
рдЗрддрдХрдВрдЪ! тАЬрд╢рд┐рдЯреНрдЯреАтАЭ рдЖрдгрд┐ тАЬрд░рд╛рд╕реНрдкрдмреЗрд░реАтАЭ рд╕реНрд╡рддрдГрдЪ рдЦреЗрдЪрд╛, рдЖрдкрд▓реНрдпрд╛ рд╕рднреЛрд╡рддрд╛рд▓рдЪреНрдпрд╛ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХрдХрдбреЗ рдкрд╣рд╛.
рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдпреВрдПрд╕рдмреА рд╡рд╛рдп-рдлрд╛рдп рдЕреЕрдбреЙрдкреНрдЯрд░рдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрдмрджреНрджрд▓ рдЖрдгрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдЪреНрдпрд╛ рд╡реАрдЬ рдкреБрд░рд╡рдареНрдпрд╛рдмрджреНрджрд▓ рдЪреЗрддрд╛рд╡рдгреА рджреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ. рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ "рд╣реЙрдЯ рд╡реНрд╣рд┐рд╕рд▓" рдХрдзреАрдХрдзреА рдЕрд▓реНрдкрдХрд╛рд▓реАрди рд╡рд┐рджреНрдпреБрдд рд╕рдорд╕реНрдпрд╛рдВрдореБрд│реЗ "рд░рд╛рд╕реНрдкрдмреЗрд░реА рдлреНрд░реАрдЭрд┐рдВрдЧ" рд╣реЛрдК рд╢рдХрддреЗ.
рд╕реНрддреНрд░реЛрдд: www.habr.com