Raspberry Pi + CentOS = Wi-Fi рд╣рдЯрд╕реНрдкрдЯ (рд╡рд╛ рд░рд╛рддреЛ рдЯреЛрдкреА рднрдПрдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░рд╛рдЙрдЯрд░)

Raspberry рдПрдХрд▓-рдмреЛрд░реНрдб PC рдорд╛ рдЖрдзрд╛рд░рд┐рдд Wi-Fi рдкрд╣реБрдБрдЪ рдмрд┐рдиреНрджреБрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдЫред рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рдпрд╕рдХреЛ рдЕрд░реНрде рд░рд╛рд╕реНрдкрдмреЗрд░реАрдХреЛ рдореВрд▓ рд░рд╛рд╕реНрдкрдмрд┐рдпрди рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рд╣реЛред

RPM-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдЕрдиреБрдпрд╛рдпреА рднрдПрдХреЛрд▓реЗ, рдо рдпреЛ рд╕рд╛рдиреЛ рдЪрдорддреНрдХрд╛рд░рдмрд╛рдЯ рдкрд╛рд╕ рд╣реБрди рд╕рдХреНрджрд┐рди рд░ рдпрд╕рдорд╛ рдореЗрд░реЛ рдкреНрдпрд╛рд░реЛ CentOS рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрджрд┐рдиред

рд▓реЗрдЦрд▓реЗ CentOS рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордорд╛ рдЖрдзрд╛рд░рд┐рдд Raspberry Pi 5 Model B+ рдмрд╛рдЯ 3GHz/AC Wi-Fi рд░рд╛рдЙрдЯрд░ рдмрдирд╛рдЙрди рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдорд╛рдирдХ рддрд░ рдереЛрд░реИ рдЬреНрдЮрд╛рдд рдЪрд╛рд▓рд╣рд░реВ рд╣реБрдиреЗрдЫрдиреН, рд░ рдмреЛрдирд╕рдХреЛ рд░реВрдкрдорд╛ - рд░рд╛рд╕реНрдкрдмреЗрд░реАрдорд╛ рдЕрддрд┐рд░рд┐рдХреНрдд Wi-Fi рдЙрдкрдХрд░рдгрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░, рдпрд╕рд▓рд╛рдИ рдПрдХреИ рд╕рд╛рде рдзреЗрд░реИ рдореЛрдбрд╣рд░реВрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ (2,4+5GHz)ред

Raspberry Pi + CentOS = Wi-Fi рд╣рдЯрд╕реНрдкрдЯ (рд╡рд╛ рд░рд╛рддреЛ рдЯреЛрдкреА рднрдПрдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░рд╛рдЙрдЯрд░)
(рд╕реНрд╡рддрдиреНрддреНрд░ рдЙрдкрд▓рдмреНрдз рдЫрд╡рд┐рд╣рд░реВрдХреЛ рдорд┐рд╢реНрд░рдг)

рдХреЗрд╣реА рдмреНрд░рд╣реНрдорд╛рдгреНрдбреАрдп рд╡реЗрдЧрд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрди рднрдиреЗрд░ рддреБрд░реБрдиреНрддреИ рдиреЛрдЯ рдЧрд░реМрдВред рдо рд╣рд╛рд╡рд╛рдорд╛ рдореЗрд░реЛ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдмрд╛рдЯ рдЕрдзрд┐рдХрддрдо 100 Mbps рдирд┐рдЪреЛрдб рдЧрд░реНрдЫреБ, рд░ рдпрд╕рд▓реЗ рдореЗрд░реЛ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдкреНрд░рджрд╛рдпрдХрдХреЛ рдЧрддрд┐рд▓рд╛рдИ рд╕рдореЗрдЯреНрдЫред рддрдкрд╛рдИрд▓рд╛рдИ рдпрд╕реНрддреЛ рд╕реБрд╕реНрдд рдПрд╕реА рдХрд┐рди рдЪрд╛рд╣рд┐рдиреНрдЫ, рдпрджрд┐ рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ рддрдкрд╛рдИрд▓реЗ N рдХреЛ рд╕рд╛рде рдкрдирд┐ рдЖрдзрд╛ рдЧрд┐рдЧрд╛рдмрд┐рдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ? рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреИрд▓рд╛рдИ рдпреЛ рдкреНрд░рд╢реНрди рд╕реЛрдзреНрдиреБрднрдПрдХреЛ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдЖрда рдмрд╛рд╣реНрдп рдПрдиреНрдЯреЗрдирд╛рдХреЛ рд╕рд╛рде рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╛рдЙрдЯрд░ рдХрд┐рдиреНрди рд╕реНрдЯреЛрд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред

0. рддрдкрд╛рдИрд▓рд╛рдИ рдХреЗ рдЪрд╛рд╣рд┐рдиреНрдЫ

  • рд╡рд╛рд╕реНрддрд╡рдорд╛, "рд░рд╛рд╕реНрдкрдмреЗрд░реА рдЙрддреНрдкрд╛рджрди" рдЖрдлреИ рдХреНрдпрд╛рд▓рд┐рдмрд░рдХреЛ рд╣реЛ: Pi 3 рдореЛрдбреЗрд▓ B+ (рдкреНрд░рддрд┐рд╖реНрдард┐рдд 5GHz рдЧрддрд┐ рд░ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди);
  • рд░рд╛рдореНрд░реЛ рдорд╛рдЗрдХреНрд░реЛрдПрд╕рдбреА >= 4GB;
  • рд▓рд┐рдирдХреНрд╕ рд░ рдорд╛рдЗрдХреНрд░реЛрдПрд╕рдбреА рд░рд┐рдбрд░/рд▓реЗрдЦрдХрдХреЛ рд╕рд╛рде рдХрд╛рд░реНрдпрд╕реНрдерд╛рди;
  • рд▓рд┐рдирдХреНрд╕рдорд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реАрдкрд╣рд░реВрдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛, рд▓реЗрдЦ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЧреАрдХрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛ;
  • рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░ рд▓рд┐рдирдХреНрд╕ рдмреАрдЪрдХреЛ рд╡рд╛рдпрд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ (eth0) рдЬрдбрд╛рди, рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ DHCP рд╕рд░реНрднрд░ рд░ рджреБрдмреИ рдпрдиреНрддреНрд░рд╣рд░реВрдмрд╛рдЯ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдкрд╣реБрдБрдЪред

рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ рдорд╛ рдПрдХ рд╕рд╛рдиреЛ рдЯрд┐рдкреНрдкрдгреАред "рдХреБрдиреИ рдкрд╣рд┐рд▓реЗ рдЖрдпреЛ, рдЕрдгреНрдбрд╛ рд╡рд╛..." рдЗрдиреНрдЯрд░рдиреЗрдЯ рдкрд╣реБрдБрдЪ рдЙрдкрдХрд░рдгрдХреЛ рдЕрднрд╛рд╡рдорд╛ Wi-Fi рд░рд╛рдЙрдЯрд░ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ? рдпрд╕ рдордиреЛрд░рдЮреНрдЬрдирд╛рддреНрдордХ рдЕрднреНрдпрд╛рд╕рд▓рд╛рдИ рд▓реЗрдЦрдХреЛ рджрд╛рдпрд░рд╛ рдмрд╛рд╣рд┐рд░ рдЫреЛрдбреМрдВ рд░ рдмрд╕ рдорд╛рдиреМрдВ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рддрд╛рд░рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ рд░ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдкрд╣реБрдБрдЪ рдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореАрд▓рд╛рдИ "рд░рд╛рд╕реНрдкрдмреЗрд░реА" рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдердк рдЯрд┐рднреА рд░ рд╣реЗрд░рдлреЗрд░рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрдиред

1. CentOS рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреГрд╣ рдкреГрд╖реНрда

рдпреЛ рд▓реЗрдЦ рд▓реЗрдЦреНрдиреЗ рд╕рдордпрдорд╛, рдпрдиреНрддреНрд░рдорд╛ CentOS рдХреЛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рдВрд╕реНрдХрд░рдг 32-bit рд╣реЛред рдХрддреИ рд╡рд░реНрд▓реНрдб рд╡рд╛рдЗрдб рд╡реЗрдмрдорд╛ рдореИрд▓реЗ 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 in рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реН /mnt/etc/selinux/config:

SELINUX=disabled

рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджреИ /mnt/etc/fstab, рдпрд╕рдорд╛ рд╡рд┐рднрд╛рдЬрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╡рд▓ рджреБрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВ рдЫреЛрдбреЗрд░: boot (/boot, рдХреБрдиреИ рдкрд░рд┐рд╡рд░реНрддрди рдЫреИрди) рд░ root (рд╣рд╛рдореА UUID рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫреМрдВ, рдЬреБрди рд▓рд┐рдирдХреНрд╕рдорд╛ 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 рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рдкрд╣рд┐рд▓реЛ рддреАрди рдЕрдЯрд▓ рдЖрдиреНрджреЛрд▓рдирд╣рд░реВ: passwd, 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- рд╣рд▓ рд╣рд╛рдореА рдЧрд░реНрджреИрдиреМред

рд╣рд╛рдореА "рдЕрдирд╛рд╡рд╢реНрдпрдХ" рд╣рдЯрд╛рдЙрдБрдЫреМрдВ, рдорд░реНрдордд рдЧрд░реНрдЫреМрдВ рд░ рдУрдПрд╕рдХреЛ рд▓реЛрдбрд┐рдЩ рдЧрддрд┐ рдмрдврд╛рдЙрдБрдЫреМрдВ:

# 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 рд░ рдХрд╕рд▓реЗ рдмрд┐рд▓реНрдЯ-рдЗрди рдкрдЪреНрджреИрди systemd рдЯрд╛рдЗрдорд░, рдХреЗ рдЫреБрдЯреЗрдХреЛ рдЫ рднрдиреЗрд░ рд╕реНрдерд╛рдкрд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред / var / рд▓рдЧ- рд░ рдорд╛рд░реНрдлрдд рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдЬрд░реНрдирд▓рдХреЛрдЯреАред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд▓рдЧ рдЗрддрд┐рд╣рд╛рд╕ рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗ (рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдкреНрд░рдгрд╛рд▓реА рд╕реБрд░реБ рднрдПрдХреЛ рдХреНрд╖рдгрдмрд╛рдЯ рдорд╛рддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ):

# 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 рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрд╣рд░реВрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рд╣реБрдиреЗ Wi-Fi рд░рд╛рдЙрдЯрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рднрдПрдХреЛрд▓реЗ, рд╣рд╛рдореА рдЕрдЪрдореНрдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдЧреНрд░рд┐рдо рддрдпрд╛рд░реА рдЧрд░реНрдиреЗрдЫреМрдВред рдирд┐рдпрд╛рдордХ:

# 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 рдПрдб-рдЕрдирд╣рд░реВ

рдорд╛рдерд┐ рднрдирд┐рдПрдХреЛ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИрдорд╛ "рднреЗрдирд┐рд▓рд╛" CentOS рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ (рдкреБрдирдГ) резреж рд╕реЗрдХреЗрдиреНрдбрднрдиреНрджрд╛ рдХрдордорд╛ рдмреБрдЯ рдЧрд░реНрдиреЗ, резрел рдореЗрдЧрд╛рдмрд╛рдЗрдЯрднрдиреНрджрд╛ рдХрдо рд░реНрдпрд╛рдо рд░ рез.рел рдЧрд┐рдЧрд╛рдмрд╛рдЗрдЯ рдорд╛рдЗрдХреНрд░реЛрдПрд╕рдбреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ (рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЕрдкреВрд░реНрдг/рдмреБрдЯрдХреЛ рдХрд╛рд░рдг рез рдЧреАрдЧрд╛рдмрд╛рдЗрдЯрднрдиреНрджрд╛ рдХрдо, рддрд░ рдЗрдорд╛рдирджрд╛рд░ рднреМрдВ) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреАрд╕реАрдХреЛ рд╕рд╛рде рдЕрдиреНрддреНрдп рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдпрд╕ рдкреНрд░рдгрд╛рд▓реАрдорд╛ Wi-Fi рдкрд╣реБрдБрдЪ рдкреЛрдЗрдиреНрдЯ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдирдХ CentOS рд╡рд┐рддрд░рдгрдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВрд▓рд╛рдИ рдереЛрд░реИ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫред рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдирд┐рд░реНрдорд┐рдд Wi-Fi рдПрдбрд╛рдкреНрдЯрд░рдХреЛ рдбреНрд░рд╛рдЗрднрд░ (рдлрд░реНрдорд╡реЗрдпрд░) рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реМрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреГрд╣ рдкреГрд╖реНрда рднрдиреНрдЫ:

Raspberry 3B рд░ 3B+ рдорд╛ Wifi

Raspberry PI 3B/3B+ рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓рд╣рд░реВ CentOS рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рдЫреИрдиред рддрдкрд╛рдИрдВ рд╕рдорд╕реНрдпрд╛ рдмреБрдЭреНрди, рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд░ рд╡рд╛рдЗрдлрд╛рдЗ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдирд┐рдореНрди рд▓реЗрдЦрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

CentOS рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдХреЗ рдирд┐рд╖реЗрдзрд┐рдд рдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдирд┐рд╖реЗрдзрд┐рдд рдЫреИрдиред рд╣рд╛рдореА CentOS рдорд╛ рд╡рд┐рддрд░рдг Wi-Fi рдлрд░реНрдорд╡реЗрдпрд░рд▓рд╛рдИ Broadcom рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ (рддреА рдЙрд╣реА рдШреГрдгрд┐рдд рдмрд╛рдЗрдирд░реА рдмреНрд▓рдмрд╣рд░реВ...) рдмрд╛рдЯ рд╕рдореНрдмрдиреНрдзрд┐рдд рдПрдХрд╕рдБрдЧ рдмрджрд▓реНрдЫреМрдВред рдпрд╕рд▓реЗ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╣реБрдБрдЪ рдмрд┐рдиреНрджреБ рдореЛрдбрдорд╛ рдПрд╕реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫред

Wi-Fi рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдкрдЧреНрд░реЗрдбрдЙрдкрдХрд░рдг рдореЛрдбреЗрд▓ рд░ рд╣рд╛рд▓рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН:

# 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)ред

рд╣рд╛рд▓рдХреЛ Raspbian рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЕрд▓реНрдЫреА рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓реЗ рдЫрд╡рд┐рд▓рд╛рдИ рдорд╛рдЗрдХреНрд░реЛрдПрд╕рдбреАрдорд╛ рд▓реЗрдЦреНрди рд╕рдХреНрдЫрдиреН рд░ рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рдлрд░реНрдорд╡реЗрдпрд░рдХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓рд╣рд░реВ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╡рд╛ рддрдкрд╛рдЗрдБ рд▓рд┐рдирдХреНрд╕рдорд╛ рдЫрд╡рд┐рдХреЛ рдореВрд▓ рд╡рд┐рднрд╛рдЬрди рдорд╛рдЙрдиреНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХреЗ рдЪрд╛рд╣рд┐рдиреНрдЫ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

# 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/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 - рдЫреБрдЯреНрдЯреИ рд▓реЗрдЦрдХреЛ рд╡рд┐рд╖рдп рд░ рдпрд╣рд╛рдБ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред

рд░рд╛рд╕реНрдкрдмреЗрд░реАрдХреЛ Wi-Fi рдЗрдиреНрдЯрд░рдлреЗрд╕ (рд╣рд░реВ) рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╣реЛ, рд░ рдирд┐рд░реНрдорд┐рдд рдИрдерд░рдиреЗрдЯ рдПрдбрд╛рдкреНрдЯрд░ (eth0) рдмрд╛рд╣реНрдп рд╣реЛред рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХрд▓рд╛рдИ рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдирдореНрдмрд░ рдЧрд░реМрдВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐: 192.168.0.0/24ред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдареЗрдЧрд╛рдирд╛: 192.168.0.1ред DHCP рд╕рд░реНрднрд░рд▓реЗ рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХ (рдЗрдиреНрдЯрд░рдиреЗрдЯ) рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫред

рдирд╛рдордХрд░рдг рдПрдХрд░реВрдкрддрд╛ рд╕рдорд╕реНрдпрд╛ ╨╕ рдкреНрд░рд╕рд┐рджреНрдз рдЧреНрд╡рд╛рдЯреЗрдорд╛рд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ - рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╡рд┐рддрд░рдгрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд░ рд╕реЗрд╡рд╛рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рдЬреЛ рдХреЛрд╣реАрд▓рд╛рдИ рдкрд░реНрдЦрдиреЗ рджреБрдИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВред

рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЕрд░рд╛рдЬрдХрддрд╛ (рдЧреАрдд рд╡рд┐рд╖рдпрд╛рдВрддрд░)Lennart Pottering рд▓реЗ рдЖрдлреНрдиреИ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдХрд▓рди рдЧрд░реЗрдХреЛ рдЫ systemd рдзреЗрд░реИ рд░рд╛рдореНрд░реЛред рдпреЛ systemd рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рдпрддрд┐ рдЪрд╛рдБрдбреЛ рд╕реБрд░реВ рдЧрд░реНрджрдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ, рд░реЗрдлреНрд░реАрдХреЛ рд╕реАрдЯреАрдХреЛ рдЭрдЯрдХрд╛рдмрд╛рдЯ рдирд┐рдХреЛ рд╣реБрди рд╕рдордп рдирдкрд╛рдП, рдардХреНрдХрд░ рдЦрд╛рдП рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЕрд╡рд░реЛрдзрдХреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реБрд░реВ рдирдЧрд░реА рд╕реБрд░реБрдорд╛ рд▓рдбреНрдЫрдиреНред

рддрд░ рдЧрдореНрднреАрд░ рд░реВрдкрдорд╛, systemd OS рдХреЛ рд╕реБрд░реБрдорд╛ рд╕реБрд░реВ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рдЖрдХреНрд░рд╛рдордХ рд╕рдорд╛рдирд╛рдиреНрддрд░рдг рдЕрдиреБрднрд╡реА рдЕрдиреБрдХреНрд░рдорд┐рдХ LSB рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ "рдЧрдзрд╛ рдкреБрд▓" рд╣реЛред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рдпреЛ "рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЕрд░рд╛рдЬрдХрддрд╛" рдорд╛ рдХреНрд░рдо рд▓реНрдпрд╛рдЙрди рд╕рд░рд▓ рд╣реБрди рдЬрд╛рдиреНрдЫ, рдпрджреНрдпрдкрд┐ рд╕рдзреИрдВ рд╕реНрдкрд╖реНрдЯ рдЫреИрдиред

рд╣рд╛рдореА рд╕реНрдерд┐рд░ рдирд╛рдорд╣рд░реВрдХреЛ рд╕рд╛рде рджреБрдИ рднрд░реНрдЪреБрдЕрд▓ рдмреНрд░рд┐рдЬ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ: 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=рд╣реЛ рд░рд╛рдЙрдЯрд┐рдЩ рд╕рдХреНрд╖рдо рдЧрд░реНрди 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 рдореЗрдЯрд╛рдЙрдБрдЫреМрдВ, рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░рд┐рдмреБрдЯ рдЧрд░реНрдЫреМрдВ рд░ рдпрд╕рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд╣реБрдБрдЪ рдкрд╛рдЙрдБрдЫреМрдВ (IP рдареЗрдЧрд╛рдирд╛ рдкреНрд░рд╛рдпрдГ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ):

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

5.DNSMASQ

Wi-Fi рдкрд╣реБрдБрдЪ рдмрд┐рдиреНрджреБрд╣рд░реВ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рдХреЗрд╣рд┐ рдкрдирд┐ рдореАрдареЛ рдЬреЛрдбреАрд▓рд╛рдИ рд╣рд░рд╛рдЙрдБрджреИрди dnsmasq + рд╣реЛрд╕реНрдЯрд╛рдкреНрдб рдЕрдЭреИ рдкрддреНрддрд╛ рд▓рд╛рдЧреЗрдХреЛ рдЫреИрдиред рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛ред

рдпрджрд┐ рдХрд╕реИрд▓реЗ рдмрд┐рд░реНрд╕реЗрдХреЛ рдЫ рднрдиреЗ...рд╣реЛрд╕реНрдЯрд╛рдкреНрдб - рдпреЛ Wi-Fi рдПрдбреЗрдкреНрдЯрд░рд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрдиреЗ рдЪреАрдЬ рд╣реЛ (рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдпрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рднрд░реНрдЪреБрдЕрд▓рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдЦреНрдпрд╛рд▓ рд░рд╛рдЦреНрдЫред lan "рд░рд╛рд╕реНрдкрдмреЗрд░реА"), рд╡рд╛рдпрд░рд▓реЗрд╕ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрд▓рд╛рдИ рдЕрдзрд┐рдХреГрдд рд░ рджрд░реНрддрд╛ рдЧрд░реНрджрдЫред

dnsmasq - рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреНрдпрд╛рдХ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫ: рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВ, DNS рд╕рд░реНрднрд░рд╣рд░реВ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧреЗрдЯрд╡реЗ рд░ рд╕рдорд╛рди рдЖрдирдиреНрджрд╣рд░реВред

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 рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВред рдорд▓рд╛рдИ рдХреБрдиреИ рд╢рдЩреНрдХрд╛ рдЫреИрди рдХрд┐ рдХрд╕реИрд▓реЗ рдпреА рдЦрдЬрд╛рдирд╛ рд▓рд╛рдЗрдирд╣рд░реВрдХреЛ рдЦреЛрдЬреАрдорд╛ рдпреЛ рд▓реЗрдЦ рдкрдврд┐рд░рд╣реЗрдХреЛ рдЫред

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 - рдпреЛ рдмрд┐рд▓реНрдЯ-рдЗрди 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 рд╕рдХреНрд╖рдо 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 рдХреЛ рдЧрддрд┐рд╢реАрд▓ рдмрд╛рдЗрдиреНрдбрд┐рдЩрдорд╛ рдЫред рдЬрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рджреЗрдЦрд╛ рдкрд░реНрджрдЫ, рдбреЗрдорди рд╕реБрд░реБ рд╣реБрдиреНрдЫ; рдЬрдм рдпреЛ рдЧрд╛рдпрдм рд╣реБрдиреНрдЫ, рдпреЛ рд░реЛрдХрд┐рдиреНрдЫред рд░ рдпреЛ рд╕рдмреИ рдЕрдирд▓рд╛рдЗрди рдЫ - рдкреНрд░рдгрд╛рд▓реА рд░рд┐рдмреБрдЯ рдмрд┐рдирд╛ред USB Wi-Fi рдПрдбрд╛рдкреНрдЯрд░рд▓рд╛рдИ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрд╛ рдпреЛ рдкреНрд░рд╡рд┐рдзрд┐ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред

рдЕрдм рддрдкрд╛рдИрдВ рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

# systemctl enable hostapd
# reboot

7. IPTABLES

"рдХреЗ???" ┬й рд╣реЛ, рд╣реЛ! рдХреБрдиреИ рдкрдирд┐ рдЫреИрди systemdред рдХреБрдиреИ рдирдпрд╛рдБ рдлреНрдпрд╛рдЩреНрдЧрд▓ рдХрдореНрдмрд╛рдЗрдиреНрд╕ рдЫреИрди (рдлрд╛рд░рд╛рдордорд╛ рдлрд╛рдпрд░рд╡рд╛рд▓реНрдб), рдЬрд╕рд▓реЗ рдЕрдиреНрддреНрдпрдорд╛ рдПрдЙрдЯреИ рдХреБрд░рд╛ рдЧрд░реНрдЫред

рд░рд╛рдореНрд░реЛ рдкреБрд░рд╛рдиреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реМрдВ iptables, рдЬрд╕рдХреЛ рд╕реЗрд╡рд╛рд╣рд░реВ, рд╕реБрд░реБ рдЧрд░реЗрдкрдЫрд┐, рдХрд░реНрдиреЗрд▓рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдорд╣рд░реВ рд▓реЛрдб рд╣реБрдиреЗрдЫ рд░ рдЪреБрдкрдЪрд╛рдк рдмрд╛рд╕рд┐рдиреНрджрд╛ рд░ рд╕реНрд░реЛрддрд╣рд░реВ рдЙрдкрднреЛрдЧ рдирдЧрд░реА рдЪреБрдкрдЪрд╛рдк рдмрдиреНрдж рд╣реБрдиреЗрдЫред systemd рд╕рдБрдЧ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЫ IPMasquerade =, рддрд░ рд╣рд╛рдореА рдЕрдЭреИ рдкрдирд┐ iptables рд▓рд╛рдИ рдареЗрдЧрд╛рдирд╛ рдЕрдиреБрд╡рд╛рдж (NAT) рд░ рдлрд╛рдпрд░рд╡рд╛рд▓ рд╕реБрдореНрдкрдиреЗрдЫреМрдВред

рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

# 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 рд░рд╛рдЙрдЯрд░ рдмрдирд╛рдПрдХрд╛ рдЫреМрдВ, рдЬрд╕рдорд╛ рдкрд╣реБрдБрдЪ "рдЗрдиреНрдЯрд░рдиреЗрдЯ рдорд╛рд░реНрдлрдд" рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдирд┐рд╖реЗрдз рдЧрд░рд┐рдПрдХреЛ рдЫ - рдЕрдм рдХреЗрд╡рд▓ "рдУрднрд░ рдж рдПрдпрд░"ред рд╣рд╛рдореА рдкреНрд░рджрд╛рдпрдХрдХреЛ рдЗрдерд░рдиреЗрдЯ рдХреЗрдмрд▓ рдЬрдбрд╛рди рдЧрд░реНрдЫреМрдВ рд░ рд╕рд░реНрдлрд┐рдЩ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ!

8. рдмреЛрдирд╕: +2,4GHz

рдЬрдм рдореИрд▓реЗ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣рд┐рд▓реЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд░рд╛рдЙрдЯрд░ рднреЗрд▓рд╛ рдЧрд░реЗрдВ, рдореИрд▓реЗ рдореЗрд░реЛ рдШрд░рдорд╛ рдзреЗрд░реИ рдЧреНрдпрд╛рдЬреЗрдЯрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ рдЬреБрди рддрд┐рдиреАрд╣рд░реВрдХреЛ Wi-Fi рдбрд┐рдЬрд╛рдЗрди рд╕реАрдорд┐рддрддрд╛рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, "рд░рд╛рд╕реНрдкрдмреЗрд░реА" рджреЗрдЦреНрди рд╕рдХреЗрдиред 802.11b/g/n рдорд╛ рдХрд╛рдо рдЧрд░реНрди рд░рд╛рдЙрдЯрд░рд▓рд╛рдИ рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБ рдЦреЗрд▓рдХреБрдж рдерд┐рдПрди, рдХрд┐рдирдХрд┐ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ "рдУрднрд░ рдж рдПрдпрд░" рдЕрдзрд┐рдХрддрдо рдЧрддрд┐ 40 Mbit рднрдиреНрджрд╛ рдмрдвреА рдерд┐рдПрди, рд░ рдореЗрд░реЛ рдордирдкрд░реНрдиреЗ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдкреНрд░рджрд╛рдпрдХрд▓реЗ рдорд▓рд╛рдИ 100 (рдХреЗрдмрд▓ рдорд╛рд░реНрдлрдд) рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫред

рд╡рд╛рд╕реНрддрд╡рдорд╛, рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдорд╛рдзрд╛рди рдкрд╣рд┐рд▓реЗ рдиреИ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ: рджреЛрд╕реНрд░реЛ рд╡рд╛рдЗрдлрд╛рдЗ рдЗрдиреНрдЯрд░рдлреЗрд╕ 2,4 GHz рдХреЛ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рд╣реБрдиреНрдЫ, рд░ рджреЛрд╕реНрд░реЛ рдкрд╣реБрдБрдЪ рдмрд┐рдиреНрджреБред рдирдЬрд┐рдХреИрдХреЛ рд╕реНрдЯрд▓рдорд╛ рдореИрд▓реЗ рдкрд╣рд┐рд▓реЛ рд╣реЛрдЗрди, рддрд░ рджреЛрд╕реНрд░реЛ USB Wi-Fi "рд╕реАрдЯреА" рдХрд┐рдиреЗрдБред рд╡рд┐рдХреНрд░реЗрддрд╛ рдЪрд┐рдкрд╕реЗрдЯ, рдПрдЖрд░рдПрдо рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рд╣рд░реВрд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛ рд░ рдПрдкреА рдореЛрдбрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ (рдЙрдиреА рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдкрд╣рд┐рд▓реЛ рд╡реНрдпрдХреНрддрд┐ рдерд┐рдП) рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреНрд░рд╢реНрдирд╣рд░реВрд▓реЗ рд╕рддрд╛рдПрдХреЛ рдерд┐рдпреЛред

рд╣рд╛рдореА рдмрд┐рд▓реНрдЯ-рдЗрди 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 рдПрдбрд╛рдкреНрдЯрд░рдХреЛ рдореЛрдбреЗрд▓рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рддрд┐рд▓рд┐рдкрд┐/рдЯрд╛рдБрд╕реНрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрд╕рдлрд▓ рд╣реБрди рд╕рдХреНрдЫред

рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН /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 рдПрдбрд╛рдкреНрдЯрд░рдХреЛ рдЧреБрдгрд╕реНрддрд░ рд░ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдХреЛ рдкрд╛рд╡рд░ рдЖрдкреВрд░реНрддрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рди рдЪрд╛рд╣рдиреНрдЫреБред рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХреЛ "рд╣рдЯ рд╡реНрд╣рд┐рд╕рд▓" рд▓реЗ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдЫреЛрдЯреЛ рдЕрд╡рдзрд┐рдХреЛ рд╡рд┐рджреНрдпреБрддреАрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ "рд░рд╛рд╕реНрдкрдмреЗрд░реА рдлреНрд░рд┐рдЬрд┐рдЩ" рдирд┐рдореНрддреНрдпрд╛рдЙрди рд╕рдХреНрдЫред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди