เป€เบฃเบปเบฒเป€เบ•เบต Banana Pi R64 - Debian, Wireguard, RKN

Banana Pi 64 เปเบกเปˆเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบเบฐเบ”เบฒเบ™เบ”เบฝเบงเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Raspberry Pi, เปเบ•เปˆเบกเบตเบžเบญเบ” Ethernet เบซเบผเบฒเบเบญเบฑเบ™, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ router เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เปเบˆเบเบขเบฒเบ Linux เบ—เบปเปˆเบงเป„เบ›.

เป€เบฃเบปเบฒเป€เบ•เบต Banana Pi R64 - Debian, Wireguard, RKN

เปเบกเปˆเบ™เปเบฅเป‰เบง, เบกเบต Openwrt, เปเบ•เปˆเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, GUI เปเบฅเบฐ CLI โ€‹โ€‹เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡; เบกเบต Mikrotik, เปเบ•เปˆเบกเบฑเบ™เบกเบต GUI/CLI เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เปเบฅเบฐ Wireguard เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ™เบ—เบต... เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฃเบปเบฒเป€เบ•เบตเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบžเบฒเบเปƒเบ™เบ‚เบญเบšเบ‚เบญเบ‡ Linux เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เป‰เบญเบเปƒเบŠเป‰เบ—เบธเบเป†เบกเบทเป‰.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ BPI, R64, เบเบฐเบ”เบฒเบ™เบ”เบฝเบง, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบซเบกเบฒเบเป€เบ–เบดเบ‡เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™ - Banana Pi R64 เบเบฐเบ”เบฒเบ™เบ”เบฝเบง.

เบเบฒเบ™เป€เบฅเบทเบญเบเบฎเบนเบšเบžเบฒเบš. เบ”เบฒเบงเป‚เบซเบฅเบ”เบœเปˆเบฒเบ™ eMMC

เบ—เบฑเบเบชเบฐเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบ”เป‰เบกเบฒเป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš SBC เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เปเบฅเบฐเบเบฑเบš R64 เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เป‚เบซเบฅเบ”เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบกเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒ R64 เบšเปเปˆเบกเบตเบžเบญเบ”เบชเปเบฒเบฅเบฑเบšเบˆเปเบชเบฐเปเบ”เบ‡เบœเบปเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡ HDMI). เป€เบกเบทเปˆเบญเบ—เบธเบเบขเปˆเบฒเบ‡เบฅเบปเป‰เบกเบฅเบปเบ‡ - Wifi, Ethernet, Bluetooth, USB, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบขเบธเบ”เป€เบฎเบฑเบ”เบงเบฝเบ, เบกเบต UART, เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเบเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบ console, เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš R64 เบœเปˆเบฒเบ™ USB-UART:

  • เบžเบงเบเป€เบฎเบปเบฒเปเบฅเปˆเบ™เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบญเบฒเป„เบซเบผเปˆเบงเบดเบ—เบฐเบเบธเบชเบณเบฅเบฑเบšเบชเบฒเบ USB-UART (PL2303, Serial-to-USB)
  • เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ›เบฒเบ USB เบซเบ™เบถเปˆเบ‡เบเบฑเบšเบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เปเบฅเบฐเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡, UART, เบเบฑเบš R64, เบกเบตเบชเบฒเบกเบชเบฒเบเบญเบญเบเบˆเบฒเบเบชเบตเปˆ, เปƒเบ™เบฎเบนเบšเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.
  • เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™ console เบ„เบญเบกเบžเบดเบงเป€เบ•เบต sudo minicom

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, console เบเบฐเบ”เบฒเบ™เบ”เบฝเบงเบˆเบฐเบ›เบฒเบเบปเบ” = เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”.
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบ—เบตเปˆเบ™เบตเป‰.

เป€เบฃเบปเบฒเป€เบ•เบต Banana Pi R64 - Debian, Wireguard, RKN

เบ•เปเปˆเป„เบ›, เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เป‚เบซเบผเบ”เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบˆเบฒเบ SD card: เบ”เบฒเบงเป‚เบซเบฅเบ”เป‚เบ”เบ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เปเบฅเบฐโ€‹เบ•เบทเปˆเบกโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปƒเบชเปˆโ€‹:

unzip -p 2019-08-23-ubuntu-16.04-lite-preview-bpi-r64-sd-emmc.img.zip | pv | sudo dd of=/dev/mmcblk0 bs=10M status=noxfer

เบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆเบšเบฑเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบŠเปˆเบญเบ‡ R64 SD, เป€เบ›เบตเบ”เบกเบฑเบ™, เปเบฅเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™ console เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เป‚เบซเบผเบ” uboot เบ—เปเบฒเบญเบดเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เป‚เบซเบผเบ” Linux เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบšเบนเบ”เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เปƒเบŠเป‰เบšเบฑเบ” 64Gb เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบฅเป‰เบงเปƒเบ™ R8, เป€เบญเบตเป‰เบ™เบงเปˆเบฒ eMMC. เบญเบตเบ‡เบ•เบฒเบกเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบ™ wiki, เบžเบงเบเป€เบฎเบปเบฒเบ„เบฑเบ”เบฅเบญเบเบฎเบนเบšเบžเบฒเบšเปƒเบชเปˆเบญเบธเบ›เบฐเบเบญเบ™
/dev/mmcblk0 เบเบฑเบš BPI, reboot, เป€เบญเบปเบฒ SD card, เป€เบ›เบตเบ” BPI เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ ... เปเบฅเบฐเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบ. เบงเบดเบ—เบตเบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปเบฅเบฐเบ”เบฑเบ‡เบ™เบตเป‰เบ•เปเปˆเป„เบ› Boot select เบšเปเปˆ bother.

เบ„เบงเบฒเบกเบˆเบดเบ‡เปเบฅเป‰เบงเปเบกเปˆเบ™เบงเปˆเบฒเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบš BPI เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบ—เบธเบ‡เบžเบดเป€เบชเบ”เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฒเบกเบฒเบ” boot เบˆเบฒเบ flash drive เบžเบฒเบเปƒเบ™:

root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x00]
root@bpi-r64:~# ./mmc bootpart enable 1 1 /dev/mmcblk1
root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x48]

เบ•เปเปˆเป„เบ›, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™ preloader เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ boot partition เบžเบดเป€เบชเบ”

root@bpi-r64:~# echo 0 > /sys/block/mmcblk0boot0/force_ro 
root@bpi-r64:~# dd if=preloader_evb7622_64_foremmc.bin of=/dev/mmcblk0boot0

เบœเบนเป‰เบœเบฐเบฅเบดเบ” R64 (เบˆเบตเบ™) เบˆเบฑเบ”เบžเบตเบกเบกเบฒเบ™เบตเป‰ binary เบ—เบตเปˆเบ™เบตเป‰. เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เปเบกเปˆเบ™เบšเปเปˆเบฎเบนเป‰ (เบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡), เปเบ•เปˆเบกเบฑเบ™เบเปเปˆเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบกเบฑเบ™.

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบฎเบนเบšเบžเบฒเบšเบ•เปˆเบฒเบ‡เป†เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป‚เบซเบฅเบ”เบˆเบฒเบ eMMC. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ„เบดเบ”โ€‹เบญเบญเบโ€‹เปเบฅเบฐโ€‹เบชเป‰เบฒเบ‡โ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เบˆเบฒเบ scratchโ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบต (SD / eMMCโ€‹) เบ—เปˆเบฒเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบ‚เบฝเบ™โ€‹เบซเบผเบฒเบโ€‹เป„เบŸเบฅโ€‹เปŒ (preloader เบชเปเบฒโ€‹เบฅเบฑเบš SD cardโ€‹, ATFโ€‹, u-bootโ€‹) เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ” kernel เป„เบ”เป‰โ€‹. เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เปเบกเปˆเบ™เบเบฑเบ‡ เบเบณ เบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบ•เปˆโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เปเบฅเบฐโ€‹เบ”เบตโ€‹.

เบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเบ”เบฒเบงเป‚เบซเบฅเบ”เบœเปˆเบฒเบ™ eMMC, เบ”เป‰เบงเบเบ„เบงเบฒเบกเบŠเบทเปˆเบชเบฑเบ”, เบ‚เป‰เบญเบเบšเปเปˆเปƒเบŠเป‰เบกเบฑเบ™, SD card เปเบกเปˆเบ™เบžเบฝเบ‡เบžเป, เปเบ•เปˆเบ‚เป‰เบญเบเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบชเบฐเบ™เบฑเป‰เบ™เปƒเบซเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบก.

เบเบฒเบ™เป€เบฅเบทเบญเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบญเบฒเบกเป€เบšเบ

เปœเป‰เบฒเบงเบฝเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบณเบญเบดเบ”เปเบกเปˆเบ™เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ VPN, เบ•เบฒเบกเบ—เบณเบกเบฐเบŠเบฒเบ” Wireguardเบ‚เป‰เบญเบเป„เบ”เป‰เบ„เบปเป‰เบ™เบžเบปเบšเบ—เบฑเบ™เบ—เบตเบงเปˆเบฒ kernel เบšเปเปˆเป„เบ”เป‰เบ–เบทเบ compile เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบšเปเปˆเบกเบต headers. เบ‚เป‰เบญเบเป„เบ”เป‰เบชเป‰เบฒเบ‡ kernel เบ„เบทเบ™เปƒเปเปˆ เปเบฅเบฐ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบ™เบดเป„เบชเบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš x86, เป„เบ”เป‰เบชเป‰เบฒเบ‡เป‚เบกเบ”เบนเบ™ kernel เป‚เบ”เบเปƒเบŠเป‰ DKMS. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ„เบงเบฒเบกเป„เบงเปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบ™ ARM64, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบชเบณเบฅเบฑเบšเบชเบดเปˆเบ‡เบญเบณเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ, เบเปเปˆเป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเปœเป‰เบฒเบ›เบฐเบซเบผเบฒเบ”เปƒเบˆเบขเปˆเบฒเบ‡เบšเปเปˆเปœเป‰เบฒเป€เบŠเบทเปˆเบญ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบกเบ”เบนเบ™ kernel เบญเบทเปˆเบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบกเบฑเบ™เบ›เบฒเบเบปเบ”เบงเปˆเบฒเบชเบดเปˆเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš kernel เปเบกเปˆเบ™เบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐ compile เปƒเบ™เปเบฅเบฑเบšเบ—เบฑเบญเบš x86 เบ—เบตเปˆเบŠเบธเบ”เป‚เบŠเบก, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เบฑเบ”เบฅเบญเบ เปเบฅเบฐเบงเบฒเบ‡เปƒเบชเปˆ ARM64, เบฃเบตเบšเบนเบ”, เปเบฅเบฐเบ—เบปเบ”เบชเบญเบš.

เบชเปˆเบงเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบŠเป‰เบชเบญเบเบเปเปˆเป€เบ›เบฑเบ™เบญเบตเบเป€เบฅเบทเปˆเบญเบ‡เปœเบถเปˆเบ‡. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ Debian, เบ—เบธเบเบขเปˆเบฒเบ‡เบชเบณเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ arm64 เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เปเบžเบฑเบเป€เบเบ”เปเบฅเป‰เบง.debian.org เปเบฅเบฐ เบšเปเปˆเบˆเบณเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบงเบšเบฅเบงเบกเบซเบเบฑเบ‡เบ„เบทเบ™เปƒเปเปˆ.

เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบšเปเปˆเบœเบฐเบฅเบดเบ”เบฅเบปเบ”เบ–เบตเบšเบญเบทเปˆเบ™, I ported เบญเบฒเบ„เบปเบก เปƒเบ™ BPI R64.
เบซเบผเบทเปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบ™เบตเป‰: เบชเปˆเบงเบ™ userspace เปเบกเปˆเบ™ Armbian, เปเบฅเบฐ kernel เป„เบ”เป‰เบ–เบทเบเป€เบญเบปเบฒเบกเบฒเบˆเบฒเบ repository. Frank-เบ. เบฎเบนเบšเบžเบฒเบšเบซเบฅเป‰เบฒเบชเบธเบ”เบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบเบดเบ”โ€‹เบˆเบฐโ€‹เบเปเบฒโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ‚เบญเบ‡โ€‹เบชเปˆเบงเบ™โ€‹เบŠเบญเบšโ€‹เปเบงโ€‹เบ‚เบญเบ‡ R64 เปเบกเปˆเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹ forumเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบœเบนเป‰เบœเบฐเบฅเบดเบ”เป€เบญเบ‡เบเปเปˆเบžเบฐเบเบฒเบเบฒเบกเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบฃเบปเบฒเป€เบ•เบตเป‰เบชเบณเบฅเบฑเบš OpenWrt เป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบก, เปเบ•เปˆเบเป‰เบญเบ™เบเบดเบ”เบˆเบฐเบเบณเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Frank เบˆเบฒเบเป€เบขเบเบฅเบฐเบกเบฑเบ™, เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบฑเบ‡เปเบปเบ”เบˆเบถเปˆเบ‡เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปƒเบ™ kernel เบชเบณเบฅเบฑเบš Debian-เบ. เปœเป‰เบฒเปเบ›เบเปƒเบˆเบ—เบตเปˆ Frank เบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบขเบนเปˆเปƒเบ™เบ—เบธเบเป†เบซเบปเบงเบ‚เปเป‰เป€เบงเบ—เบตเบชเบปเบ™เบ—เบฐเบ™เบฒ.

เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบšเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบ: เบชเบฒเบเป„เบŸ

เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเบšเบญเบเบ—เปˆเบฒเบ™เบงเปˆเบฒ, เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ / เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบงเบฒเบ‡ SBC (เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ BPI) เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบชเบฒเบ Ethernet เป„เบ›เบซเบฒเบกเบฑเบ™เบˆเบฒเบเปเบซเบผเปˆเบ‡เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เปƒเบ™เบ—เบปเปˆเบงเบซเป‰เบญเบ‡ / เบซเป‰เบญเบ‡เบเบฒเบ™. เบ„เบงเบฒเบกเบˆเบดเบ‡เปเบฅเป‰เบงเปเบกเปˆเบ™เบงเปˆเบฒ, เปƒเบ™เบญเบตเบเบ”เป‰เบฒเบ™เบซเบ™เบถเปˆเบ‡, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบชเบฐเบซเบ™เบญเบ‡เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเบเบฑเบšเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, เปเบ•เปˆเปƒเบ™เบญเบตเบเบ”เป‰เบฒเบ™เบซเบ™เบถเปˆเบ‡, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเบ™เบฑเป‰เบ™เบชเบฒเบกเบฒเบ”เบ—เปเบฒเบฅเบฒเบ, เปเบฅเบฐเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” Wifi.

เบ—เปเบฒเบญเบดเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบŠเบทเป‰ USB-Wifi โ€œwhistleโ€ เบฅเบฒเบ„เบฒเบ–เบทเบ, เบชเบฝเบšเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบญเบ”เบ”เบฝเบงเปƒเบ™ BPI เปเบฅเบฐเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเบชเบฒเบเป„เบŸ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบŠเบทเป‰ TP-LINK TL-WN725N USB 2.0 เบ—เบตเปˆเบกเบตเบฅเบฒเบ„เบฒเบ–เบทเบ, เปเบ•เปˆเบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเบšเปเปˆเบ›เบดเบ”: เบชเปเบฒเบฅเบฑเบš whistle เป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบ”เป€เบงเบต kernel, เป€เบŠเบดเปˆเบ‡, เปเบ™เปˆเบ™เบญเบ™, เบšเปเปˆเบกเบตเบขเบนเปˆ. (เบ•เปเปˆเบกเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ›เบฐเบเบญเบšเป„เบ”เป€เบงเบต RTL8XXXU เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เปเบ•เปˆเบกเบฑเบ™เบเบฑเบ‡เปƒเบŠเป‰เบšเปเปˆเป„เบ”เป‰). เปเบฅเบฐเบชเบฒเบเบญเบตเป€เบ—เบตเป€เบ™เบฑเบ”เป„เบ”เป‰เบ—เปเบฒเบฅเบฒเบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเปเบฒเบˆเบฑเบ”เบชเบฒเบเป€เบ„เป€เบšเบตเบ™เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡ Tenda MW3 (เบฅเบฐเบšเบปเบšเบ•เบฒเบซเบ™เปˆเบฒเบ‡ Wi-Fi): เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบงเบฒเบ‡ cube เบซเบ™เบถเปˆเบ‡เบžเบฒเบเปƒเบ•เป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ BPI เบเบฑเบšเบžเบญเบ” LAN เบชเบธเบ”เบ—เป‰เบฒเบเบ”เป‰เบงเบเบชเบฒเบ Ethernet เบเบฒเบงเปเบกเบฑเบ”. เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”.

Wireguard, RKN, เบ™เบปเบ

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ Banana PI เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบ–เบทเบเบšเบฅเบฑเบญเบเป‚เบ”เบ RKN, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฒเบ™เป‚เบ— Telegram เปเบฅเบฐ Slack เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰. เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš Habre เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปเบฅเป‰เบงเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰: เป€เบงเบฅเบฒ, ะดะฒะฐ, เบชเบฒเบก.

เบ‚เป‰เบญเบเป„เบ”เป‰เปƒเบŠเป‰เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ™เบตเป‰เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เป‚เบ”เบเปƒเบŠเป‰ Ansible: เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”.

เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ VPS เบเบณเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰ Ubuntu เบงเบฑเบ™เบ—เบต 18.04 เป€เบกเบชเบฒ. เบ‚เป‰เบญเบเป„เบ”เป‰เบ—เบปเบ”เบชเบญเบšเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบชเบญเบ‡เปเบซเปˆเบ‡เปƒเบ™เป€เบญเบตเบฃเบปเบš: Amazon เปเบฅเบฐ Digital Ocean.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Armbian เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบ™ R64, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เป‚เบ”เบเบœเปˆเบฒเบ™ ssh เบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ hm-bananapi-1 เปเบฅเบฐโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป€เบ–เบดเบ‡โ€‹เบญเบดเบ™โ€‹เป€เบ•เบตโ€‹เป€เบ™เบฑเบ”โ€‹. เบžเบงเบเป€เบฎเบปเบฒเบ™เบณเปƒเบŠเป‰ Ansible, เบชเบฐเบ„เบฃเบดเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” เปเบฅเบฐเป€เบ›เบตเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบญเบ‡เบขเบนเปˆ R64:

# ะทะฐะฒะธัะธะผะพัั‚ะธ ะดะปั Debian-based ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะพะฒ
$ sudo apt install --no-install-recommends python3-pip python3-setuptools python3-wheel git
$ which pip3
/usr/bin/pip3

# ansible ั pybook, ัะบั€ะธะฟั‚ะพะฒะฐะฝะธะต ะฝะฐ Python
$ pip3 install https://github.com/muravjov/ansible/archive/ansible-2.10.0.dev0-pybook2019.tar.gz

$ export PATH=~/.local/bin:$PATH
$ which ansible-playbook
/home/sa/.local/bin/ansible-playbook

$ git clone https://github.com/muravjov/ansible-bpi-r64.git
$ cd ansible-bpi-r64

$ git submodule update --init

# ัƒะฑะตะถะดะฐะตะผัั ะฒ ะดะพัั‚ัƒะฟะฝะพัั‚ะธ hm-bananapi-1
$ ssh hm-bananapi-1 which python3
/usr/bin/python3

# ัะพะฑัั‚ะฒะตะฝะฝะพ ัƒัั‚ะฐะฝะพะฒะบะฐ
$ ansible-playbook ./router.py -l hm-bananapi-1

เบ•เปเปˆเป„เบ›, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰ VPN เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบš VPS เปƒเบ™เบ—เบฒเบ‡เบ”เบฝเบงเบเบฑเบ™:

ansible-playbook ./router.py -l current-vpn

เบ—เบตเปˆเบ™เบตเป‰เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบต - vpn, เปเบฅเบฐเบŠเบทเปˆ VPS เบ•เบปเบงเบˆเบดเบ‡เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™เบ•เบปเบงเปเบ› (เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบกเบฑเบ™เปเบกเปˆเบ™ paris-vpn-aws-t2-micro-1):

$ grep current_vpn group_vars/all 
current_vpn: paris-vpn-aws-t2-micro-1
#current_vpn: frankfurt-vpn-d0-starter-1

เป‚เบญเป‰ เปเบกเปˆเบ™เปเบฅเป‰เบง, เบเปˆเบญเบ™เบเบฒเบ™เบ”เบณเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ เป€เบˆเบปเป‰เบฒเบˆเบณเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเบฅเบฑเบš (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบเบฐเปเบˆ) Wireguard) เป„เบ›เบซเบฒเป‚เบŸเบ™เป€เบ”เบต ./secrets, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ„เบงเบ™เบˆเบฐเบ„เป‰เบฒเบเบ„เบท เบชเบฐเบ™เบฑเป‰เบ™.

เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” Ansible เปƒเบ™ Python

เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบš YAML, เบ„เปเบฒเบชเบฑเปˆเบ‡ Ansible เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบขเบนเปˆเปƒเบ™เบชเบฐเบ„เบดเบš Python. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš, เบงเบดเบ—เบตเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ daemon เบ™เบปเบเบŠเบฐเบ™เบดเบ”เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบด:

- name: start bird
  systemd:
    name: bird
    state: started
    enabled: yes

เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบœเปˆเบฒเบ™ Python:

with mapping:
    append("name", "start bird")
    with mapping("systemd"):
        append("name",  "bird")
        append("state", "started")
        append("enabled", "yes")

เบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Ansible เปƒเบ™ Python เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบ„เบทเบ™เปƒเบซเบกเปˆ, เปเบฅเบฐเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เป€เบ›เบตเบ”เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒเบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบปเปˆเบงเป„เบ›. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ™เบปเบเปƒเบ™ R64 เปเบฅเบฐ VPS:

install_bird("router/bird.conf.j2")
install_bird("vpn/bird.conf.j2")

เป€เบšเบดเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบŸเบฑเบ‡เบŠเบฑเบ™ install_bird().

เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ pybook เบ›เบฐเบ•เบดเบšเบฑเบ” เบ—เบตเปˆเบ™เบตเป‰. เบšเปเปˆเบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš pybook เป€เบ—เบทเปˆเบญ, เปเบ•เปˆเบ‚เป‰เบญเบเบˆเบฐเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡.

เบฅเบฒเบงเบ„เบดเบ”เปเบ™เบงเปƒเบ” เบชเบฒเบเบ™เป‰ เบณ เปƒเบ™เป‚เบญเบเบฒเบ”เบ™เบตเป‰.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก. Prometheus

เบ—เบฑเบ‡เบซเบกเบปเบ”: telegram เป€เบฎเบฑเบ”เบงเบฝเบ, linkedin เปเบฅเบฐ pornhub เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปเบกเปˆเบ™ ok. เปเบ•เปˆเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบชเบฒเบกเบฒเบ”เบ—เปเบฒเบฅเบฒเบ, เบฅเบงเบกเบ—เบฑเบ‡เบฎเบฒเบ”เปเบงเบ‚เบญเบ‡เบˆเบตเบ™.

เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เป€เบ„เบตเป€เบ™เบฅเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเปœเป‰เบฒเบชเบปเบ™เปƒเบˆเป„เบ”เป‰: เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เป€เบ„เบตเป€เบ™เบฅ 5.4 => 5.6, เบ”เบต, เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™ Wireguard เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเป‰เบง, เบšเปเปˆเบˆเบณเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚... เบšเปเปˆเบ”เบปเบ™เบเปเปˆเป€เบฎเบฑเบ”เบชเบณเป€เบฅเบฑเบ”: เบ‚เป‰เบญเบเป„เบ”เป‰เป‚เบญเบ™เปเบเป‰เป„เบ‚เบˆเบฒเบ 5.4 เป„เบ›เป€เบ›เบฑเบ™ 5.6 เบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”, kernel เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เป„เบ›เบซเบฒ VPS, เปเบ•เปˆ Bird เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ” "BGP Error"... "เบ”เป‰เบงเบเบ„เบงเบฒเบกเบ•เบปเบเปƒเบˆ, เบ‚เป‰เบญเบเป„เบ”เป‰เบเบปเบเป€เบฅเบตเบ" (c) เป„เบ›เป€เบ›เบฑเบ™ 5.4; เบเบฒเบ™เบเป‰เบฒเบเป„เบ›เป€เบ›เบฑเบ™ 5.6 เป„เบ”เป‰เบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™ TODO เปเบฅเป‰เบง.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ™เบญเบเป€เปœเบทเบญเป„เบ›เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบฃเบปเบฒเป€เบ•เบต เปเบฅเบฐ VPS, เบ‚เป‰เบญเบเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ (เปƒเบ™ x86 Ubuntu 18.04), เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป‚เบฎเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • prometheus, alertmanager, blackbox_exporter - เบ—เบฑเบ‡เปเบปเบ”เบขเบนเปˆเปƒเบ™ docker
  • เบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบŠเปˆเบญเบ‡เป‚เบ—เบฅเบฐเป€เบฅเบเป‚เบ”เบเปƒเบŠเป‰ metalmatze/alertmanager-bot bot - เปƒเบ™ Docker เป€เบŠเบฑเปˆเบ™เบเบฑเบ™
  • tor เบชเปเบฒเบฅเบฑเบš bot, เป€เบžเบทเปˆเบญเปƒเบซเป‰ bot เบชเบฒเบกเบฒเบ”เป€เบ•เบทเบญเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบตเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, เปเบ•เปˆ telegram เบเบฑเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เปเบฅเบฐ bot เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰.
  • เบ™เบณเปƒเบŠเป‰ เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™: NodeVPNT เบšเบฑเบ™เบซเบฒ (เบšเปเปˆเบกเบต ping เบซเบฒ VPS), BirdVPNT เบšเบฑเบ™เบซเบฒ (เบšเปเปˆเบกเบตเป€เบŠเบ”เบŠเบฑเบ™เบ™เบปเบ), AntifilterDownloadTroubles (เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบเบฒเบ™เป‚เบซเบฅเบ”เบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบ–เบทเบเบšเบฅเบฑเบญเบ), SiteTroubles (เป‚เบ—เบฅเบฐเป€เบฅเบเบšเปเปˆเบ”เบตเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰)
  • เบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบฅเบฐเบšเบปเบš, เบ•เบปเบงเบขเปˆเบฒเบ‡, HostGrowingDiskReadLatency (เบšเบฑเบ” SD เบฅเบฒเบ„เบฒเบ–เบทเบเบเบฒเบเป€เบ›เบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰)

เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก:

ansible-playbook ./monitoring.py -l monitoring-preprod

Auto Discovery เบชเปเบฒเบฅเบฑเบš Prometheus เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบขเบนเปˆเปƒเบ™เป‚เบŸเป€เบ”เบต /etc/prometheus/auto_http, เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป‚เบฎเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก (เป‚เบฎเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบเบงเบ”เบชเบญเบšเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™):

bash << 'EOF'
HOSTNAME=hm-bananapi-1
IP_ADDRESS=`ssh -G $HOSTNAME | awk '/^hostname / { print $2 }'`

ssh monitoring-preprod sudo sponge /etc/prometheus/auto_http/$HOSTNAME.json << EOF2
[
  {
    "targets": ["$IP_ADDRESS:9100"],
    "labels": {
      "env": "prod",
      "hostname": "$HOSTNAME"
    }
  }
]
EOF2
EOF

TODO: 2 เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™, 2 BPI, anycast failover

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบชเบญเบ‡เบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบซเบ™เบถเปˆเบ‡เบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบซเบผเบทเบžเบงเบเป€เบ‚เบปเบฒเบฅเบทเบกเบˆเปˆเบฒเบเบ„เปˆเบฒเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เปเบฅเบฐเบ›เบฑเบ”เปƒเบˆเบญเบทเปˆเบ™เป†เบ‚เบญเบ‡เบกเบฐเบ™เบธเบ”.

เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡ multi-wan เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบ เบ—เบตเปˆเบ™เบตเป‰ เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš Mwan3 เบžเบฒเบเปƒเบ•เป‰ Openwrt. เบเบฒเบ™เปเบเป‰เป„เบ‚เบ™เบตเป‰เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบญเบธเบ”เบปเบกเบชเบปเบกเบšเบนเบ™, เปเบ•เปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบš multi-wan เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบตเบšเบฑเบ™เบซเบฒ. เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡: เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเบกเบฒเบšเบฒเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบˆเบฒเบเบชเบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบžเบงเบเป€เบ‚เบปเบฒเบญเบฒเบ”เบˆเบฐเบšเปเปˆเบกเบฑเบเบกเบฑเบ™, เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบขเบธเบ”เป€เบฎเบฑเบ”เบงเบฝเบ => "เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ."

เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒ multihoming เบšเปเปˆเปเบกเปˆเบ™เบšเบนเบฅเบดเบกเบฐเบชเบดเบ”, เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบฅเบปเป‰เบกเป€เบซเบฅเบง. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเปƒเบ™เบชเบฐเบšเบฑเบšเบซเบฅเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡ Linux เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ„เบงเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบ™เบถเปˆเบ‡เป€เบŠเบฑเปˆเบ™:

ip route add default 
    nexthop via 192.168.1.1 weight 10 
    nexthop via 192.168.2.1 weight 5

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบˆเบธเบ”เบ”เบฝเบงเบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบง, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒ 2 BPIs, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบเบฑเบšเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบซเบ™เบถเปˆเบ‡, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบœเปˆเบฒเบ™เบ™เบปเบ / OSPF.

เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเป‚เบ„เบชเบฐเบ™เบฒเบ—เบตเปˆเบขเบนเปˆ IP เบ”เบฝเบงเบเบฑเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบซเบ™เบถเปˆเบ‡เบ–เป‰เบฒเบกเบตเบšเปเบฅเบดเบเบฒเบ™ (เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, DNS). เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เปเบ•เปˆเบœเปˆเบฒเบ™เบ™เบปเบ. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒ spyed เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚ เบ—เบตเปˆเบ™เบตเป‰ .

เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป‚เบฃเบ coronavirus insidious เป„เบ”เป‰เบซเบผเบดเป‰เบ™ trick เบ—เบตเปˆเบ™เบตเป‰ (เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบกเบฒเบˆเบฒเบ Aliexpress; เบฎเป‰เบฒเบ™เบ„เป‰เบฒเบญเบญเบ™เป„เบฅเบ™เปŒเบญเบทเปˆเบ™, Layta, เบชเบฑเบ™เบเบฒเบงเปˆเบฒเบˆเบฐเบˆเบฑเบ”เบชเบปเปˆเบ‡เปƒเบ™เบซเบ™เบถเปˆเบ‡เบญเบฒเบ—เบดเบ”, เปเบ•เปˆเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เป€เบ”เบทเบญเบ™เป„เบ”เป‰เบœเปˆเบฒเบ™เป„เบ›; เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเบชเบญเบ‡เบšเปเปˆเบกเบตเป€เบงเบฅเบฒ. เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบชเบฒเบเป€เบ„เป€เบšเบตเบ™เบเปˆเบญเบ™เบเบฒเบ™เบเบฑเบเบเบฑเบ™, เบžเบฝเบ‡เปเบ•เปˆเบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เป€เบˆเบฒเบฐเบฎเบนเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบชเปเบฒเบฅเบฑเบšเบชเบฒเบ).

เบงเบดเบ—เบตเบเบฒเบ™เบชเบฑเปˆเบ‡เบŠเบทเป‰ R64

เบเบฐเบ”เบฒเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฎเป‰เบฒเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™ SinoVoip.
เบกเบฑเบ™เบเบฑเบ‡เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบชเบฑเปˆเบ‡เบ—เบฑเบ™เบ—เบต:

  • เป‚เบžเบŠเบฐเบ™เบฒเบเบฒเบ™ + เปเบˆเป‰เบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเบฝเบš EU เบซเบผเบทเบชเบฐเบซเบฐเบฅเบฑเบ”
  • เป€เบ„เบทเปˆเบญเบ‡เบฅเบฐเบšเบฒเบเบ„เบงเบฒเบกเบฎเป‰เบญเบ™: radiators/fans; เป€เบžเบฒเบฐเบงเปˆเบฒเบ—เบฑเบ‡ CPU เปเบฅเบฐเบŠเบดเบšเบชเบฐเบซเบผเบฑเบšเบเบณเบฅเบฑเบ‡เบฎเป‰เบญเบ™เบ‚เบถเป‰เบ™
  • เป€เบชเบปเบฒเบญเบฒเบเบฒเบ”เบชเปเบฒเบฅเบฑเบš wifi, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™

เบกเบตเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ - เบฅเบฒเบ„เบฒเบชเบปเปˆเบ‡เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบฅเบฒเบ„เบฒเบ—เบตเปˆเบšเปเปˆเบžเบฝเบ‡เบžเปเปƒเบ™เบฎเป‰เบฒเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เป€เบงเบฅเบฒ. เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™ Judy Huang เบซเบกเบฑเป‰เบ™เปƒเบˆเบ‚เป‰เบญเบเบงเปˆเบฒเบšเปเปˆเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบ ePacket เปƒเบ™เบฅเบฒเบ„เบฒ 5 เป‚เบ”เบฅเบฒ, เปเบ•เปˆเบ‚เป‰เบญเบเป€เบซเบฑเบ™เบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบฅเบฑเบ”เป€เบŠเบเบกเบตเบžเบฝเบ‡เปเบ•เปˆ EMS เบชเปเบฒเบฅเบฑเบš > $ 33. เบšเปเปˆเบžเปเปƒเบˆ, เปเบ•เปˆเบšเปเปˆเบชเปเบฒเบ„เบฑเบ™. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบเบ›เบฐเป€เบ—เบ”เบญเบทเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡ (เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบœเปˆเบฒเบ™เบ—เบธเบเบ—เบฐเบงเบตเบš), เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบˆเบฐเบกเบตเบกเบนเบ™เบ„เปˆเบฒ ~ $ 5. Russophobes?.. เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบžเบปเบšเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบ—เบ”เบเบฃเบฑเปˆเบ‡เบฅเบฒเบ„เบฒเบชเบปเปˆเบ‡เปเบกเปˆเบ™เบเบฑเบ‡ ~ 30 เป‚เบ”เบฅเบฒ, เปเบฅเบฐเบ‚เป‰เบญเบเบเปเปˆเบชเบฐเบซเบ‡เบปเบšเบฅเบปเบ‡.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, Judy เบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบงเบฒเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบˆเปˆเบฒเบเป€เบ‡เบดเบ™ (hint: เปƒเบชเปˆเบšเบฑเบ”เบซเบ™เป‰เบญเบเบฅเบปเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฒเบ™เบˆเปˆเบฒเบเป€เบ‡เบดเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเปเปˆเบœเปˆเบฒเบ™); เบ‚เบฝเบ™เบซเบฒเบ™เบฒเบ‡เปเบฅเบฐเบ™เบฒเบ‡เบˆเบฐเบซเบผเบธเบ”เบฅเบฒเบ„เบฒเบชเบปเปˆเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด. เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”.

เบšเบฑเบ™เบซเบฒ

เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™

Ansible=เบ„เบณเบชเบฑเปˆเบ‡ Python เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เบŠเป‰เบฒเป†, เปเบกเป‰เปเบ•เปˆ idle ones, เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 20-30 เบงเบดเบ™เบฒเบ—เบต; เบฅเบณเบ”เบฑเบšเบ‚เบฐเปœเบฒเบ”เบ—เบตเปˆเบเบฒเบงเบเบงเปˆเบฒเปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‚เบ™เบ”เบšเบธเบ x86. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, ~ 3 เบงเบดเบ™เบฒเบ—เบต, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเบกเบฑเบ™เบŠเป‰เบฒเบฅเบปเบ‡เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเป‰เบญเบ™ CPU เบฎเป‰เบญเบ™เบ‚เบถเป‰เบ™ (throttling). เบฅเบฐเบซเบฑเบ” Go เบเบฑเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ:

# ะทะฐะฟั€ะพั ะผะตั‚ั€ะธะบ ะดะปั ะฟั€ะพะผะตั‚ะตั ะธะท node_exporter ะฝะฐ Go
$ time curl -s http://172.30.1.1:9100/metrics > /dev/null

real    0m6,118s
user    0m0,005s
sys     0m0,009s

# ะพะดะฝะฐะบะพ ั‚ะตะผะฟะตั€ะฐั‚ัƒั€ะฐ 51 ะณั€ะฐะดัƒั, ะฝะต ั‚ะฐะบ ะธ ะผะฝะพะณะพ
sa@bananapir64:~$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
51700

Wifi

Wifi เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเปƒเบ™ Armbian เบกเบฑเบ™เบขเบธเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบฐเบกเบฒเบ™เบซเบ™เบถเปˆเบ‡เบกเบทเป‰, เบ‚เบฝเบ™เบงเปˆเบฒ:

sa@bananapir64:~$ dmesg | grep -E 'mt7622_wmac.*timeout'
[470303.802539] mt7622_wmac 18000000.wmac: Message 38 (seq 3) timeout
[470314.042508] mt7622_wmac 18000000.wmac: Message 50 (seq 4) timeout
...

เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ›เบดเบ”เป€เบ›เบตเบ”เปƒเบซเบกเปˆเบเปเปˆเบŠเปˆเบงเบเป„เบ”เป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเป‰เบฒเบงเบ•เปเปˆเป„เบ› เบ„เบดเบ”เบญเบญเบ.

Ethernet

เบญเบตเป€เบ—เบตเป€เบ™เบฑเบ”เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบ ~64 เบŠเบปเปˆเบงเป‚เบกเบ‡เปเบžเบฑเบเป€เบเบฑเบ” (DHCP) เบˆเบฒเบ RXNUMX เบขเบธเบ”เบกเบฒเบฎเบญเบ”.
เบเบฒเบ™เบฃเบตเบชเบฐเบ•เบฒเบ”เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰เบŠเปˆเบงเบ:

ifdown br0; sleep 30; ifup br0

เป„เบ”เป€เบงเบตเปเบกเปˆเบ™เปƒเบซเบกเปˆ, เบกเบฑเบ™เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป€เบ‚เบปเป‰เบฒเปƒเบ™เปเบเปˆเบ™, เบ‚เป‰เบญเบเบซเบงเบฑเบ‡เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™ Landen Chao เบ‚เบญเบ‡เบˆเบตเบ™ เบชเปเบฒเป€เบฅเบฑเบ”เบกเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster