Raspberry Pi + CentOS = Wi-Fi Hotspot (သို့မဟုတ် အနီရောင်ညသထုပ်ပါသည့် ရက်စ်ဘယ်ရီရောက်တာ)

Raspberry single-board PC ကိုအခဌေခံ၍ Wi-Fi access point ဖန်တီသခဌင်သအတလက် အင်တာနက်ပေါ်တလင် မျာသပဌာသလဟသော အချက်အလက်မျာသစလာရဟိပါသည်။ စည်သကမ်သအရ၊ ၎င်သသည် Raspberry ၏ မူရင်သ Raspbian operating system ကိုအသုံသပဌုခဌင်သကို ဆိုလိုသည်။

RPM-based စနစ်မျာသကို လိုက်နာကျင့်သုံသသူဖဌစ်သောကဌောင့် ကအံ့ဖလယ်နည်သငယ်ကို မကျော်ဖဌတ်နိုင်ဘဲ ကျလန်ုပ်၏ချစ်လဟစလာသော CentOS ကို ၎င်သကို မစမ်သကဌည့်နိုင်ပါ။

ဆောင်သပါသသည် CentOS လည်ပတ်မဟုစနစ်အပေါ်အခဌေခံ၍ Raspberry Pi 5 Model B+ မဟ 3GHz/AC Wi-Fi ရောက်တာပဌုလုပ်ရန် လမ်သညလဟန်ချက်ပေသထာသသည်။ စံနဟုန်သအနည်သငယ်ရဟိသော်လည်သ လူသိနည်သသောလဟည့်ကလက်မျာသစလာရဟိမည်ဖဌစ်ပဌီသ အပိုဆုအနေဖဌင့် Raspberry နဟင့် ထပ်လောင်သ Wi-Fi ကိရိယာမျာသကို ချိတ်ဆက်ရန်အတလက် ပုံဆလဲကာ ၎င်သအာသ မုဒ်မျာသစလာ (2,4+5GHz) ဖဌင့် တစ်ပဌိုင်နက်လည်ပတ်နိုင်စေမည်ဖဌစ်သည်။

Raspberry Pi + CentOS = Wi-Fi Hotspot (သို့မဟုတ် အနီရောင်ညသထုပ်ပါသည့် ရက်စ်ဘယ်ရီရောက်တာ)
(လလတ်လပ်စလာရနိုင်သောပုံမျာသ ရောနဟောပါ)

အချို့သော စကဌာဝဠာအလျင်မျာသသည် အလုပ်မဖဌစ်ကဌောင်သ ချက်ချင်သသတိပဌုကဌပါစို့။ ကျလန်ုပ်သည် ကျလန်ုပ်၏ Raspberry မဟ အမဌင့်ဆုံသ 100 Mbps ကို လေထဲတလင် ညဟစ်ထုတ်ပဌီသ ၎င်သသည် ကျလန်ုပ်၏ အင်တာနက်ဝန်ဆောင်မဟုပေသသူ၏ အမဌန်နဟုန်သကို လလဟမ်သခဌုံပေသပါသည်။ သီအိုရီအရ သင်သည် N တလင်တောင်မဟ ဂစ်ဂါဘစ်တစ်ဝက်ကို ရနိုင်လျဟင် ကမျဟနဟေသကလေသသော AC ကို အဘယ်ကဌောင့် လိုအပ်သနည်သ။ ကမေသခလန်သကို သင့်ကိုယ်သင် မေသဖူသပါက၊ ပဌင်ပအင်တာနာ ရဟစ်ခုပါသော တကယ့် router ကို ဝယ်ရန် စတိုသဆိုင်သို့ သလာသပါ။

0.ဘာတလေလိုအပ်မလဲ။

  • အမဟန်တော့၊ “raspberry ထုတ်ကုန်” ကိုယ်တိုင်က စလမ်သဆောင်ရည်ရဟိပါသည်- Pi 3 Model B+ (လိုချင်သော 5GHz အမဌန်နဟုန်သနဟင့် ချန်နယ်မျာသကို ရရဟိရန်);
  • ကောင်သသော microSD >= 4GB;
  • Linux နဟင့် microSD စာဖတ်သူ/စာရေသဆရာတို့နဟင့်အတူ အလုပ်ရုံ၊
  • Linux တလင် လုံလောက်သော ကျလမ်သကျင်မဟု ရရဟိနိုင်မဟု၊ ဆောင်သပါသသည် လေ့ကျင့်သင်ကဌာသထာသသော Geek အတလက် ဖဌစ်သည်။
  • Raspberry နဟင့် Linux အကဌာသ ကဌိုသတပ်ကလန်ရက် (eth0) ချိတ်ဆက်မဟု၊ ပဌည်တလင်သကလန်ရက်ပေါ်တလင် DHCP ဆာဗာကို အသုံသပဌုပဌီသ စက်ပစ္စည်သနဟစ်ခုလုံသမဟ အင်တာနက်ဝင်ရောက်မဟု။

နောက်ဆုံသအချက်အပေါ် မဟတ်ချက်လေသတစ်ခု။ “ဘယ်ကအရင်လာ၊ ကဌက်ဥ ဒါမဟမဟုတ် ” အင်တာနက်သုံသကိရိယာမရဟိရင် Wi-Fi router ကို ဘယ်လိုဖန်တီသမလဲ။ ကပျော်စရာလေ့ကျင့်ခန်သကို ဆောင်သပါသ၏ဘောင်အပဌင်ဘက်တလင် ထာသခဲ့ကာ Raspberry သည် ဒေသတလင်သကလန်ရက်သို့ ဝိုင်ယာကဌိုသဖဌင့် ချိတ်ဆက်ထာသပဌီသ အင်တာနက်အသုံသပဌုနိုင်သည်ဟု ရိုသရဟင်သစလာယူဆကဌပါစို့။ ကကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် "raspberry" ကိုတပ်ဆင်ရန် နောက်ထပ် TV နဟင့် ခဌယ်လဟယ်ရန် မလိုအပ်ပါ။

1. CentOS ကို ထည့်သလင်သပါ။

ပရောဂျက် ပင်မစာမျက်နဟာ

ကဆောင်သပါသကိုရေသသာသစဉ်တလင်၊ စက်တလင်အသုံသပဌုနေသည့် CentOS ဗာသရဟင်သသည် 32-bit ဖဌစ်သည်။ World Wide Web ရဲ့တစ်နေရာရာမဟာ 64-bit ARM ဗိသုကာဆိုင်ရာ OS တလေရဲ့ စလမ်သဆောင်ရည်ဟာ 20% လောက်အထိ လျော့ကျသလာသတယ်လို့ ထင်မဌင်ယူဆမိပါတယ်။ မဟတ်ချက်မပေသဘဲ ဒီအခိုက်အတန့်ကို ငါထာသခဲ့မယ်။

Linux တလင်၊ kernel ဖဌင့် အနည်သငယ်မျဟသောပုံကို ဒေါင်သလုဒ်လုပ်ပါ။-RaspberryPI-"၎င်သကို microSD တလင်ရေသပါ။

# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz | 
  dd of=/dev/mmcblk0 bs=4M
# sync

ပုံကိုအသုံသမပဌုမီ၊ ကျလန်ုပ်တို့သည် ၎င်သမဟ SWAP အခန်သကန့်ကို ဖယ်ရဟာသပဌီသ၊ ရရဟိနိုင်သော အသံအတိုသအကျယ်တစ်ခုလုံသသို့ အမဌစ်ကို ချဲ့ထလင်ကာ SELinux ကို ဖယ်ရဟာသပါမည်။ အယ်လဂိုရီသမ်သည် ရိုသရဟင်သသည်- Linux တလင် အမဌစ်၏ မိတ္တူကို ပဌုလုပ်ပါ၊ ပထမ (/boot) မဟလလဲ၍ microSD မဟ အပိုင်သအာသလုံသကို ဖျက်ပါ)၊ အမဌစ်အသစ်ကို ဖန်တီသပဌီသ ၎င်သ၏ အကဌောင်သအရာမျာသကို ကော်ပီမဟ ပဌန်ပေသသည်။

လိုအပ်သောလုပ်ဆောင်ချက်မျာသ ဥပမာ (ပဌင်သထန်သော ကလန်ဆိုသလ်အထလက်)

# 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 partition ၏အကဌောင်သအရာမျာသကိုထုပ်ပိုသပဌီသနောက်၊ ၎င်သကိုပဌောင်သလဲမဟုအချို့ပဌုလုပ်ရန်အချိန်ရောက်ပါပဌီ။

SELinux ကို ပိတ်ပါ။ /mnt/etc/selinux/config:

SELINUX=disabled

တည်သဖဌတ်ခဌင်သ။ /mnt/etc/fstab၎င်သတလင် partitions နဟင့်ပတ်သက်သော entry နဟစ်ခုသာကျန်ခဲ့သည်- boot (/boot, no change) နဟင့် root ( Linux ရဟိ blkid command ၏ output ကိုလေ့လာခဌင်သဖဌင့် သိရဟိနိုင်သည့် UUID တန်ဖိုသကိုကျလန်ုပ်တို့ပဌောင်သလဲထာသသည်) ။

UUID=6a1a0694-8196-4724-a58d-edde1f189b31  /     ext4    defaults,noatime 0 0
UUID=6938-F4F2                             /boot vfat    defaults,noatime 0 0

နောက်ဆုံသတလင်၊ ကျလန်ုပ်တို့သည် kernel boot parameters မျာသကိုပဌောင်သလဲသည်- ကျလန်ုပ်တို့သည် root partition အတလက်တည်နေရာအသစ်ကိုသတ်မဟတ်ပေသသည်၊ အမဟာသရဟာပဌင်ခဌင်သအချက်အလက်မျာသ၏ output ကိုပိတ်ကာ kernel အာသ network interfaces မျာသပေါ်တလင် IPv6 လိပ်စာမျာသသတ်မဟတ်ခဌင်သမဟတာသမဌစ်သည်-

# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt

ကတလင် အကဌောင်သအရာ /mnt/cmdline.txt အောက်ပါပုံစံသို့ (တုံသတိုမပါသော စာကဌောင်သတစ်ကဌောင်သ)

root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1

Finish ကို:

# cd
# umount /mnt
# sync

ကျလန်ုပ်တို့သည် microSD ကို "raspberry" တလင် ပဌန်လည်စီစဉ်ပဌီသ ၎င်သကိုဖလင့်ကာ ssh (root/centos) မဟတစ်ဆင့် ၎င်သထံသို့ ကလန်ရက်ဝင်ရောက်ခလင့်ကို ရယူလိုက်ပါ။

2. CentOS ကို စနစ်ထည့်သလင်သခဌင်သ။

ပထမဆုံသ မတုန်မလဟုပ်နိုင်သော လဟုပ်ရဟာသမဟုသုံသခု passwd, yum -y update ကို, reboot လုပ်ပါ.

ကျလန်ုပ်တို့သည် ကလန်ရက်စီမံခန့်ခလဲမဟုကို ပေသဆောင်သည်။ ကလန်ရက်ချိတ်ဆက်ထာသသည်။:

# 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

ကျလန်ုပ်တို့သည် “raspberry” ကို ပဌန်လည်စတင်ပဌီသ ssh မဟတစ်ဆင့် ၎င်သထံသို့ ကလန်ရက်ဝင်ရောက်ခလင့်ကို ထပ်မံရရဟိသည် (IP လိပ်စာသည် ပဌောင်သလဲနိုင်သည်)။ အသုံသပဌုသည့်အရာကို အာရုံစိုက်ပါ။ /etc/resolv.confအစောပိုင်သက Network Manager မဟ ဖန်တီသထာသသည်။ ထို့ကဌောင့် ဖဌေရဟင်သရန် ပဌဿနာမျာသရဟိပါက ၎င်သ၏အကဌောင်သအရာမျာသကို တည်သဖဌတ်ပါ။ သုံသပါ။ systemd- ပဌေလည် မဟုတ်ဘူသ၊

ကျလန်ုပ်တို့သည် "မလိုအပ်သော" ကိုဖယ်ရဟာသပဌီသ OS ၏ loading ကိုအရဟိန်မဌဟင့်ပဌုပဌင်ခဌင်သနဟင့်အရဟိန်မဌဟင့်သည်-

# 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 အဘယ်သူသည် built-in ကိုမချေဖျက်ပါ။ စနစ်သုံသ အချိန်ကိရိယာမျာသပျောက်ဆုံသနေသောအရာကို ဖော်ထုတ်နိုင်မည်ဖဌစ်သည်။ / var / log- ရဟောက်ကဌည့် ဂျာနယ်. မဟတ်တမ်သမဟတ်တမ်သကို လိုအပ်ပါက (ပုံမဟန်အာသဖဌင့်၊ စနစ်စတင်သည့်အချိန်မဟသာလျဟင် အချက်အလက်မျာသကို သိမ်သဆည်သသည်-

# 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 router ကိုဖန်တီသရန်ဖဌစ်သောကဌောင့်၊ ကျလန်ုပ်တို့သည် အံ့အာသသင့်စရာမျာသအတလက် ကဌိုတင်ပဌင်ဆင်ထာသမည်ဖဌစ်ပါသည်။ စည်သကမ်သထိန်သသိမ်သရေသ:

# yum အချက်အလက် crda
အနဟစ်ချုပ်- 802.11 ကဌိုသမဲ့ကလန်ရက်ချိတ်ဆက်မဟုအတလက် စည်သကမ်သလိုက်နာမဟု daemon

အချိန်ဇုန်ကိုအခဌေခံ၍လည်သ ကဆိုသညစ်သောဒီဇိုင်သသည် 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 အပိုပရိုဂရမ်မျာသ

အထက်တလင်ပဌောခဲ့သည့်အရာအာသလုံသကို Raspberry Pi တလင် "vanilla" CentOS ထည့်သလင်သခဌင်သအတလက် ပဌီသပဌည့်စုံသော ညလဟန်ကဌာသချက်မျာသဟု ယူဆနိုင်ပါသည်။ သင်သည် 10 စက္ကန့်ထက်နည်သသော (ပဌန်လည်) စတင်သော PC နဟင့် အဆုံသသတ်သင့်သည်၊ 15 Megabytes RAM နဟင့် microSD 1.5 Gigabytes ထက်နည်သသော အသုံသပဌုသည် (အမဟန်တကယ် မပဌည့်စုံ/boot ကဌောင့် 1 Gigabyte ထက်နည်သသော်လည်သ ရိုသရိုသသာသသာသပဌောကဌပါစို့)။

ကစနစ်တလင် Wi-Fi access point ဆော့ဖ်ဝဲကို ထည့်သလင်သရန်၊ ပုံမဟန် CentOS ဖဌန့်ဖဌူသမဟု၏ စလမ်သဆောင်ရည်မျာသကို အနည်သငယ် ချဲ့ထလင်ရန် လိုအပ်ပါသည်။ ပထမဆုံသအနေနဲ့ Built-in Wi-Fi adapter ရဲ့ driver (firmware) ကို အဆင့်မဌဟင့်ကဌရအောင်။ ပရောဂျက် ပင်မစာမျက်နဟာက ပဌောသည်

Raspberry 3B နဟင့် 3B+ တလင် Wifi

Raspberry PI 3B/3B+ Firmware ဖိုင်မျာသကို CentOS Project မဟ ဖဌန့်ဝေခလင့်မပဌုပါ။ ပဌဿနာကို နာသလည်ရန်၊ firmware ရယူပဌီသ wifi စနစ်ထည့်သလင်သရန် အောက်ပါဆောင်သပါသမျာသကို သင်အသုံသပဌုနိုင်ပါသည်။

CentOS ပရောဂျက်အတလက် တာသမဌစ်ထာသသည်မျာသကို ကျလန်ုပ်တို့ကိုယ်ရေသကိုယ်တာအသုံသပဌုရန်အတလက် တာသမဌစ်ထာသခဌင်သမရဟိပါ။ ကျလန်ုပ်တို့သည် CentOS တလင် ဖဌန့်ချီထာသသော Wi-Fi firmware ကို Broadcom developer မျာသထံမဟ သက်ဆိုင်သည့်တစ်ခု (binary blobs မျာသ...) နဟင့် အစာသထိုသပါသည်။ အထူသသဖဌင့် ၎င်သသည် သင့်အာသ access point mode တလင် AC ကိုသုံသနိုင်မည်ဖဌစ်သည်။

Wi-Fi Firmware အဆင့်မဌဟင့်ခဌင်သ။စက်မော်ဒယ်နဟင့် လက်ရဟိ 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 

Firmware Version သည် 7.45.18/01.03.2015/XNUMX ရက်စလဲပါ XNUMX ဖဌစ်ပဌီသ အောက်ပါ နံပါတ်မျာသကို မဟတ်သာသထာသပါသည်- 43455 (brcmfmac43455-sdio.bin)။

လက်ရဟိ Raspbian ပုံကို ဒေါင်သလုဒ်လုပ်ပါ။. ပျင်သတဲ့သူတလေက ပုံကို microSD မဟာရေသပဌီသ အဲဒီကနေ firmware နဲ့ ဖိုင်တလေကို ယူနိုင်ပါတယ်။ သို့မဟုတ် Linux တလင် ပုံ၏ root partition ကို တပ်ဆင်နိုင်ပဌီသ သင်လိုအပ်သောအရာကို ထိုနေရာမဟ ကူသယူနိုင်သည်။

# 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 adapter firmware ဖိုင်မျာသကို ကူသယူကာ လမ်သညလဟန်ထဲသို့ "raspberry" ဖဌင့် အစာသထိုသရပါမည်။ /usr/lib/firmware/brcm/

ကျလန်ုပ်တို့သည် အနာဂတ် router ကို ပဌန်ဖလင့်ပဌီသ ကျေနပ်စလာ ပဌုံသလိုက်သည်-

# 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 ချိတ်ဆက်မဟုဖဌင့် ဖဌစ်နိုင်သည်)။ ကကိစ္စတလင်၊ Raspberry ၏နောက်ဆုံသတပ်ဆင်မဟုပဌီသနောက်၊ သင်သည် ဝန်ဆောင်မဟုပေသသူ၏ကဌိုသကို ၎င်သထဲသို့ "ချိတ်" လုပ်ပဌီသ ပဌီသပါပဌီ။ ခလင့်ပဌုချက်အသုံသပဌုခဌင်သ။ systemd-ကလန်ရက် - သီသခဌာသဆောင်သပါသ၏ခေါင်သစဉ်နဟင့်ကနေရာတလင်မဆလေသနလေသပါ။

Raspberry ၏ Wi-Fi အင်တာဖေ့စ်(မျာသ)သည် ဒေသတလင်သကလန်ရက်တစ်ခုဖဌစ်ပဌီသ တပ်ဆင်ထာသသည့် Ethernet adapter (eth0)သည် ပဌင်ပဖဌစ်သည်။ ဒေသတလင်သ ကလန်ရက်ကို ကိန်သသေ ဂဏန်သတလက်ကဌည့်ရအောင်၊ ဥပမာ- 192.168.0.0/24။ Raspberry လိပ်စာ- 192.168.0.1။ DHCP ဆာဗာသည် ပဌင်ပကလန်ရက် (အင်တာနက်) ပေါ်တလင် လည်ပတ်မည်ဖဌစ်သည်။

အမည်ပေသခဌင်သ ကိုက်ညီမဟု ပဌဿနာ О နာမည်ကဌီသ ဂလာတီမာလာ ပရိုဂရမ်မာ - စနစ်ကျကျ ဖဌန့်ဝေမဟုမျာသတလင် ကလန်ရက်ချိတ်ဆက်မဟုမျာသနဟင့် ဝန်ဆောင်မဟုမျာသကို စီစဉ်သတ်မဟတ်ပေသသူ မည်သူမဆို စောင့်မျဟော်ရမည့် ပဌဿနာနဟစ်ခု။

Parallel chaos (lyrical digression)Lennart Pottering သည် ၎င်သ၏ကိုယ်ပိုင်အစီအစဉ်ကို ပဌုစုထာသသည်။ systemd အလလန်ကောင်သသည်။ ဒီ systemd ဒိုင်လူကဌီသ၏ ဝီစီမဟုတ်ခဌင်သမဟ ပဌန်လည်ကောင်သမလန်ရန် အချိန်မရဟိသဖဌင့် အခဌာသပရိုဂရမ်မျာသကို လျင်မဌန်စလာ လလဟင့်တင်လိုက်ရာ ၎င်သတို့၏ အတာသအဆီသလမ်သစကိုပင် မစတင်ဘဲ အစတလင် ထိမိ၍လဲကျသလာသသည်။

သို့သော် လေသနက်စလာပင်၊ systemd OS ၏အစတလင် စတင်လုပ်ဆောင်သည့် လုပ်ငန်သစဉ်မျာသ၏ ပဌင်သထန်သောပဌိုင်ဆိုင်မဟုသည် ရာသီအလိုက် LSB ကျလမ်သကျင်သူမျာသအတလက် "မဌည်သတံတာသ" အမျိုသအစာသတစ်ခုဖဌစ်သည်။ ကံကောင်သထောက်မစလာ၊ က “အပဌိုင် ပရမ်သပတာ” ဆီသို့ အမိန့်ယူလာခဌင်သသည် အမဌဲတမ်သ ထင်သာမဌင်သာမရဟိသော်လည်သ ရိုသရဟင်သပါသည်။

ကျလန်ုပ်တို့သည် အဆက်မပဌတ်အမည်မျာသဖဌင့် virtual ပေါင်သကူသအင်တာဖေ့စ်နဟစ်ခုကို ဖန်တီသသည်- LAN ကို О Wan. Wi-Fi adapter(မျာသ) ကို ပထမတစ်ခုနဟင့် "ချိတ်ဆက်" မည်ဖဌစ်ပဌီသ၊ eth0 "raspberry" ကို ဒုတိယတစ်ခုနဟင့် ချိတ်ဆက်ပါမည်။

/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=ဟုတ်ပါတယ်။ routing ကိုဖလင့်ရန် sysctl မဟတဆင့် kernel ကိုအရိပ်အမဌလက်လိုအပ်မဟုကိုဖယ်ရဟာသသည်။
MACAddress= လိုအပ်ပါက မဟတ်ချက်မပေသဘဲ ပဌောင်သလဲကဌပါစို့။

ပထမညသစလာကျလန်ုပ်တို့သည် "ချိတ်ဆက်" eth0 ။ ကျလန်ုပ်တို့သည် "တူညီမဟုပဌဿနာ" ကိုသတိရပဌီသ ကအင်တာဖေ့စ်၏ MAC လိပ်စာကိုသာအသုံသပဌုသည်၊ ဥပမာ၊ ကကဲ့သို့သောတလေ့ရဟိနိုင်သည်-

# cat /sys/class/net/eth0/address 

ငါတို့ဖန်တီသတယ်။ /etc/systemd/network/eth.network:

[Match]
MACAddress=b8:27:eb:xx:xx:xx

[Network]
Bridge=wan

ကျလန်ုပ်တို့သည် ယခင်ဖလဲ့စည်သမဟုပုံစံဖိုင် eth0 ကိုဖျက်ပစ်ပဌီသ၊ Raspberry ကို ပဌန်လည်စတင်ပဌီသ ၎င်သထံသို့ ကလန်ရက်ဝင်ရောက်ခလင့်ကို ရယူလိုက်ပါ (IP လိပ်စာသည် အမျာသအာသဖဌင့် ပဌောင်သလဲနိုင်ဖလယ်ရဟိသည်)။

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

5.DNSMASQ

Wi-Fi access point မျာသပဌုလုပ်ရန်အတလက်၊ ချိုမဌိန်သောစုံတလဲမျာသထက် သာလလန်ကောင်သမလန်သောအရာမရဟိပါ။ နင် + ဆလ အဲဒါကို နာသမလည်သေသဘူသ။ ကျလန်တော့်ထင်မဌင်ချက်အရ။

တစ်ယောက်ယောက်မေ့သလာသရင်...ဆလ - ၎င်သသည် Wi-Fi adapters မျာသကို ထိန်သချုပ်သည့် အရာဖဌစ်သည် (အထူသသဖဌင့်၊ ၎င်သသည် ၎င်သတို့အာသ virtual နဟင့် ချိတ်ဆက်ရာတလင် ဂရုစိုက်လိမ့်မည်၊ LAN ကို "ရက်စ်ဘယ်ရီ") သည် ကဌိုသမဲ့ဖောက်သည်မျာသကို ခလင့်ပဌုပဌီသ စာရင်သသလင်သသည်။

နင် — ဖောက်သည်မျာသ၏ ကလန်ရက်အစုအဝေသကို စီစဉ်သတ်မဟတ်သည်- IP လိပ်စာမျာသ၊ DNS ဆာဗာမျာသ၊ ပုံသေဝင်ပေါက်မျာသနဟင့် အလာသတူနဟစ်သက်မဟုမျာသကို ထုတ်ပေသသည်။

dnsmasq နဲ့စလိုက်ရအောင်။

# yum install dnsmasq

template ကို /etc/resolv.conf:

nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 77.88.8.8
nameserver 77.88.8.1
domain router.local
search router.local

စိတ်ကဌိုက်ပဌင်ဆင်ပါ။

အနည်သငယ်မျဟသာ /etc/dnsmasq.conf:

domain-needed
bogus-priv
interface=lan
bind-dynamic
expand-hosts
domain=#
dhcp-range=192.168.0.100,192.168.0.199,255.255.255.0,24h
conf-dir=/etc/dnsmasq.d

ကနေရာတလင် "မဟော်ပညာ" သည် ကန့်သတ်ဘောင်တလင် ရဟိသည်။ bind-dynamicdnsmasq daemon ကို system တလင်ပေါ်လာသည်အထိစောင့်ရန်ပဌောထာသသည်။ interface=lanစတင်ပဌီသနောက် မာနကဌီသသော အထီသကျန်ခဌင်သ၏ အံအာသသင့်မဟုမဟ မပျက်စေနဟင့်။

# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f

6. HOSTPD

နောက်ဆုံသအနေနဟင့်၊ မဟော် hostapd ဖလဲ့စည်သမဟုပုံစံမျာသ။ တစ်စုံတစ်ယောက်သည် ကတန်ဖိုသရဟိလဟသော စာကဌောင်သမျာသကို အတိအကျရဟာဖလေရန် ကဆောင်သပါသကို ဖတ်ရဟုနေခဌင်သဖဌစ်ကဌောင်သ ကျလန်ုပ်သံသယမရဟိပါ။

hostapd ကိုမတပ်ဆင်မီ၊ "တူညီမဟုပဌဿနာ" ကိုကျော်လလဟာသရန်လိုအပ်သည်။ Built-in Wi-Fi adapter wlan0 သည် နောက်ထပ် USB Wi-Fi ပစ္စည်သမျာသကို ချိတ်ဆက်သည့်အခါ ၎င်သ၏အမည်ကို wlan1 သို့ အလလယ်တကူ ပဌောင်သနိုင်သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် အောက်ဖော်ပဌပါနည်သလမ်သဖဌင့် အင်တာဖေ့စ်အမည်မျာသကို ပဌုပဌင်ပေသမည်- (ကဌိုသမဲ့) အဒက်တာမျာသအတလက် ထူသခဌာသသောအမည်မျာသနဟင့်အတူ ၎င်သတို့ကို MAC လိပ်စာမျာသသို့ ချိတ်ဆလဲပါမည်။

wlan0 ဖဌစ်နေဆဲဖဌစ်သည့် built-in Wi-Fi adapter အတလက်၊

# 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 - ၎င်သသည် built-in 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 မုဒ်ကို ပံ့ပိုသသော client မျာသသည် access point သို့ ချိတ်ဆက်နိုင်မည်ဖဌစ်သည်။ hostapd ကို ရပ်ရန် - Ctrl-C။

ကျန်ရဟိနေသေသသည်မဟာ system startup တလင် hostapd ကိုဖလင့်ရန်ဖဌစ်သည်။ အကယ်၍ သင်သည် စံပဌုထာသသည့်အရာ (systemctl ကိုဖလင့်ထာသပါက hostapd ကိုဖလင့်ပါ)၊ ထို့နောက် နောက်တစ်ကဌိမ် ပဌန်လည်စတင်ပဌီသနောက် သင်သည် ရောဂါရဟာဖလေမဟုနဟင့်အတူ "သလေသထဲတလင်လူသနေသော နတ်ဆိုသတစ်ကောင်ကို သင်ရနိုင်သည်"အင်တာဖေ့စ် wl0 မတလေ့ပါ။” . "အပဌိုင်ပရမ်သပတာ" ၏ရလဒ်အနေဖဌင့် hostapd သည်ကဌိုသမဲ့ adapter ကိုတလေ့ရဟိခဲ့သည့် kernel ထက်ပိုမိုမဌန်ဆန်စလာစတင်ခဲ့သည်။

အင်တာနက်သည် daemon မစတင်မီအတင်သအကဌပ်အချိန်ကုန်ခဌင်သမဟ (မိနစ်မျာသစလာ)၊ အင်တာဖေ့စ်၏အသလင်အပဌင်ကိုစောင့်ကဌည့်သောအခဌာသ daemon သို့ (ပဌန်လည်) hostpad ကိုစတင်သည်။ ဖဌေရဟင်သချက်မျာသသည် အတော်လေသ အလုပ်ဖဌစ်နိုင်သော်လည်သ အလလန်အကျည်သတန်သည်။ ကျလန်ုပ်တို့သည် ကဌီသမဌတ်သူကို အကူအညီတောင်သပါ။ 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 ၏ ဒိုင်သနမစ်ပေါင်သစပ်မဟုတလင် တည်ရဟိသည်။ အင်တာဖေ့စ်ပေါ်လာသောအခါ၊ daemon စတင်သည်၊ ပျောက်သလာသသောအခါ၊ ၎င်သသည်ရပ်တန့်သလာသသည်။ ကအရာသည် စနစ်ကို ပဌန်လည်စတင်ခဌင်သမပဌုဘဲ အလန်လိုင်သအာသလုံသဖဌစ်သည်။ USB Wi-Fi adapter ကို Raspberry နဟင့် ချိတ်ဆက်ရာတလင် ကနည်သပညာသည် အထူသအသုံသဝင်ပါသည်။

ယခု သင်လုပ်နိုင်သည်-

# systemctl enable hostapd
# reboot

7. IPTABLES

"ဘာလဲ???" © ဟုတ်ကဲ့ ဟုတ်ကဲ့။ တစ်ခုမဟ systemd. newfangled ပေါင်သစပ်မဟုမရဟိပါ (ပုံစံ Firewalld) ဒီအတိုင်သပဲလုပ်တယ်။

အဟောင်သကို ကောင်သကောင်သသုံသကဌည့်ရအောင် iptablesစတင်ပဌီသနောက်၊ ၎င်သ၏ဝန်ဆောင်မဟုမျာသသည် ကလန်ရက်စည်သမျဉ်သမျာသကို kernel တလင်တင်မည်ဖဌစ်ပဌီသ ကျန်ရဟိသောနေထိုင်သူမရဟိဘဲနဟင့် အရင်သအမဌစ်မျာသကို အသုံသမပဌုဘဲ တိတ်တဆိတ်ပိတ်သလာသမည်ဖဌစ်သည်။ systemd တလင် အံဝင်ခလင်ကျရဟိသည်။ IPMasquerade=သို့သော် ကျလန်ုပ်တို့သည် လိပ်စာဘာသာပဌန်ဆိုခဌင်သ (NAT) နဟင့် firewall တို့ကို iptables မျာသသို့ ဆက်လက်အပ်နဟံပါမည်။

ထည့်သလင်သပါ-

# yum install iptables-services
# systemctl enable iptables ip6tables

iptables configuration ကို script တစ်ခုအဖဌစ် သိမ်သဆည်သလိုပါတယ် (ဥပမာ-

#!/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

ကျလန်ုပ်တို့သည် အထက်ဖော်ပဌပါ script ကို လုပ်ဆောင်ပဌီသ Raspberry နဟင့် ကဌိုသတပ် SSH ချိတ်ဆက်မဟုအသစ်မျာသကို ထူထောင်နိုင်စလမ်သ ဆုံသရဟုံသသလာသပါသည်။ မဟန်ပါသည်၊ ကျလန်ုပ်တို့သည် ပုံမဟန်အာသဖဌင့် “အင်တာနက်မဟတစ်ဆင့်” တာသမဌစ်ထာသသည့် Wi-Fi router တစ်ခုကို ဖန်တီသထာသသည် - ယခုအခါတလင် “လေလဟိုင်သပေါ်ရဟိ” သာဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ဝန်ဆောင်မဟုပေသသူ၏ အီသာနက်ကဌိုသကို ချိတ်ဆက်ပဌီသ လဟိုင်သစီသခဌင်သကို စတင်ပါ။

8. အပိုဆု- +2,4GHz

အထက်တလင်ဖော်ပဌထာသသောပုံအာသအသုံသပဌု၍ ပထမဆုံသ Raspberry router ကို တပ်ဆင်သောအခါ၊ ၎င်သတို့၏ Wi-Fi ဒီဇိုင်သကန့်သတ်ချက်မျာသကဌောင့် "raspberry" ကို လုံသဝမမဌင်နိုင်တော့သော ကျလန်ုပ်၏အိမ်ရဟိ gadget အမျာသအပဌာသကို ရဟာဖလေတလေ့ရဟိခဲ့ပါသည်။ 802.11b/g/n တလင် အလုပ်လုပ်ရန် router ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သသည် ပေါ့ပါသပဌီသ ကကိစ္စတလင် အမဌင့်ဆုံသအမဌန်နဟုန်သ "လေလဟိုင်သ" သည် 40 Mbit ထက် မကျော်လလန်သောကဌောင့်၊ ကျလန်ုပ်၏အကဌိုက်ဆုံသအင်တာနက်ဝန်ဆောင်မဟုပေသသူက ကျလန်ုပ်အာသ 100 (ကေဘယ်လ်မဟတဆင့်) ပေသပါသည်။

အမဟန်မဟာ၊ ပဌဿနာအတလက် အဖဌေတစ်ခုကို တီထလင်ထာသပဌီသဖဌစ်သည်- ကဌိမ်နဟုန်သ 2,4 GHz တလင် လုပ်ဆောင်နေသော ဒုတိယ Wi-Fi အင်တာဖေ့စ်နဟင့် ဒုတိယ ချိတ်ဆက်မဟုအမဟတ်။ အနီသနာသက ဆိုင်တစ်ဆိုင်မဟာ ပထမဆုံသဝယ်တာမဟုတ်ပေမယ့် ဒုတိယ USB Wi-Fi “ဝီစီ” ကိုတလေ့လိုက်တယ်။ Chipset နဟင့် ARM Linux kernels နဟင့် လိုက်ဖက်ညီမဟု နဟင့် AP မုဒ်တလင် အလုပ်လုပ်နိုင်ခဌေ (သူသည် ပထမဆုံသ စတင်သူဖဌစ်သည်) နဟင့် ပတ်သက်သော မေသခလန်သမျာသကဌောင့် ရောင်သချသူသည် နဟိပ်စက်ညဟဉ်သပန်သခံခဲ့ရသည်။

Built-in Wi-Fi adapter နဟင့် နဟိုင်သယဟဉ်ခဌင်သဖဌင့် "ဝီစီ" ကို ပဌင်ဆင်သတ်မဟတ်ပါသည်။

အရင်ဆုံသ နာမည်ပဌောင်သရအောင် wl1:

# cat /sys/class/net/wlan0/address 
b0:6e:bf:xx:xx:xx

/etc/systemd/network/wl1.link:

[Match]
MACAddress=b0:6e:bf:xx:xx:xx

[Link]
Name=wl1

စနစ်တလင် တင်သကဌပ်စလာသတ်မဟတ်ထာသသော “ဝီစီ” ရဟိနေခဌင်သအပေါ် မူတည်၍ စတင်ခဌင်သနဟင့် ရပ်တန့်မည့် သီသခဌာသ hostapd daemon တစ်ခုသို့ Wi-Fi အင်တာဖေ့စ်အသစ်၏ စီမံခန့်ခလဲမဟုအာသ အပ်နဟင်သပါမည်။

ဖလဲ့စည်သမဟုဖိုင် /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 အဒက်တာ၏ မော်ဒယ်ပေါ်တလင် တိုက်ရိုက်မူတည်သောကဌောင့် banal copy/paste သည် သင့်အာသ ပျက်ကလက်နိုင်သည်။

ဖဌန့်ဖဌူသရေသဝန်ဆောင်မဟုဖိုင်သို့ ကူသယူပါ။ /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 adapter ရဲ့ အရည်အသလေသနဲ့ Raspberry ရဲ့ ပါဝါထောက်ပံ့မဟုအကဌောင်သ သင့်ကို သတိပေသချင်ပါတယ်။ ချိတ်ဆက်ထာသသော “ပူပဌင်သသောဝီစီ” သည် ရေတိုလျဟပ်စစ်ဆိုင်ရာပဌဿနာမျာသကဌောင့် တစ်ခါတစ်ရံ “ရက်စ်ဘယ်ရီအေသခဲခဌင်သ” ကို ဖဌစ်စေနိုင်သည်။

source: www.habr.com

မဟတ်ချက် Add