แแแขแแ แแแขแจแ แแ แแก แฃแแแ แแแแแ แ แแแคแแ แแแชแแ Raspberry-แแก แแ แแแแ แขแแแแ แแแแแแฃแขแแ แแก แกแแคแฃแซแแแแแ Wi-Fi แฌแแแแแแก แฌแแ แขแแแแแแก แจแแฅแแแแก แจแแกแแฎแแ. แ แแแแ แช แฌแแกแ, แแก แแแจแแแแก Raspbian แแแแ แแชแแฃแแ แกแแกแขแแแแก แแแแแงแแแแแแก Raspberry-แจแ.
แ แแแแ แช RPM-แแ แแแคแฃแซแแแแฃแแ แกแแกแขแแแแแแก แแแแแแแแ แ, แแแ แแแแฃแซแแแ แแ แแแขแแ แ แกแแกแฌแแฃแแก แแ แแ แแแแแแแชแแแ แฉแแแ แกแแงแแแ แแแ CentOS แแแกแแ.
แกแขแแขแแแจแ แแแชแแแฃแแแ แแแกแขแ แฃแฅแชแแแแ 5GHz/AC Wi-Fi แ แแฃแขแแ แแก แจแแกแแฅแแแแแแ Raspberry Pi 3 Model B+-แแแ CentOS แแแแ แแชแแฃแแ แกแแกแขแแแแก แกแแคแฃแซแแแแแ. แแฅแแแแ แ แแแแแแแแ แกแขแแแแแ แขแฃแแ, แแแแ แแ แแแแแแแแ แชแแแแแแ แฎแ แแแ แแ แแแแฃแกแแ - แแแฎแแขแ แแแแแขแแแแแ Wi-Fi แแฆแญแฃแ แแแแแแแก แแแกแแแแแจแแ แแแแแ Raspberry-แกแแแ, แ แแช แกแแจแฃแแแแแแก แแแกแชแแแก แแแก แแ แแแ แแฃแแแ แแแฃแจแแแก แ แแแแแแแแ แ แแแแแจแ (2,4+5GHz).
(แแแแแกแฃแคแแแ แฎแแแแแกแแฌแแแแแ แกแฃแ แแแแแแก แแแแแแ)
แแแฃแงแแแแแแแแ แแฆแแแแจแแแ, แ แแ แแแแแแ แแ แแแกแแแกแฃแ แ แกแแฉแฅแแ แ แแ แแแฃแจแแแแแก. แฉแแแ Raspberry-แแแ แฐแแแ แจแ แแฌแฃแ แแ แแแฅแกแแแฃแ 100 Mbps-แก แแ แแก แคแแ แแแก แฉแแแ แแแขแแ แแแข แแ แแแแแแแ แแก แกแแฉแฅแแ แแก. แ แแขแแ แแญแแ แแแแแ แแกแแแ แแฃแแ AC, แแฃ แแแแ แแฃแแแ แจแแแแซแแแแ แแแแฆแแ แแแฎแแแแ แ แแแแแแแขแ แแฃแแแแช N-แแ? แแฃ แกแแแฃแแแ แแแแก แแแฃแกแแแ แแก แจแแแแแฎแแ, แแแจแแ แฌแแแแ แแแฆแแแแแจแ, แ แแ แจแแแซแแแแ แแแแแแแแ แ แแฃแขแแ แ แ แแ แแแ แ แแแขแแแแ.
0. แ แแช แแแแญแแ แแแแแ
- แกแแแแแแแแแแจแ, แแแแแ โแแแแแก แแ แแแฃแฅแขแโ แแ แแก แแแแแแ แแก: Pi 3 Model B+ (แกแแกแฃแ แแแแ 5 แแฐแช แกแแฉแฅแแ แแกแ แแ แแ แฎแแแแก แแแกแแฆแฌแแแแ);
- แแแ แแ microSD >= 4 GB;
- แกแแแฃแจแแ แกแแแแฃแ แ Linux-แแ แแ microSD แแแแแฎแแแแแ/แฉแแแฌแแ แแ;
- Linux-แจแ แกแแแแแ แแกแ แฃแแแ แแแแก แแ แกแแแแแ, แกแขแแขแแ แแแฌแแ แแแแแ แแแแแกแแแแก;
- แกแแแแแแแแ แฅแกแแแแก (eth0) แแแแจแแ แ Raspberry-แกแ แแ Linux-แก แจแแ แแก, DHCP แกแแ แแแ แแก แแแจแแแแ แแแแแแฃแ แฅแกแแแจแ แแ แแแขแแ แแแขแแก แฌแแแแแ แแ แแแ แแแฌแงแแแแแแแแแแ.
แแชแแ แ แแแแแแขแแ แ แแแแ แแฃแแฅแขแแ. โแ แแแแแ แแงแ แแแ แแแแ, แแแแ แชแฎแ แแฃ...โ แ แแแแ แแแแแแแแ Wi-Fi แ แแฃแขแแ แ แแแขแแ แแแขแแแ แฌแแแแแแก แแฆแญแฃแ แแแแแแแก แแ แแ แกแแแแแแก แจแแแแฎแแแแแจแ? แแแแแ แแแแขแแแแ แแก แแแกแแ แแแแ แกแแแแ แฏแแจแ แกแขแแขแแแก แคแแ แแแแแก แแแ แแ แแ แฃแแ แแแแ แแแแแ แแฃแแแ, แ แแ Raspberry แแแแแแจแแ แแแฃแแแ แแแแแแฃแ แฅแกแแแแแ แแแแแฃแแแก แกแแจแฃแแแแแแ แแ แแฅแแก แฌแแแแแ แแแขแแ แแแขแแ. แแ แจแแแแฎแแแแแจแ โแแแแแกโ แแแกแแงแแแแแแแ แแแแแขแแแแแ แขแแแแแแแแ แ แแ แแแแแแฃแแแขแแ แ แแ แแแแแญแแ แแแแ.
1. แแแแแแกแขแแแแ แแ CentOS
แแ แกแขแแขแแแก แแแฌแแ แแก แแ แแก, แแแฌแงแแแแแแแแแ CentOS-แแก แแแจแแแแฃแแ แแแ แกแแ 32-แแแขแแแแแ. แกแแแฆแแช แแกแแคแแแ แฅแกแแแจแ แจแแแฎแแแ แแแกแแแ แแแแแ, แ แแ แแกแแแ OS-แแแแก แจแแกแ แฃแแแแ 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 แแแแแงแแคแก, แแแแแคแแ แแแแแแ root แแแแ แฎแแแแแกแแฌแแแแ แแแชแฃแแแแแก แแ แแแแแจแแ แแแ SELinux-แก. แแแแแ แแแแ แแแ แขแแแแ: แจแแฅแแแแแ root-แแก แแกแแ Linux-แแ, แฌแแจแแแแ แงแแแแ แแแแแงแแคแ microSD-แแแ แแแ แแแแแก แแแ แแ (/boot), แจแแฅแแแแแ แแฎแแแ root แแ แแแแแ แฃแแแ แแแกแ แจแแแแแ แกแ แแกแแแแแ.
แกแแญแแ แ แแแฅแแแแแแแแแก แแแแแแแแ (แแแแกแแแแก แแซแแแ แแแแแแแแแแ)
# 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
root แแแแแงแแคแแก แจแแแแแ แกแแก แแแแฎแกแแแก แจแแแแแ, แแ แแ แแแกแจแ แแแ แแแแฃแแ แชแแแแแแแแแ แจแแแขแแแแ.
แแแแแ แแแ SELinux-แจแ /mnt/etc/selinux/config:
SELINUX=disabled
แ แแแแฅแขแแ แแแ /mnt/etc/fstab, แแแกแจแ แ แฉแแแ แแฎแแแแ แแ แ แฉแแแแฌแแ แ แแแแแงแแคแแแแก แจแแกแแฎแแ: boot (/boot, แชแแแแแแแแแแก แแแ แแจแ) แแ root (แฉแแแ แแชแแแแ UUID แแแแจแแแแแแแแก, แ แแแแแก แแแ แแแแแ แจแแกแแซแแแแแแแ Linux-แแ blkid แแ แซแแแแแแก แแแแแกแแแแแก แจแแกแฌแแแแแ):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0
UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
แแแแแแแก, แฉแแแ แแชแแแแ แแแ แแแแก แฉแแขแแแ แแแแก แแแ แแแแขแ แแแก: แฉแแแ แแแแฃแกแขแแแ แแฎแแ แแแแแแ แแแแแก root แแแแแงแแคแแกแแแแก, แแแแแ แแแแ แแแแแ แแแแก แแแคแแ แแแชแแแก แแแแแจแแแแแก แแ (แกแฃแ แแแแแกแแแแแ ) แแ แซแแแแแ แแแ แแแก 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- แแก แแแแแฎแแแแ, แแแแแขแแแ แแแ.
แฉแแแ แแแซแแแแ แฅแกแแแแก แแแแแฏแแแแขแก แฅแกแแแฃแ แ:
# 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แแแ แ แจแแฅแแแแแ แฅแกแแแแก แแแแแฏแแ แแก แแแแ . แแแแขแแ, แแ แแแแแแแก แแแแแญแ แแก แจแแแแฎแแแแแจแ, แจแแชแแแแแ แแแกแ แจแแแแแ แกแ. แแแแแงแแแแแ แกแแกแขแแแฃแ แแ แแแแแญแ แแแแ แฉแแแ แแ .
แฉแแแ แแฎแกแแแ "แแ แแกแแญแแ แ", แแแแแแแแ แแ แแแฉแฅแแ แแแ 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
แแแกแแช แกแญแแ แแแแ 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"
"แแแแแแ" แแ แแแก แจแแกแแแแแแกแแแ แแแแจแแแแแแแแแแ. แแแแก แแแแ, แ แแ แแ แแ แกแแแแแก แขแแฅแแแแแก แจแแกแแซแแแแแแแ, แจแแแแแฎแแก แกแแแแแก แแแแแแแแ แ แแแแแแแ แแแแ แแแแแขแแแ แแแแกแแก, แกแแญแแ แแ แกแแแฅแ แแแแแแชแแ. แแแแกแแแแก แซแแแแแ แแแ แแ แแ แกแฌแ แแคแ แแแแแแแ แฅแ แแแแแ - แฃแแแ แแแแแกแขแแแแ แแแฃแแแ แแ แแแขแแแแขแฃแ แแ แแฌแงแแแ. แแฅแแแ แจแแแแซแแแแ แจแแชแแแแแ 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 แ แแฃแขแแ แ, แ แแแแแแช แแฃแจแแแแก 5 แแฐแช แกแแฎแจแแ แแแ, แกแแฃแ แแ แแแแแแกแแแแก แฌแแแแกแฌแแ แแแแแแแแแแแแ แ แแแฃแแแขแแ แ:
# yum info crda
แ แแแแฃแแ: แ แแแฃแแแชแแแแแแ แจแแกแแแแแแกแแแแก แแแแแแ 802.11 แฃแแแแแแ แฅแกแแแแกแแแแก
แแก แแแ แแขแ แแแแแแแ, แ แแแแแแช แแกแแแ แแแคแฃแซแแแแฃแแแ แแ แแแก แกแแ แขแงแแแแ, โแแ แซแแแแแกโ (แ แฃแกแแแจแ) 5 แแฐแช แกแแฎแจแแ แแแแแก แแ โแแแฆแแแโ แแแแ แแแแก แแฅแแแ แแ แฎแแแแก แแแแแงแแแแแแก. แฎแ แแแ แแ แแก แแ แแแก แแแแแก แแแงแแแแแ แแแแขแแแแแขแแแแก/แฅแแแแฅแแแแก แกแแฎแแแแแแก แแแแแงแแแแแแก แแแ แแจแ, แแแฃ แแแชแแแแ:
# 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 แแแแแแแขแแแ
แงแแแแแคแแ แ, แ แแช แแแแแ แแแฅแแ, แจแแแซแแแแ แฉแแแแแแแแก แกแ แฃแแงแแคแแ แแแกแขแ แฃแฅแชแแแ Raspberry Pi-แแ "แแแแแแแก" CentOS-แแก แแแงแแแแแแกแแแแก. แแฅแแแ แฃแแแ แแแแกแ แฃแแแ แแแแแแฃแขแแ แ, แ แแแแแแช (แฎแแแแฎแแ) แฉแแขแแแ แแแแก 10 แฌแแแแ แแแแแแ แแ แแจแ, แแงแแแแแก 15 แแแแแแแแขแแ แแแแแแ RAM-แก แแ 1.5 แแแแแแแแขแก microSD-แก (แกแแแแแแแแแแจแ 1 แแแแแแแแขแแ แแแแแแแ แแ แแกแ แฃแแ/แฉแแขแแแ แแแแก แแแแ, แแแแ แแ แแแแแ แแแงแแ แแฃแแฌแ แคแแแแแ).
แแ แกแแกแขแแแแแ Wi-Fi แฌแแแแแแก แฌแแ แขแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแแงแแแแแแแ, แกแแญแแ แแ แแแแแ แแแแคแแ แแแแแ แกแขแแแแแ แขแฃแแ CentOS แแแกแขแ แแแฃแชแแแก แจแแกแแซแแแแแแแแแ. แฃแแแ แแแแแก แงแแแแแกแ, แแแแแ แแแแแฃแแฏแแแแกแแ แฉแแจแแแแแฃแแ Wi-Fi แแแแแขแแ แแก แแ แแแแแ แ (firmware). แแ แแแฅแขแแก แแแแแแ แแแแ แแแ แแแแฅแแแแแ:
Wifi Raspberry 3B-แแ แแ 3B+-แแ
Raspberry PI 3B/3B+ firmware แคแแแแแแแก แแแแ แชแแแแแ แแแฃแจแแแแแแแ CentOS แแ แแแฅแขแแก แแแแ . แจแแแแซแแแแ แแแแแแงแแแแ แจแแแแแแ แกแขแแขแแแแ แแ แแแแแแแก แแแกแแแแแแ, แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแแฆแแแแ แแ wifi-แแก แแแกแแงแแแแแแแ.
แแก, แ แแช แแแ แซแแแฃแแแ CentOS แแ แแแฅแขแแกแแแแก, แฉแแแแแแแก แแ แแ แแก แแแ แซแแแฃแแ แแแ แแแ แแแแแงแแแแแแกแแแแก. แฉแแแ แแชแแแแ แกแแแแกแขแ แแแฃแชแแ Wi-Fi firmware-แก CentOS-แจแ Broadcom-แแก แแแแแแแแแ แแแแก แจแแกแแแแแแกแแ (แแแแแ แกแแซแฃแแแแแ แแ แแแแแ แแแแแแแ...). แแก, แแแ แซแแ, แกแแจแฃแแแแแแก แแแแชแแแ แแแแแแงแแแแ AC แฌแแแแแแก แฌแแ แขแแแแก แ แแแแแจแ.
Wi-Fi firmware แแแแแฎแแแแแจแแแขแงแแแ แแแฌแงแแแแแแแแก แแแแแแ แแ แแแแแแแแ แ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแ แกแแ:
# 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
แจแแแแแแ แแแฆแแแฃแแ Wi-Fi แแแแแขแแ แแก firmware แคแแแแแแ แฃแแแ แแแแแแแ แแแก แแ แจแแแชแแแแแก "แแแแแแ" แแแ แแฅแขแแ แแแจแ. /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 - แชแแแแ แกแขแแขแแแก แแแแแ แแ แแฅ แแ แแ แแก แแแแฎแแแฃแแ.
Raspberry-แแก Wi-Fi แแแขแแ แคแแแกแ (แแแ) แแ แแก แแแแแแฃแ แ แฅแกแแแ แแ แฉแแจแแแแแฃแแ Ethernet แแแแแขแแ แ (eth0) แแ แแก แแแ แ. แกแขแแขแแแฃแ แแ แแแแแแแ แแ แแแแแแฃแ แ แฅแกแแแ, แแแแแแแแแ: 192.168.0.0/24. Raspberry แแแกแแแแ แแ: 192.168.0.1. DHCP แกแแ แแแ แ แแแฃแจแแแแแก แแแ แ แฅแกแแแจแ (แแแขแแ แแแขแ).
แแแ แแแแแฃแ แ แฅแแแกแ (แแแ แแแฃแแ แแแแแฎแ แ)Lennart Pottering-แแ แกแแแฃแแแ แ แแ แแแ แแแ แจแแแแแแแ 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, แแแแแขแแแ แแแ Raspberry แแ แแแแแฆแแแ แแแกแแ แฅแกแแแแก แฌแแแแแแก (IP แแแกแแแแ แแ แกแแแแ แแฃแแแ แจแแแชแแแแแ):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5.DNSMASQ
Wi-Fi แฌแแแแแแก แฌแแ แขแแแแแแก แจแแกแแฅแแแแแแ, แแ แแคแแ แ แกแฏแแแก แขแแแแ แฌแงแแแแก 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
แจแแชแแแแแ แแแ แแฅแแแแ แแแแแแแแแแ.
แแแแแแแแแกแขแฃแ แ /แแ แ.แจ./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
แแ แแแแแก, แฏแแแแกแแฃแ แ แฐแแกแขแแแแแก แแแแคแแแฃแ แแชแแแแ. แแญแแ แแ แแแแแ แแแ, แ แแ แแแฆแแช แแแแฎแฃแแแแก แแ แกแขแแขแแแก แกแฌแแ แแ แแ แซแแแ แคแแกแ แกแขแ แแฅแแแแแแก แแแกแแซแแแแแ.
แฐแแกแขแแแแแก แแแงแแแแแแแแ แแฅแแแ แฃแแแ แแแแแแแฎแแ โแแ แแแแแ แแแแแแแก แแ แแแแแแโ. แฉแแจแแแแแฃแ 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. แฉแแแ แแแแแขแแแ แแแ Raspberry, แ แแ แแแแ แฌแแฃแแแแ แแแแจแ.
แฒแแแแกแขแแแแ แแแ:
# 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 แ แแแแแจแ, แจแแซแแแแแ แแแแแแจแแ แแแแก แฌแแแแแแก แฌแแ แขแแแแแ. แฐแแกแขแแแแแก แจแแกแแฉแแ แแแแแ - Ctrl-C.
แ แฉแแแ แแฎแแแแ แฐแแกแขแแแแแก แฉแแ แแแ แกแแกแขแแแแก แแแจแแแแแจแ. แแฃ แแฅแแแ แแแแแแแแแ แกแขแแแแแ แขแฃแ แ แแแแก (systemctl แฉแแ แแแ hostapd), แแแจแแ แจแแแแแแ แแแแแขแแแ แแแแก แจแแแแแ แจแแแแซแแแแ แแแแฆแแ แแแแแแ "แกแแกแฎแแจแ แแแซแ แแแ" แแแแแแแแแ "แแแขแแ แคแแแกแ wl0 แแแ แแแแซแแแแ". โแแแ แแแแแฃแ แ แฅแแแกแแกโ แจแแแแแแ, แฐแแกแขแแแ แฃแคแ แ แกแฌแ แแคแแ แแแแฌแงแ, แแแแ แ แแแ แแแแ แแแแแ แฃแแแแแแ แแแแแขแแ แ.
แแแขแแ แแแขแ แกแแแกแแ แกแแแแฃแ แแแแ แกแแจแฃแแแแแแแแ: แแแแแแแก แแแฌแงแแแแแแ แแซแฃแแแแแแ แแ แแแก แแแกแแแแแแ (แ แแแแแแแแ แฌแฃแแ), แกแฎแแ แแแแแแแแแ, แ แแแแแแช แแแแแขแ แแแแแก แแแขแแ แคแแแกแแก แแแ แแแแแแแก แแ (แฎแแแแฎแแ) แแแฃแจแแแแแก แฐแแกแขแแแแก. แแแแแฌแงแแแขแแแแแแแ แกแแแแแแ แแคแแฅแขแฃแ แแ, แแแแ แแ แกแแจแแแแแ แแแฎแแแฏแ. แฉแแแ แแแแฃแฌแแแแแ แแแแก แแแฎแแแ แแแแกแแแแก 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 แแแขแแ แคแแแกแแก แแแแแแแฃแ แแแแแแจแแ แแแแจแ. แ แแแแกแแช แแแขแแ แคแแแกแ แแแแแฉแแแแแ, แแแแแแ แแฌแงแแแ, แ แแแแกแแช แแก แฅแ แแแ, แแก แฉแแ แแแแ. แแ แแก แงแแแแแคแแ แ แแแแแแ แ แแแแแจแแ - แกแแกแขแแแแก แแแแแขแแแ แแแแก แแแ แแจแ. แแก แขแแฅแแแแ แแแแกแแแฃแแ แแแแ แกแแกแแ แแแแแ แแฅแแแแ USB Wi-Fi แแแแแขแแ แแก Raspberry-แแแ แแแแแแจแแ แแแแกแแก.
แฒแฎแแ แจแแ แจแแแแซแแแ:
# systemctl enable hostapd
# reboot
7. IPTABLES
"แ แ???" ยฉ แแแแฎ, แแแแฎ! แแ แชแแ แแ systemd. แแ แแ แแก แแฎแแแจแแฅแแแแแ แแแแแแแแขแแแ (แคแแ แแแจแ แชแแชแฎแแแแแแ แกแแแงแแ แ), แ แแแแแแช แกแแแแแแแ แแแแแแแก แแแแแแก.
แแแแแ แแแแแแแงแแแแ แแแ แแ แซแแแแ iptables, แ แแแแแก แกแแ แแแกแแแ, แแแฌแงแแแแก แจแแแแแ, แฉแแขแแแ แแแแก แฅแกแแแแก แฌแแกแแแก แแแ แแแจแ แแ แฉแฃแแแ แแแแฎแฃแ แแแ แ แแแแแแแขแแก แแแ แแจแ แแ แ แแกแฃแ แกแแแแก แแแฎแแแ แแแแก แแแ แแจแ. systemd-แก แแฅแแก แแแแแแแขแฃแ แ IPMasquerade=, แแแแ แแ แฉแแแ แแแแแช แแแแแแแแแ แแแกแแแแ แแแแแก แแแ แแแแแก (NAT) แแ firewall-แก 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
แฉแแแ แแแกแ แฃแแแแ แแแแแฎแกแแแแแฃแ แกแแ แแแขแก แแ แแแแ แแแแ Raspberry-แแแ แแฎแแแ แกแแแแแแแแ SSH แแแแจแแ แแแแก แแแแงแแ แแแแก แฃแแแ แก. แแแ แแแแแ, แฉแแแ แจแแแฅแแแแแ Wi-Fi แ แแฃแขแแ แ, แ แแแแแแ แฌแแแแแ "แแแขแแ แแแขแแก แกแแจแฃแแแแแแ" แแแแฃแแแกแฎแแแแแ แแแ แซแแแฃแแแ - แแฎแแ แแฎแแแแ "แฐแแแ แแ". แฉแแแ แแแแแแจแแ แแแ แแ แแแแแแแ แแก Ethernet แแแแแแก แแ แแแฌแงแแแ แกแแ แคแแแแก!
8. แแแแฃแกแ: +2,4 แแฐแช
แ แแแแกแแช แแแแฌแงแ แแแ แแแแ Raspberry แ แแฃแขแแ แ แแแแแ แแฆแฌแแ แแแ แแแฎแแขแแก แแแแแงแแแแแแ, แแฆแแแแแฉแแแ แ แแแแแแแแ แแแฏแแขแ แฉแแแก แแฏแแฎแจแ, แ แแแแแแแช, Wi-Fi แแแแแแแแก แจแแแฆแฃแแแแแแก แแแแ, แกแแแ แแแ แแแ แฎแแแแแแแแ โแแแแแกโ. แ แแฃแขแแ แแก 802.11b/g/n แกแแแฃแจแแแ แแแแแงแแแแแ แแ แแกแแแ แขแฃแแ แแงแ, แ แแแแแ แแแฅแกแแแแแฃแ แ แกแแฉแฅแแ แ โแฐแแแ แแโ แแ แจแแแแฎแแแแแจแ แแ แแฆแแแแขแแแแแ 40 แแแแขแก แแ แฉแแแ แกแแงแแแ แแแ แแแขแแ แแแข แแ แแแแแแแ แ แแแแแแแแแก 100-แก (แแแแแแแก แกแแจแฃแแแแแแ).
แกแแแแแแแแแแจแ, แแ แแแแแแแก แแแแแฌแงแแแขแ แฃแแแ แแแแแแแแแแก: แแแแ แ Wi-Fi แแแขแแ แคแแแกแ, แ แแแแแแช แแฃแจแแแแก 2,4 แแฐแช แกแแฎแจแแ แแแ แแ แแแแ แ แฌแแแแแแก แฌแแ แขแแแ. แแฎแแแแแแแแ แ แกแแแแแแแ แแแงแแแ แแ แ แแแ แแแแ, แแ แแแแ แแแแ แ 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 แแแขแแ แคแแแกแแก แแแ แแแแก แแแแแแแแแ แชแแแแ แฐแแกแขแแแ แแแแแแก, แ แแแแแแช แแแแฌแงแแแ แแ แจแแฉแแ แแแแ แกแแกแขแแแแจแ แแแแชแ แแ แแแแกแแแฆแแ แฃแแ โแกแแกแขแแแแแกโ แแ แกแแแแแแก แแแฎแแแแแ: 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
แ แฉแแแ แแฎแแแแ แฐแแกแขแแแแแก แแฎแแแ แแแกแขแแแชแแแก แฉแแ แแแ:
# systemctl enable hostapd2
แฒกแฃแ แแก แแ แแก! แแแแงแแแแแ "แกแแกแขแแแแ" แแ แแแแแ "แแแแ", แจแแฎแแแแ แแฅแแแแก แแแ แจแแแ แแ แกแแแฃแ แฃแแแแแแ แฅแกแแแแแก.
แแ แแแแแก, แแแแแ แแแแแคแ แแฎแแแแ Raspberry-แแก USB Wi-Fi แแแแแขแแ แแก แฎแแ แแกแฎแแกแ แแ แแแแแแก แฌแงแแ แแก แจแแกแแฎแแ. แแแแแแจแแ แแแฃแแแ โแชแฎแแแแ แกแแกแขแแแแแโ แแแแฏแแ แจแแแซแแแแ แแแแแแฌแแแแก โแแแแแก แแแงแแแแโ แฎแแแแแแแ แแแแฅแขแ แฃแแ แแ แแแแแแแแแก แแแแ.
แฌแงแแ แ: www.habr.com