ರಾಸ್ಪ್ಬೆರಿ ಸಿಂಗಲ್-ಬೋರ್ಡ್ ಪಿಸಿ ಆಧರಿಸಿ Wi-Fi ಪ್ರವೇಶ ಬಿಂದುಗಳನ್ನು ರಚಿಸುವಲ್ಲಿ ಅಂತರ್ಜಾಲದಲ್ಲಿ ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಮಾಹಿತಿ ಇದೆ. ನಿಯಮದಂತೆ, ಇದರರ್ಥ ರಾಸ್ಪ್ಬೆರಿಗೆ ಸ್ಥಳೀಯವಾದ ರಾಸ್ಪಿಯನ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುವುದು.
RPM-ಆಧಾರಿತ ಸಿಸ್ಟಮ್ಗಳ ಅನುಯಾಯಿಯಾಗಿರುವುದರಿಂದ, ನಾನು ಈ ಚಿಕ್ಕ ಪವಾಡದಿಂದ ಹಾದುಹೋಗಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಮತ್ತು ನನ್ನ ಪ್ರೀತಿಯ CentOS ಅನ್ನು ಪ್ರಯತ್ನಿಸಲಿಲ್ಲ.
ಲೇಖನವು CentOS ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಆಧಾರದ ಮೇಲೆ Raspberry Pi 5 ಮಾಡೆಲ್ B+ ನಿಂದ 3GHz/AC Wi-Fi ರೂಟರ್ ಅನ್ನು ತಯಾರಿಸಲು ಸೂಚನೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹಲವಾರು ಪ್ರಮಾಣಿತ ಆದರೆ ಕಡಿಮೆ-ತಿಳಿದಿರುವ ಟ್ರಿಕ್ಸ್ ಇರುತ್ತದೆ, ಮತ್ತು ಬೋನಸ್ ಆಗಿ - ಹೆಚ್ಚುವರಿ Wi-Fi ಸಾಧನಗಳನ್ನು ರಾಸ್ಪ್ಬೆರಿಗೆ ಸಂಪರ್ಕಿಸುವ ರೇಖಾಚಿತ್ರ, ಇದು ಹಲವಾರು ವಿಧಾನಗಳಲ್ಲಿ (2,4+5GHz) ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
(ಉಚಿತವಾಗಿ ಲಭ್ಯವಿರುವ ಚಿತ್ರಗಳ ಮಿಶ್ರಣ)
ಕೆಲವು ಕಾಸ್ಮಿಕ್ ವೇಗಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ ಎಂದು ನಾವು ಈಗಿನಿಂದಲೇ ಗಮನಿಸೋಣ. ನನ್ನ ರಾಸ್ಪ್ಬೆರಿಯಿಂದ ನಾನು ಗರಿಷ್ಠ 100 Mbps ಅನ್ನು ಗಾಳಿಯಲ್ಲಿ ಹಿಸುಕುತ್ತೇನೆ ಮತ್ತು ಇದು ನನ್ನ ಇಂಟರ್ನೆಟ್ ಪೂರೈಕೆದಾರರ ವೇಗವನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ. ಸೈದ್ಧಾಂತಿಕವಾಗಿ ನೀವು N ನಲ್ಲಿಯೂ ಅರ್ಧ ಗಿಗಾಬಿಟ್ ಅನ್ನು ಪಡೆಯಬಹುದಾದರೆ, ನಿಮಗೆ ಅಂತಹ ನಿಧಾನಗತಿಯ AC ಏಕೆ ಬೇಕು? ಈ ಪ್ರಶ್ನೆಯನ್ನು ನೀವೇ ಕೇಳಿದ್ದರೆ, ಎಂಟು ಬಾಹ್ಯ ಆಂಟೆನಾಗಳೊಂದಿಗೆ ನಿಜವಾದ ರೂಟರ್ ಖರೀದಿಸಲು ಅಂಗಡಿಗೆ ಹೋಗಿ.
0. ನಿಮಗೆ ಏನು ಬೇಕು
- ವಾಸ್ತವವಾಗಿ, "ರಾಸ್ಪ್ಬೆರಿ ಉತ್ಪನ್ನ" ಸ್ವತಃ ಕ್ಯಾಲಿಬರ್ ಆಗಿದೆ: ಪೈ 3 ಮಾದರಿ B+ (ಅಪೇಕ್ಷಿತ 5GHz ವೇಗಗಳು ಮತ್ತು ಚಾನಲ್ಗಳನ್ನು ಸಾಧಿಸಲು);
- ಉತ್ತಮ ಮೈಕ್ರೊ SD >= 4GB;
- ಲಿನಕ್ಸ್ ಮತ್ತು ಮೈಕ್ರೊ ಎಸ್ಡಿ ರೀಡರ್/ರೈಟರ್ ಜೊತೆಗೆ ವರ್ಕ್ಸ್ಟೇಷನ್;
- Linux ನಲ್ಲಿ ಸಾಕಷ್ಟು ಕೌಶಲ್ಯಗಳ ಲಭ್ಯತೆ, ಲೇಖನವು ತರಬೇತಿ ಪಡೆದ ಗೀಕ್ ಆಗಿದೆ;
- ರಾಸ್ಪ್ಬೆರಿ ಮತ್ತು ಲಿನಕ್ಸ್ ನಡುವಿನ ವೈರ್ಡ್ ನೆಟ್ವರ್ಕ್ (eth0) ಸಂಪರ್ಕ, ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ DHCP ಸರ್ವರ್ ಮತ್ತು ಎರಡೂ ಸಾಧನಗಳಿಂದ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶ.
ಕೊನೆಯ ಹಂತದಲ್ಲಿ ಒಂದು ಸಣ್ಣ ಕಾಮೆಂಟ್. "ಯಾವುದು ಮೊದಲು ಬಂದಿತು, ಮೊಟ್ಟೆ ಅಥವಾ ..." ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶ ಸಾಧನದ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ Wi-Fi ರೂಟರ್ ಅನ್ನು ಹೇಗೆ ಮಾಡುವುದು? ಲೇಖನದ ವ್ಯಾಪ್ತಿಯ ಹೊರಗೆ ಈ ಮನರಂಜನಾ ವ್ಯಾಯಾಮವನ್ನು ಬಿಡೋಣ ಮತ್ತು ರಾಸ್ಪ್ಬೆರಿ ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ಗೆ ತಂತಿಯ ಮೂಲಕ ಸಂಪರ್ಕ ಹೊಂದಿದೆ ಮತ್ತು ಇಂಟರ್ನೆಟ್ಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಸರಳವಾಗಿ ಊಹಿಸೋಣ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, "ರಾಸ್ಪ್ಬೆರಿ" ಅನ್ನು ಹೊಂದಿಸಲು ನಮಗೆ ಹೆಚ್ಚುವರಿ ಟಿವಿ ಮತ್ತು ಮ್ಯಾನಿಪ್ಯುಲೇಟರ್ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.
1. CentOS ಅನ್ನು ಸ್ಥಾಪಿಸಿ
ಈ ಲೇಖನವನ್ನು ಬರೆಯುವ ಸಮಯದಲ್ಲಿ, ಸಾಧನದಲ್ಲಿ CentOS ನ ಚಾಲನೆಯಲ್ಲಿರುವ ಆವೃತ್ತಿಯು 32-ಬಿಟ್ ಆಗಿದೆ. ವರ್ಲ್ಡ್ ವೈಡ್ ವೆಬ್ನಲ್ಲಿ ಎಲ್ಲೋ 64-ಬಿಟ್ ARM ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ಅಂತಹ OS ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯು 20% ರಷ್ಟು ಕಡಿಮೆಯಾಗಿದೆ ಎಂಬ ಅಭಿಪ್ರಾಯಗಳನ್ನು ನಾನು ಕಂಡಿದ್ದೇನೆ. ನಾನು ಈ ಕ್ಷಣವನ್ನು ಯಾವುದೇ ಪ್ರತಿಕ್ರಿಯೆಯಿಲ್ಲದೆ ಬಿಡುತ್ತೇನೆ.
ಲಿನಕ್ಸ್ನಲ್ಲಿ, ಕರ್ನಲ್ನೊಂದಿಗೆ ಕನಿಷ್ಠ ಚಿತ್ರವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ "-ರಾಸ್ಪ್ಬೆರಿಪಿಐ-"ಮತ್ತು ಅದನ್ನು ಮೈಕ್ರೊ ಎಸ್ಡಿಗೆ ಬರೆಯಿರಿ:
# 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, ಅದರಲ್ಲಿ ವಿಭಾಗಗಳ ಬಗ್ಗೆ ಕೇವಲ ಎರಡು ನಮೂದುಗಳನ್ನು ಬಿಡಲಾಗಿದೆ: ಬೂಟ್ (/ಬೂಟ್, ಯಾವುದೇ ಬದಲಾವಣೆಗಳಿಲ್ಲ) ಮತ್ತು ರೂಟ್ (ನಾವು 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 ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಮೊದಲ ಮೂರು ಅಚಲ ಚಲನೆಗಳು: ಪಾಸ್ವರ್ಡ್, 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
ಯಾರಿಗೆ ಬೇಕು ಕ್ರಾನ್ ಮತ್ತು ಅಂತರ್ನಿರ್ಮಿತವನ್ನು ಯಾರು ಜೀರ್ಣಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ
# 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 ಮಾಹಿತಿ 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 ಗಿಗಾಬೈಟ್ಗಿಂತ ಕಡಿಮೆ) ಬಳಸುವ PC ಯೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳಬೇಕು, ಆದರೆ ನಾವು ಪ್ರಾಮಾಣಿಕವಾಗಿರಲಿ.
ಈ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ Wi-Fi ಪ್ರವೇಶ ಬಿಂದು ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ನೀವು ಪ್ರಮಾಣಿತ CentOS ವಿತರಣೆಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸ್ವಲ್ಪ ವಿಸ್ತರಿಸಬೇಕಾಗುತ್ತದೆ. ಮೊದಲನೆಯದಾಗಿ, ಅಂತರ್ನಿರ್ಮಿತ Wi-Fi ಅಡಾಪ್ಟರ್ನ ಚಾಲಕವನ್ನು (ಫರ್ಮ್ವೇರ್) ನವೀಕರಿಸೋಣ. ಯೋಜನೆಯ ಮುಖಪುಟವು ಹೇಳುತ್ತದೆ:
ರಾಸ್ಪ್ಬೆರಿ 3B ಮತ್ತು 3B+ ನಲ್ಲಿ ವೈಫೈ
Raspberry PI 3B/3B+ ಫರ್ಮ್ವೇರ್ ಫೈಲ್ಗಳನ್ನು CentOS ಪ್ರಾಜೆಕ್ಟ್ನಿಂದ ವಿತರಿಸಲು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ. ಸಮಸ್ಯೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಫರ್ಮ್ವೇರ್ ಪಡೆಯಲು ಮತ್ತು ವೈಫೈ ಅನ್ನು ಹೊಂದಿಸಲು ನೀವು ಈ ಕೆಳಗಿನ ಲೇಖನಗಳನ್ನು ಬಳಸಬಹುದು.
CentOS ಯೋಜನೆಗೆ ಏನು ನಿಷೇಧಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ವೈಯಕ್ತಿಕ ಬಳಕೆಗಾಗಿ ನಮಗೆ ನಿಷೇಧಿಸಲಾಗಿಲ್ಲ. ನಾವು CentOS ನಲ್ಲಿ ವಿತರಣೆ Wi-Fi ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಬ್ರಾಡ್ಕಾಮ್ ಡೆವಲಪರ್ಗಳಿಂದ ಅನುಗುಣವಾದ ಒಂದಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತೇವೆ (ಅದೇ ದ್ವೇಷಿಸುವ ಬೈನರಿ ಬ್ಲಾಬ್ಗಳು...). ಇದು ನಿರ್ದಿಷ್ಟವಾಗಿ, ಪ್ರವೇಶ ಬಿಂದು ಮೋಡ್ನಲ್ಲಿ AC ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ವೈ-ಫೈ ಫರ್ಮ್ವೇರ್ ಅಪ್ಗ್ರೇಡ್ಸಾಧನದ ಮಾದರಿ ಮತ್ತು ಪ್ರಸ್ತುತ ಫರ್ಮ್ವೇರ್ ಆವೃತ್ತಿಯನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ:
# 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 ಅಡಾಪ್ಟರ್ ಫರ್ಮ್ವೇರ್ ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಬೇಕು ಮತ್ತು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ "ರಾಸ್ಪ್ಬೆರಿ" ನೊಂದಿಗೆ ಬದಲಾಯಿಸಬೇಕು /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 ಸರ್ವರ್ ಬಾಹ್ಯ ನೆಟ್ವರ್ಕ್ (ಇಂಟರ್ನೆಟ್) ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಸಮಾನಾಂತರ ಗೊಂದಲ (ಸಾಹಿತ್ಯದ ವ್ಯತಿರಿಕ್ತತೆ)ಲೆನಾರ್ಟ್ ಪಾಟರಿಂಗ್ ತನ್ನದೇ ಆದ ಕಾರ್ಯಕ್ರಮವನ್ನು ಸಂಗ್ರಹಿಸಿದೆ ಸಿಸ್ಟಮ್ ತುಂಬಾ ಒಳ್ಳೆಯದು. ಈ ಸಿಸ್ಟಮ್ ಇತರ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಎಷ್ಟು ಬೇಗನೆ ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಎಂದರೆ, ರೆಫರಿಯ ಸೀಟಿಯಿಂದ ಚೇತರಿಸಿಕೊಳ್ಳಲು ಸಮಯವಿಲ್ಲದೇ, ತಮ್ಮ ಅಡಚಣೆಯ ಹಾದಿಯನ್ನು ಪ್ರಾರಂಭಿಸದೆ ಆರಂಭದಲ್ಲಿ ಎಡವಿ ಬೀಳುತ್ತಾರೆ.
ಆದರೆ ಗಂಭೀರವಾಗಿ, systemd OS ನ ಪ್ರಾರಂಭದಲ್ಲಿ ಉಡಾವಣೆಯಾದ ಪ್ರಕ್ರಿಯೆಗಳ ಆಕ್ರಮಣಕಾರಿ ಸಮಾನಾಂತರತೆಯು ಅನುಭವಿ ಅನುಕ್ರಮ LSB ತಜ್ಞರಿಗೆ ಒಂದು ರೀತಿಯ "ಕತ್ತೆ ಸೇತುವೆ" ಆಗಿದೆ. ಅದೃಷ್ಟವಶಾತ್, ಈ "ಸಮಾನಾಂತರ ಅವ್ಯವಸ್ಥೆ" ಗೆ ಕ್ರಮವನ್ನು ತರುವುದು ಯಾವಾಗಲೂ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲದಿದ್ದರೂ ಸರಳವಾಗಿದೆ.
ನಾವು ಸ್ಥಿರವಾದ ಹೆಸರುಗಳೊಂದಿಗೆ ಎರಡು ವರ್ಚುವಲ್ ಸೇತುವೆ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ: LAN и ವಾನ್. ನಾವು 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 + ಹೋಸ್ಟ್ಪ್ಯಾಡ್ ಇನ್ನೂ ಅದನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿಲ್ಲ. ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ.
ಯಾರಾದರೂ ಮರೆತರೆ, ನಂತರ ...
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 ಡೀಮನ್ಗೆ ಹೇಳುತ್ತದೆ ಇಂಟರ್ಫೇಸ್ = ಲ್ಯಾನ್, ಮತ್ತು ಪ್ರಾರಂಭದ ನಂತರ ಹೆಮ್ಮೆಯ ಒಂಟಿತನದಿಂದ ಮಂಕಾಗುವುದಿಲ್ಲ.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಮ್ಯಾಜಿಕ್ hostapd ಸಂರಚನೆಗಳು. ನಿಖರವಾಗಿ ಈ ಅಮೂಲ್ಯವಾದ ಸಾಲುಗಳನ್ನು ಹುಡುಕುತ್ತಾ ಯಾರಾದರೂ ಈ ಲೇಖನವನ್ನು ಓದುತ್ತಿದ್ದಾರೆ ಎಂಬುದರಲ್ಲಿ ನನಗೆ ಸಂದೇಹವಿಲ್ಲ.
Hostapd ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು, ನೀವು "ಏಕರೂಪತೆಯ ಸಮಸ್ಯೆಯನ್ನು" ಜಯಿಸಬೇಕಾಗಿದೆ. ಹೆಚ್ಚುವರಿ USB Wi-Fi ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ ಅಂತರ್ನಿರ್ಮಿತ Wi-Fi ಅಡಾಪ್ಟರ್ wlan0 ತನ್ನ ಹೆಸರನ್ನು ಸುಲಭವಾಗಿ 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 ಪ್ರಾರಂಭವಾಯಿತು.
ಅಂತರ್ಜಾಲವು ಪರಿಹಾರಗಳಿಂದ ತುಂಬಿದೆ: ಡೀಮನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಬಲವಂತದ ಸಮಯ ಮೀರುವಿಕೆಯಿಂದ (ಹಲವಾರು ನಿಮಿಷಗಳು), ಇಂಟರ್ಫೇಸ್ನ ನೋಟವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ಹೋಸ್ಟ್ಪ್ಯಾಡ್ ಅನ್ನು (ಮರು) ಪ್ರಾರಂಭಿಸುವ ಮತ್ತೊಂದು ಡೀಮನ್ಗೆ. ಪರಿಹಾರಗಳು ಸಾಕಷ್ಟು ಕಾರ್ಯಸಾಧ್ಯವಾಗಿವೆ, ಆದರೆ ಭಯಾನಕ ಕೊಳಕು. ನಾವು ಸಹಾಯಕ್ಕಾಗಿ ದೊಡ್ಡವರನ್ನು ಕರೆಯುತ್ತೇವೆ ಸಿಸ್ಟಮ್ ಅದರ "ಗುರಿಗಳು" ಮತ್ತು "ಕಾರ್ಯಗಳು" ಮತ್ತು "ಅವಲಂಬನೆಗಳು" ಜೊತೆಗೆ.
ವಿತರಣಾ ಸೇವಾ ಫೈಲ್ ಅನ್ನು ನಕಲಿಸಿ /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 ಒಂದು ಸೊಗಸಾದ ಹೊಂದಿದೆ IPMasquerade=, ಆದರೆ ನಾವು ಇನ್ನೂ ವಿಳಾಸ ಅನುವಾದ (NAT) ಮತ್ತು ಫೈರ್ವಾಲ್ ಅನ್ನು iptables ಗೆ ವಹಿಸುತ್ತೇವೆ.
ಸ್ಥಾಪಿಸು:
# yum install iptables-services
# systemctl enable iptables ip6tables
ನಾನು iptables ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ ಆಗಿ ಸಂಗ್ರಹಿಸಲು ಬಯಸುತ್ತೇನೆ (ಉದಾಹರಣೆ):
#!/bin/bash
#
# Disable IPv6
#
ip6tables --flush
ip6tables --delete-chain
ip6tables --policy INPUT DROP
ip6tables --policy FORWARD DROP
ip6tables --policy OUTPUT DROP
ip6tables-save > /etc/sysconfig/ip6tables
systemctl restart ip6tables
#
# Cleaning
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#
# Loopback, lan
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lan -j ACCEPT
#
# Ping, Established
#
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# NAT
#
iptables -t nat -A POSTROUTING -o wan -j MASQUERADE
#
# Saving
#
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables
ನಾವು ಮೇಲಿನ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ ಮತ್ತು ರಾಸ್ಪ್ಬೆರಿಯೊಂದಿಗೆ ಹೊಸ ವೈರ್ಡ್ SSH ಸಂಪರ್ಕಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೇವೆ. ಅದು ಸರಿ, ನಾವು Wi-Fi ರೂಟರ್ ಅನ್ನು ಮಾಡಿದ್ದೇವೆ, "ಇಂಟರ್ನೆಟ್ ಮೂಲಕ" ಪ್ರವೇಶವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷೇಧಿಸಲಾಗಿದೆ - ಈಗ "ಗಾಳಿಯಲ್ಲಿ" ಮಾತ್ರ. ನಾವು ಒದಗಿಸುವವರ ಈಥರ್ನೆಟ್ ಕೇಬಲ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುತ್ತೇವೆ ಮತ್ತು ಸರ್ಫಿಂಗ್ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ!
8. ಬೋನಸ್: +2,4GHz
ಮೇಲೆ ವಿವರಿಸಿದ ರೇಖಾಚಿತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ನಾನು ಮೊದಲ ರಾಸ್ಪ್ಬೆರಿ ರೂಟರ್ ಅನ್ನು ಜೋಡಿಸಿದಾಗ, ನನ್ನ ಮನೆಯಲ್ಲಿ ಹಲವಾರು ಗ್ಯಾಜೆಟ್ಗಳನ್ನು ನಾನು ಕಂಡುಹಿಡಿದಿದ್ದೇನೆ, ಅವುಗಳ Wi-Fi ವಿನ್ಯಾಸದ ಮಿತಿಗಳಿಂದಾಗಿ, "ರಾಸ್ಪ್ಬೆರಿ" ಅನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. 802.11b/g/n ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ರೂಟರ್ ಅನ್ನು ಮರುಸಂರಚಿಸುವುದು ಅಸ್ಪೋರ್ಟಿಂಗ್ ಆಗಿದೆ, ಏಕೆಂದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ "ಗಾಳಿಯಲ್ಲಿ" ಗರಿಷ್ಠ ವೇಗವು 40 Mbit ಅನ್ನು ಮೀರುವುದಿಲ್ಲ ಮತ್ತು ನನ್ನ ನೆಚ್ಚಿನ ಇಂಟರ್ನೆಟ್ ಪೂರೈಕೆದಾರರು ನನಗೆ 100 (ಕೇಬಲ್ ಮೂಲಕ) ನೀಡುತ್ತದೆ.
ವಾಸ್ತವವಾಗಿ, ಸಮಸ್ಯೆಗೆ ಪರಿಹಾರವನ್ನು ಈಗಾಗಲೇ ಕಂಡುಹಿಡಿಯಲಾಗಿದೆ: 2,4 GHz ಆವರ್ತನದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಎರಡನೇ Wi-Fi ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಎರಡನೇ ಪ್ರವೇಶ ಬಿಂದು. ಹತ್ತಿರದ ಸ್ಟಾಲ್ನಲ್ಲಿ ನಾನು ಮೊದಲನೆಯದನ್ನು ಖರೀದಿಸಿಲ್ಲ, ಆದರೆ ಎರಡನೇ ಯುಎಸ್ಬಿ ವೈ-ಫೈ "ವಿಸ್ಲ್" ಅನ್ನು ನಾನು ನೋಡಿದೆ. ಚಿಪ್ಸೆಟ್, ARM ಲಿನಕ್ಸ್ ಕರ್ನಲ್ಗಳೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಎಪಿ ಮೋಡ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ ಪ್ರಶ್ನೆಗಳಿಂದ ಮಾರಾಟಗಾರನು ಪೀಡಿಸಲ್ಪಟ್ಟನು (ಅವನು ಮೊದಲು ಪ್ರಾರಂಭಿಸಿದ).
ಅಂತರ್ನಿರ್ಮಿತ 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
ಅಷ್ಟೇ! "ಶಿಳ್ಳೆ" ಮತ್ತು "ರಾಸ್ಪ್ಬೆರಿ" ಅನ್ನು ಸ್ವತಃ ಎಳೆಯಿರಿ, ನಿಮ್ಮ ಸುತ್ತಲಿನ ವೈರ್ಲೆಸ್ ನೆಟ್ವರ್ಕ್ಗಳನ್ನು ನೋಡಿ.
ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಯುಎಸ್ಬಿ ವೈ-ಫೈ ಅಡಾಪ್ಟರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರಿಯ ವಿದ್ಯುತ್ ಪೂರೈಕೆಯ ಗುಣಮಟ್ಟವನ್ನು ನಾನು ನಿಮಗೆ ಎಚ್ಚರಿಸಲು ಬಯಸುತ್ತೇನೆ. ಸಂಪರ್ಕಿತ "ಹಾಟ್ ಸೀಟಿ" ಕೆಲವೊಮ್ಮೆ ಅಲ್ಪಾವಧಿಯ ವಿದ್ಯುತ್ ತೊಂದರೆಗಳಿಂದಾಗಿ "ರಾಸ್ಪ್ಬೆರಿ ಘನೀಕರಣ" ಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು.
ಮೂಲ: www.habr.com