เดฌเดจเดพเดจ เดชเตˆ R64 เดฑเต‚เดŸเตเดŸเตผ - เดกเต†เดฌเดฟเดฏเตป, เดตเดฏเตผเด—เดพเตผเดกเต, RKN

เดฌเดจเดพเดจ เดชเตˆ 64 เดฑเดพเดธเตโ€Œเดฌเต†เดฑเดฟ เดชเตˆเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เด’เดฑเตเดฑ-เดฌเต‹เตผเดกเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดจเดฟเดฐเดตเดงเดฟ เด‡เดฅเตผเดจเต†เดฑเตเดฑเต เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด‰เดณเตเดณเดคเดฟเดจเดพเตฝ, เด‡เดคเต เด’เดฐเต เดชเตŠเดคเต-เด‰เดฆเตเดฆเต‡เดถเตเดฏ เดฒเดฟเดจเด•เตเดธเต เดตเดฟเดคเดฐเดฃเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด’เดฐเต เดฑเต‚เดŸเตเดŸเดฑเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต.

เดฌเดจเดพเดจ เดชเตˆ R64 เดฑเต‚เดŸเตเดŸเตผ - เดกเต†เดฌเดฟเดฏเตป, เดตเดฏเตผเด—เดพเตผเดกเต, RKN

เด…เดคเต†, เด‡เดคเดฟเดจเด•เด‚ Openwrt เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเต เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเดฃเตเดŸเต, เด…เดคเดฟเดจเตเดฑเต† GUI, CLI; Mikrotik เด‰เดฃเตเดŸเต, เดชเด•เตเดทเต‡ เดตเต€เดฃเตเดŸเตเด‚ เด…เดคเดฟเดจเต เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ GUI/CLI เด‰เดฃเตเดŸเต, เดตเดฏเตผเด—เดพเตผเดกเต เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ... เดชเตŠเดคเตเดตเต‡, เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดฒเดฟเดจเด•เตโ€Œเดธเดฟเดจเตเดฑเต† เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเดฟเดจเตเดณเตเดณเดฟเตฝ เดจเดฟเตฝเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดจเดฟเด•เตเด•เต เดตเดดเด•เตเด•เดฎเตเดณเตเดณ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดฑเต‚เดŸเตเดŸเตผ เดตเต‡เดฃเด‚. เดŽเดฒเตเดฒเดพ เดฆเดฟเดตเดธเดตเตเด‚ เด•เต‚เดŸเต†.

BPI, R64, เดธเดฟเด‚เด—เดฟเตพ เดฌเต‹เตผเดกเต เดŽเดจเตเดจ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดžเดพเตป เด’เดฐเต‡ เด•เดพเดฐเตเดฏเด‚ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเด‚ - เดฌเดจเดพเดจ เดชเตˆ R64 เดธเดฟเด‚เด—เดฟเตพ เดฌเต‹เตผเดกเต เดคเดจเตเดจเต†.

เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. eMMC เดตเดดเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดจเต‡เดŸเต‡เดฃเตเดŸ เด†เดฆเตเดฏเดคเตเดคเต† เดตเตˆเดฆเด—เตเดฆเตเดงเตเดฏเด‚ เดŽเดธเต.เดฌเดฟ.เดธเดฟ. เดชเตŠเดคเตเดตเต‡, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต R64 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด’เดฐเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดŽเด™เตเด™เดจเต† เด…เดคเดฟเตฝ เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เดชเด เดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเตเดฎเดพเดฏเดฟ เด‡เดŸเดชเดดเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚, เด•เดพเดฐเดฃเด‚ R64 เดจเต เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเต เด‡เดฒเตเดฒ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต HDMI). เดŽเดฒเตเดฒเดพเด‚ เดคเด•เดฐเดพเดฑเดฟเดฒเดพเดฏเดชเตเดชเต‹เตพ - เดตเตˆเดซเตˆ, เด‡เดฅเตผเดจเต†เดฑเตเดฑเต, เดฌเตเดฒเต‚เดŸเต‚เดคเตเดคเต, เดฏเตเดŽเดธเตเดฌเดฟ เดฎเตเดคเดฒเดพเดฏเดต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเดฟ. เด’เดฐเต UART เด‰เดฃเตเดŸเต, เด…เดคเดฟเดจเตเดฑเต† เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดŽเดจเตเดคเดพเดฃเต เดคเต†เดฑเตเดฑเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เด•เดพเดฃเดพเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เด•เตบเดธเต‹เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดฃเตเดŸเต เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

USB-UART เดตเดดเดฟ R64-เดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด…เตฝเด—เต‹เดฐเดฟเดคเด‚:

  • USB-UART เด•เต‡เดฌเดฟเดณเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เดฑเต‡เดกเดฟเดฏเต‹ เดชเดพเตผเดŸเตเดธเต เดธเตเดฑเตเดฑเต‹เดฑเดฟเดฒเต‡เด•เตเด•เต เด“เดŸเตเดจเตเดจเต (PL2303, เดธเต€เดฐเดฟเดฏเตฝ-เดŸเต-เดฏเตเดŽเดธเตเดฌเดฟ)
  • เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดฒเต†เดจเตเดจเดชเต‹เดฒเต† เดจเดพเดฒเดฟเตฝ เดฎเต‚เดจเตเดจเต เดตเดฏเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต USB เดŽเตปเดกเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เดฎเดฑเตเดฑเตŠเดจเตเดจเต UART R64 เดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•
  • เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เด•เตบเดธเต‹เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• sudo minicom

เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เดฎเดฟเด•เตเด• เด•เต‡เดธเตเด•เดณเดฟเดฒเตเด‚ เดธเดฟเด‚เด—เดฟเตพ เดฌเต‹เตผเดกเต เด•เตบเดธเต‹เตพ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚ = เดตเดฟเดœเดฏเด‚.
เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ เด‡เดตเดฟเดŸเต†.

เดฌเดจเดพเดจ เดชเตˆ R64 เดฑเต‚เดŸเตเดŸเตผ - เดกเต†เดฌเดฟเดฏเตป, เดตเดฏเตผเด—เดพเตผเดกเต, RKN

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด’เดฐเต SD เด•เดพเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดเดฑเตเดฑเดตเตเด‚ เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เดฎเดพเตผเด—เตเด—เด‚: เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• เดฒเดฟเด™เตเด•เต เดšเดฟเดคเตเดฐเด‚ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเด•:

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 เดธเตเดฒเต‹เดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เด•เดพเตผเดกเต เดคเดฟเดฐเตเด•เตเด•เดฏเตเด‚ เด…เดคเต เด“เดฃเดพเด•เตเด•เตเด•เดฏเตเด‚ เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เด•เตบเดธเต‹เตพ เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด†เดฆเตเดฏเด‚ uboot เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เดธเดพเดงเดพเดฐเดฃ Linux เดฒเต‹เดกเดฟเด‚เด—เต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

eMMC เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ R64-เตฝ เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš 8Gb เด•เดพเตผเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดฎเดฑเตเดฑเตŠเดฐเต เดฌเต‚เดŸเตเดŸเต เด“เดชเตเดทเตป. เดตเดฟเด•เตเด•เดฟเดฏเดฟเดฒเต† เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดžเด™เตเด™เตพ เดšเดฟเดคเตเดฐเด‚ เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเด•เตผเดคเตเดคเตเดจเตเดจเต
/dev/mmcblk0 BPI-เดฒเต‡เด•เตเด•เต, เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•, SD เด•เดพเตผเดกเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•, BPI เดตเต€เดฃเตเดŸเตเด‚ เด“เดฃเดพเด•เตเด•เตเด•... เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เด™เตเด™เต‹เดŸเตเดŸเตเด‚ เด‡เด™เตเด™เต‹เดŸเตเดŸเตเด‚ เดŽเด™เตเด™เดจเต† เดชเต‹เด•เตเด‚ Boot select เดถเดฒเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฐเตเดคเต.

เด’เดฐเต เด‡เดจเตเดฑเต‡เดฃเตฝ เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด•เตเดฑเดžเตเดžเดคเต BPI เดฏเตเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเตเดฒเดพเด—เต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค.

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]

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฌเต‚เดŸเตเดŸเต เดชเดพเตผเดŸเตเดŸเต€เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเต€เดฒเต‹เดกเตผ เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต

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

เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเดตเต R64 (เดšเตˆเดจ) เดˆ เดฌเตˆเดจเดฑเดฟ เดชเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเต เด‡เดตเดฟเดŸเต†. เด‡เดคเต เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเดจเตเดจเดคเต เด…เดœเตเดžเดพเดคเดฎเดพเดฃเต (เดธเต‹เดดเตเดธเต เด•เต‹เดกเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ), เดชเด•เตเดทเต‡ เด‡เดคเต เด•เต‚เดŸเดพเดคเต† เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เดชเตŠเดคเตเดตเต‡, เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เด‡เดŽเด‚เดŽเด‚เดธเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเดจเตเด‚ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เด‡เดฎเต‡เดœเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดฐเดฃเตเดŸเต เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚ (SD/eMMC) เด•เต‡เตผเดฃเตฝ เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดซเดฏเดฒเตเด•เตพ (SD เด•เดพเตผเดกเดฟเดจเตเดณเตเดณ เดชเตเดฐเต€เดฒเต‹เดกเตผ, ATF, u-boot) เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดˆ เดตเดฟเดทเดฏเด‚ เด‡เดชเตเดชเต‹เดดเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เดณเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚ เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเตเดฏเด‚ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดถเดฐเดฟเดฏเดพเดฃเต เดŽเดจเตเดจเดคเดพเดฃเต.

เด‡เดชเตเดชเต‹เตพ เดžเดพเตป eMMC เดตเดดเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดธเดคเตเดฏเด‚ เดชเดฑเดžเตเดžเดพเตฝ, เดžเดพเตป เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด’เดฐเต SD เด•เดพเตผเดกเต เดฎเดคเดฟ, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดžเดพเตป เดงเดพเดฐเดพเดณเด‚ เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเดšเตเดšเต, เด…เดคเดฟเดจเดพเตฝ เด…เดคเต เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดŸเตเดŸเต†.

เด’เดฐเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. เด†เตผเด‚เดฌเดฟเดฏเตป

เดธเตเดตเดพเดญเดพเดตเดฟเด•เดฎเดพเดฏเตเด‚ เดตเดฏเตผเด—เดพเตผเดกเต เด’เดฐเต VPN เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด†เดฆเตเดฏเดคเตเดคเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดŸเดพเดธเตโ€Œเด•เต. เด•เต‡เตผเดฃเตฝ เดญเดพเด—เดคเตเดคเต เด…เดคเต เด…เดธเด‚เดฌเดฟเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เดนเต†เดกเดฑเตเด•เตพ เด‡เดฒเตเดฒเต†เดจเตเดจเตเด‚ เด‰เดŸเตป เดคเดจเตเดจเต† เด•เดฃเตเดŸเต†เดคเตเดคเดฟ. เดžเดพเตป เด•เต‡เตผเดฃเตฝ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต, x86 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดŽเดจเตเดฑเต† เดถเต€เดฒเด‚ เดชเต‹เดฒเต†, DKMS เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เตพ เด…เดธเด‚เดฌเดฟเตพ เดšเต†เดฏเตเดคเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, arm64-เตฝ เดšเต†เดฑเดฟเดฏ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เดชเต‹เดฒเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดตเต‡เด—เดค เดŽเดจเตเดจเต† เด…เดฐเต‹เดšเด•เดฎเดพเดฏเดฟ เด†เดถเตเดšเดฐเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ. เดคเตเดŸเตผเดจเตเดจเต เดฎเดฑเตเดฑเตŠเดฐเต เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดชเตŠเดคเตเดตเต‡, เด•เต‡เตผเดฃเดฒเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เดšเต‚เดŸเตเดณเตเดณ x86 เดฒเดพเดชเตโ€ŒเดŸเต‹เดชเตเดชเดฟเตฝ เดฎเดฟเด•เดšเตเดš เดฐเต€เดคเดฟเดฏเดฟเตฝ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดชเด•เตผเดคเตเดคเดฟ, เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดคเต เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต R64 เดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต.

เดฎเดฑเตเดฑเตŠเดฐเต เด•เดพเดฐเตเดฏเด‚ เดฏเต‚เดธเตผเดธเตเดชเต‡เดธเต เดญเดพเด—เดฎเดพเดฃเต. เดกเต†เดฌเดฟเดฏเตป เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจ เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, arm64 เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเด‚ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ.debian.org-เตฝ เด‰เดฃเตเดŸเต, เด’เดจเตเดจเตเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

เดฎเดฑเตเดฑเตŠเดฐเต เดธเตˆเด•เตเด•เดฟเตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป, เด เดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดคเต เด…เตผเดฎเตเดชเดฟเดฏเตป BPI R64-เตฝ.
เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต: เดฏเต‚เดธเตผเดธเตเดชเต‡เดธเต เดญเดพเด—เด‚ Armbian เด†เดฃเต, เด•เต‚เดŸเดพเดคเต† เด•เต‡เตผเดฃเตฝ เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดŸเตเดคเตเดคเดคเดพเดฃเต เดคเตเดฑเดจเตเดจเตเดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจ-เดŽ. เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดšเดฟเดคเตเดฐเด‚ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเด‚ เด‡เดตเดฟเดŸเต†.

R64-เดจเตเดฑเต† เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเด•เดธเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดจเดŸเด•เตเด•เตเดจเตเดจเต เดซเต‹เดฑเด‚. เดชเตŠเดคเตเดตเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, Openwrt-เดจเตเดณเตเดณ เดฑเต‚เดŸเตเดŸเตผ เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเด•เตเด•เดพเตป เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเดตเต เดคเดจเตเดจเต† เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดœเตผเดฎเตเดฎเดจเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเต†เดตเดฒเดชเตเดชเตผ เดซเตเดฐเดพเด™เตเด•เดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เดŽเดฒเตเดฒเดพ เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเด‚ เดกเต†เดฌเดฟเดฏเดจเตเดณเตเดณ เด•เต‡เตผเดฃเดฒเดฟเตฝ เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดถเดฏเด•เดฐเดฎเต†เดจเตเดจเต เดชเดฑเดฏเดŸเตเดŸเต†, เดŽเดฒเตเดฒเดพ เดซเต‹เดฑเด‚ เดคเตเดฐเต†เดกเดฟเดฒเตเด‚ เดซเตเดฐเดพเด™เตเด•เต เดธเดœเต€เดตเดฎเดพเดฃเต.

เดตเตผเด•เตเด•เตเดธเตเดชเต‡เดธเต เด“เตผเด—เดจเตˆเดธเต‡เดทเตป: เดตเดฏเดฑเตเด•เตพ

เดตเต†เดตเตเดตเต‡เดฑเต†, เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต/เดŸเต†เดธเตโ€Œเดฑเตเดฑเดฟเด‚เด—เต เดธเดฎเดฏเดคเตเดคเต, เด’เดฐเต เดŽเดธเตโ€Œเดฌเดฟเดธเดฟ (เดฌเดฟเดชเดฟเด เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ) เด’เดฐเต เดฎเต‡เดถเดชเตเดชเตเดฑเดคเตเดคเต เดŽเด™เตเด™เดจเต† เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เด…เด™เตเด™เดจเต† เด’เดฐเต เด‡เดฅเตผเดจเต†เดฑเตเดฑเต เด•เต‡เดฌเดฟเตพ เด’เดฐเต เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตเดฑเดฟเดฏเดฟเตฝ/เด“เดซเต€เดธเดฟเตฝ เด‰เดŸเดจเต€เดณเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดฐเตเดคเต. เด’เดฐเต เดตเดถเดคเตเดคเต, เดจเดฟเด™เตเด™เตพ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดจเตฝเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค, เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดตเดถเดคเตเดคเต, เด† เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพเด‚ เดคเด•เดฐเตเด‚, เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ เดตเตˆเดซเตˆ.

เด†เดฆเตเดฏเด‚, เดžเดพเตป เด’เดฐเต เดตเดฟเดฒเด•เตเดฑเดžเตเดž เดฏเตเดŽเดธเตเดฌเดฟ-เดตเตˆเดซเตˆ "เดตเดฟเดธเดฟเตฝ" เดตเดพเด™เตเด™เดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต, เด…เดคเต เดฌเดฟเดชเดฟเดเดฏเดฟเดฒเต† เดเด• เดชเต‹เตผเดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฒเด—เต เดšเต†เดฏเตเดคเต เดตเดฏเดฑเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดฑเด•เตเด•เตเด•. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเดพเตป เดตเดฟเดฒเด•เตเดฑเดžเตเดž TP-LINK TL-WN725N USB 2.0 เดตเดพเด™เตเด™เดฟ, เดชเด•เตเดทเต‡ เด…เดคเต เดŸเต‡เด•เตเด•เต เด“เดซเต เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดตเดณเดฐเต† เดตเต‡เด—เด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ: เดตเดฟเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เต‡เตผเดฃเตฝ เดกเตเดฐเตˆเดตเตผ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต. (เดชเดฟเดจเตเดจเต€เดŸเต เดžเดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฏ RTL8XXXU เดกเตเดฐเตˆเดตเตผ เด•เต‚เดŸเตเดŸเดฟเดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต, เดชเด•เตเดทเต‡ เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เด…เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฃเต ). เด‡เดฅเตผเดจเต†เดฑเตเดฑเต เด•เต‡เดฌเดฟเตพ เด•เตเดฑเดšเตเดšเตเดจเต‡เดฐเด‚ เดฎเตเดฑเดฟเดฏเตเดŸเต† เดฐเต‚เดชเด‚ เดจเดถเดฟเดชเตเดชเดฟเดšเตเดšเต.

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดŸเต†เตปเดก เดŽเด‚เดกเดฌเตเดฒเตเดฏเต 3 (เดตเตˆเดซเตˆ เดฎเต†เดทเต เดธเดฟเดธเตเดฑเตเดฑเด‚) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‡เดฌเดฟเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเด•เตเดทเดชเตเดชเต†เดŸเดพเตป เดŽเดจเดฟเด•เตเด•เต เด•เดดเดฟเดžเตเดžเต: เดžเดพเตป เด’เดฐเต เด•เตเดฏเต‚เดฌเต เดฎเต‡เดถเดฏเตเดŸเต† เด…เดŸเดฟเดฏเดฟเตฝ เดตเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดฌเดฟเดชเดฟเดเดฏเต† เด’เดฐเต เดฎเต€เดฑเตเดฑเตผ เดจเต€เดณเดฎเตเดณเตเดณ เด‡เดฅเตผเดจเต†เดฑเตเดฑเต เด•เต‡เดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเดจเตเดฑเต† เดฒเดพเตป เดชเต‹เตผเดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เดตเดฟเดœเดฏเด‚.

เดตเดฏเตผเด—เดพเตผเดกเต, RKN, เดชเด•เตเดทเดฟ

เดฌเดจเดพเดจ เดชเดฟเด เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด•เดพเดฐเตเดฏเด‚ เด†เตผเด•เต†เดŽเตป เดฌเตเดฒเต‹เด•เตเด•เต เดšเต†เดฏเตเดค เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดธเต—เดœเดจเตเดฏ เด†เด•เตโ€Œเดธเดธเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดŽเดจเตเดจเดคเดพเดฃเต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚, เดธเตเดฒเดพเด•เตเด•เต เด•เต‹เดณเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป. เดˆ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดนเดฌเตเดฐเต†เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฒเต‡เด–เดจเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต: เดคเดตเดฃ, ะดะฒะฐ, เดฎเต‚เดจเตเดจเต.

Ansible เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเดพเตป เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดˆ เดชเดฐเดฟเดนเดพเดฐเด‚ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเต: เดฒเดฟเด™เตเด•เต.

VPS เด‰เดฌเตเดฃเตเดŸเต 18.04 เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดฏเต‚เดฑเต‹เดชเตเดชเดฟเดฒเต† เดฐเดฃเตเดŸเต เดนเต‹เดธเตเดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดค เดžเดพเตป เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต: เด†เดฎเดธเต‹เดฃเตเด‚ เดกเดฟเดœเดฟเดฑเตเดฑเตฝ เด“เดทเตเดฏเดจเตเด‚.

เด…เดคเดฟเดจเดพเตฝ, R64-เตฝ เดžเด™เตเด™เตพ เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ Armbian เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต, เด…เดคเต เดชเต‡เดฐเดฟเตฝ ssh เดตเดดเดฟ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต hm-bananapi-1 เด•เต‚เดŸเดพเดคเต† เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เด†เด•เตเดธเดธเต เด‰เดฃเตเดŸเต. เดžเด™เตเด™เตพ เด…เตปเดธเดฟเดฌเดฟเตพ, เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏเดฟ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•เดฏเตเด‚ 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

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ VPS-เดฒเต‡เด•เตเด•เต เดžเด™เตเด™เดณเตเดŸเต† VPN เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

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

เด‡เดตเดฟเดŸเต† เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เดจเดฟเดฒเดตเดฟเดฒเต†-เดตเดฟเดชเดฟเดŽเตป เด†เดฃเต, เดฏเดฅเดพเตผเดคเตเดฅ เดตเดฟเดชเดฟเดŽเดธเต เดชเต‡เดฐเต เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เด‡เดคเต 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

เด“, เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเต เดจเดฟเด™เตเด™เตพ เดฐเดนเดธเตเดฏเด™เตเด™เตพ (เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดตเดฏเตผเด—เดพเตผเดกเต เด•เต€เด•เตพ) เดซเต‹เตพเดกเดฑเดฟเดฒเต‡เด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. ./secrets, เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เด‡เดคเตเดชเต‹เดฒเต† เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เด…เดคเตเดชเต‡เดพเดฒเต†.

เดชเตˆเดคเตเดคเดฃเดฟเดฒเต† เด…เตปเดธเดฟเดฌเดฟเตพ เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป

YAML เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, Ansible เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตˆเดคเตเดคเตบ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เดคเดพเดฐเดคเดฎเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดธเดพเดงเดพเดฐเดฃ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเด•เตเดทเดฟ เดกเต†เดฎเตบ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเด‚:

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

เดชเตˆเดคเตเดคเตบ เดตเดดเดฟ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดพเด‚:

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

เดชเตˆเดคเตเดคเดฃเดฟเตฝ เด…เตปเดธเดฟเดฌเดฟเตพ เด•เดฎเดพเตปเดกเตเด•เตพ เดŽเดดเตเดคเตเดจเตเดจเดคเต เด•เต‹เดกเต เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เดชเตŠเดคเตเดตเต‡ เดชเตŠเดคเต-เด‰เดฆเตเดฆเต‡เดถเตเดฏ เดญเดพเดทเดฏเตเดŸเต† เดŽเดฒเตเดฒเดพ เดธเดพเดงเตเดฏเดคเด•เดณเตเด‚ เดคเตเดฑเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, R64, VPS เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดชเด•เตเดทเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

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

เดซเด‚เด—เตเดทเตป เด•เต‹เดกเต เด•เดพเดฃเตเด• install_bird().

เดˆ เดธเดตเดฟเดถเต‡เดทเดค เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต pybook เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ เด‡เดตเดฟเดŸเต†. pybook-เตฝ เด‡เดคเตเดตเดฐเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดžเดพเตป เดˆ เดชเตเดฐเดถเตเดจเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด‚.

เด…เดตเตป เดŽเดจเตเดคเดพเดฃเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดชเตเดธเตเดŸเตเดฐเต€เด‚ เดˆ เด…เดตเดธเดฐเดคเตเดคเดฟเตฝ.

เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚. เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเต

เด†เด•เต†: เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดฒเดฟเด™เตเด•เตเดกเดฟเตป, เดชเต‹เตบเดนเดฌเต เดŽเดจเตเดจเดฟเดตเดฏเตเด‚, เดชเตŠเดคเตเดตเต† เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เดจเตเดญเดตเด‚ เดถเดฐเดฟเดฏเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เดšเตˆเดจเต€เดธเต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เด‰เตพเดชเตเดชเต†เดŸเต† เดŽเดฒเตเดฒเดพเด‚ เดคเด•เตผเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เด•เต‡เตผเดฃเตฝ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เดณเตเด‚ เดฐเดธเด•เดฐเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚: เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เต‡เตผเดฃเตฝ 5.4 => 5.6 เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต, เดถเดฐเดฟ, เดตเดฏเตผเด—เดพเตผเดกเต เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เด‰เดฃเตเดŸเต, เดชเดพเดšเตเดšเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ... เด…เดงเดฟเด•เด‚ เดตเตˆเด•เดพเดคเต† เดชเดฑเดžเตเดžเต: เดžเดพเตป 5.4-เตฝ เดจเดฟเดจเตเดจเต เดชเดพเดšเตเดšเตเด•เตพ เดตเดณเดฐเต† เด•เดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเต เดฎเดพเดฑเตเดฑเดฟ. 5.6-เดฒเต‡เด•เตเด•เต, เด•เต‡เตผเดฃเตฝ เด†เดฐเด‚เดญเดฟเดšเตเดšเต, VPS-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดคเตเดฐเด™เตเด•เด‚ เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดคเต, เดชเด•เตเดทเต‡ เดชเด•เตเดทเดฟเด•เตเด•เต "BGP เดชเดฟเดถเด•เต" เดŽเดจเตเดจ เดชเดฟเดถเด•เตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ ... "เดžเดพเตป เดญเต€เดคเดฟเดฏเต‹เดŸเต† เดคเดฟเดฐเดฟเดšเตเดšเตเดชเต‹เดฏเดฟ" (c) เดฒเต‡เด•เตเด•เต 5.4; 5.6 เดฒเต‡เด•เตเด•เตเดณเตเดณ เดจเต€เด•เตเด•เด‚ TODO-เดฏเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดตเดšเตเดšเต.

เด…เดคเดฟเดจเดพเตฝ, เดฑเต‚เดŸเตเดŸเดฑเตเด‚ เดตเดฟเดชเดฟเดŽเดธเตเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดชเตเดฑเดฎเต‡, เดžเดพเตป เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดšเต‡เตผเดคเตเดคเต (x86 เด‰เดฌเตเดฃเตเดŸเต 18.04 เตฝ), เด…เดคเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด˜เดŸเด•เด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดนเต‹เดธเตเดฑเตเดฑเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต:

  • เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต, เด…เดฒเตผเดŸเตเดŸเตเดฎเดพเดจเต‡เดœเตผ, เดฌเตเดฒเดพเด•เตเด•เตเดฌเต‹เด•เตเดธเต_เดŽเด•เตเดธเตเดชเต‹เตผเดŸเตเดŸเตผ - เดŽเดฒเตเดฒเดพเด‚ เดกเต‹เด•เตเด•เดฑเดฟเดฒเดพเดฃเต
  • metalmatze/alertmanager-bot bot เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดšเดพเดจเดฒเดฟเดฒเต‡เด•เตเด•เต เด…เดฒเต‡เตผเดŸเตเดŸเตเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต - เดกเต‹เด•เตเด•เดฑเดฟเดฒเตเด‚
  • เดฌเต‹เดŸเตเดŸเดฟเดจเดพเดฏเดฟ เดŸเต‹เตผ, เด…เดคเตเดตเดดเดฟ เดฌเต‹เดŸเตเดŸเดฟเดจเต เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เด‰เดณเตเดณเดชเตเดชเต‹เตพ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เตพ เด…เดฑเดฟเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดชเด•เตเดทเต‡ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดฌเต‹เดŸเตเดŸเดฟเดจเต เดคเดจเตเดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ
  • เด…เดชเต‡เด•เตเดทเดฟเดšเตเดšเต เด…เดฒเต‡เตผเดŸเตเดŸเตเด•เตพ: NodeVPNTเดŸเตเดฐเดฌเดฟเตพเดธเต (VPS-เดฒเต‡เด•เตเด•เต เดชเดฟเด‚เด—เต เด‡เดฒเตเดฒ), BirdVPNTเดŸเตเดฐเดฌเดฟเตพเดธเต (เดฌเต‡เตผเดกเต เดธเต†เดทเตป เด‡เดฒเตเดฒ), AntifilterDownloadTroubles (เดคเดŸเดžเตเดž IP เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดชเดฟเดถเด•เต), SiteTroubles (เดฆเตเตผเดญเดพเด—เตเดฏเด•เดฐเดฎเดพเดฏ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดฒเดญเตเดฏเดฎเดฒเตเดฒ)
  • เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดฒเต‡เตผเดŸเตเดŸเตเด•เตพ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, HostGrowingDiskReadLatency (เดตเดฟเดฒเด•เตเดฑเดžเตเดž SD เด•เดพเตผเดกเต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ)

เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดธเดœเตเดœเต€เด•เดฐเดฃ เด‰เดฆเดพเดนเดฐเดฃเด‚:

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

เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดนเต‹เดธเตเดฑเตเดฑเต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ (เดนเต‹เดธเตเดฑเตเดฑเตเด•เตพ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ):

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

เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต: 2 เดฆเดพเดคเดพเด•เตเด•เตพ, 2 BPI, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดฐเดพเดœเดฏเด‚

เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดฐเดฃเตเดŸเต เดฆเดพเดคเดพเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เดชเดฆเตเดงเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฐเตเดจเตเดจเต, เด…เด™เตเด™เดจเต† เด’เดฐเต เดฆเดพเดคเดพเดตเดฟเดจเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตฝ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดตเตผ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดชเดฃเด‚ เดจเตฝเด•เดพเตป เดฎเดฑเดจเตเดจเตเดชเต‹เดฏเดพเดฒเตเด‚ เดฎเดฑเตเดฑเต เดฎเดพเดจเตเดทเดฟเด• เด˜เดŸเด•เด™เตเด™เดณเตเด‚ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เดคเตเดŸเตผเดจเตเดจเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚.

เดฎเตพเดŸเตเดŸเดฟ-เดตเดพเตป เดŽเดจเตเดจ เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต† เดเดฑเตเดฑเดตเตเด‚ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เดจเตเดญเดตเด‚ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด‡เดตเดฟเดŸเต† Openwrt-เดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ Mwan3 เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเดพเดฏเดฟ. เดˆ เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเดจเต เดธเดฎเตเดชเดจเตเดจเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดคเดฏเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดฎเตพเดŸเตเดŸเดฟ-เดตเดพเดจเดฟเดจเดพเดฏเดฟ เด‡เดคเต เดชเตŠเดคเตเดตเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดฐเดถเตโ€Œเดจเด•เดฐเดฎเดพเดฃเต. เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดฎเดพเดคเตเดฐเด‚: เดจเดฟเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต‡เดธเดฎเดฏเด‚ เดšเดฟเดฒ เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดจเตเดจเดพเตฝ, เด…เดตเตผเด•เตเด•เต เด…เดคเต เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเต‡เด•เตเด•เดฟเดฒเตเดฒ, เด…เดตเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเด‚ => "เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ."

เดˆ เด…เดจเตเดญเดตเด‚ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต, เดฎเตพเดŸเตเดŸเดฟเดนเต‹เดฎเดฟเด‚เด—เต เด‡เดคเตเดตเดฐเต† เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดชเดฐเดพเดœเดฏเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฒเดฟเดจเด•เตเดธเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต:

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

เด…เดคเดฟเดจเดพเตฝ, เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดชเต‹เดฏเดฟเดจเตเดฑเต เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ 2 BPI-เด•เตพ เดŽเดŸเตเด•เตเด•เตเด•เดฏเตเด‚ เด“เดฐเต‹เดจเตเดจเดฟเดจเต†เดฏเตเด‚ เด’เดฐเต เดฆเดพเดคเดพเดตเดฟเดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเต† เดชเดฐเดธเตเดชเดฐเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเด•เตเดทเดฟ/OSPF เดตเดดเดฟ เดชเดฐเดธเตเดชเดฐเด‚ เดกเตˆเดจเดพเดฎเดฟเด•เต เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต เดจเดŸเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดธเต‡เดตเดจเด‚ เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ (เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต, เดกเดฟเดŽเตปเดŽเดธเต) เด“เดฐเต‹เดจเตเดจเดฟเดฒเตเด‚ เด’เดฐเต‡ เดเดชเดฟ เดตเดฟเดฒเดพเดธเด‚ เดžเด™เตเด™เตพ เดชเดฐเดธเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดคเดพเดฏเดคเต, เดžเด™เตเด™เตพ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฑเต‚เดŸเตเดŸเต เดธเตเดตเดฏเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดชเด•เตเดทเดฟเดฏเดฟเดฒเต‚เดŸเต†เดฏเดพเดฃเต. เดžเดพเตป เดชเดฐเดฟเดนเดพเดฐเด‚ เด’เดฑเตเดฑเตเดจเต‹เด•เตเด•เดฟ เด‡เดตเดฟเดŸเต† .

เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด‡เดคเตเดตเดฐเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดตเดžเตเดšเดจเดพเดชเดฐเดฎเดพเดฏ เด•เตŠเดฑเต‹เดฃ เดตเตˆเดฑเดธเต เด‡เดตเดฟเดŸเต† เด’เดฐเต เดคเดจเตเดคเตเดฐเด‚ เด•เดณเดฟเดšเตเดšเต (เดŽเดฒเตเดฒเดพเด‚ Aliexpress-เตฝ เดจเดฟเดจเตเดจเต เดŽเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ; เดฎเดฑเตเดฑเตŠเดฐเต เด“เตบเดฒเตˆเตป เดธเตเดฑเตเดฑเต‹เตผ, Layta, เด’เดฐเดพเดดเตเดšเดฏเตเด•เตเด•เตเดณเตเดณเดฟเตฝ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจเต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดคเต, เดชเด•เตเดทเต‡ เด’เดฐเต เดฎเดพเดธเดคเตเดคเดฟเดฒเต‡เดฑเต†เดฏเดพเดฏเดฟ; เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดฆเดพเดคเดพเดตเดฟเดจเต เดธเดฎเดฏเดฎเดฟเดฒเตเดฒ เด•เตเดตเดพเดฑเดจเตเดฑเตˆเดจเดฟเดจเต เดฎเตเดฎเตเดชเต เด•เต‡เดฌเดฟเตพ เดจเต€เดŸเตเดŸเดพเตป, เด•เต‡เดฌเดฟเดณเดฟเดจเดพเดฏเดฟ เดญเดฟเดคเตเดคเดฟเดฏเดฟเตฝ เด’เดฐเต เดฆเตเดตเดพเดฐเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดฒเดญเดฟเด•เตเด•เต‚).

R64 เดŽเด™เตเด™เดจเต† เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเดพเด‚

เดฌเต‹เตผเดกเต เดคเดจเตเดจเต† เด’เดซเต€เดทเตเดฏเตฝ เดธเตเดฑเตเดฑเต‹เดฑเดฟเดฒเตเดฃเตเดŸเต SinoVoip.
เด‰เดŸเดจเดŸเดฟ เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เดจเดฒเตเดฒเดคเดพเดฃเต:

  • เดชเต‹เดทเด•เดพเดนเดพเดฐเด‚ + EU เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ US เดชเตเดฒเด—เต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเด•
  • เดšเต‚เดŸเต เดธเดฟเด™เตเด•เต: เดฑเต‡เดกเดฟเดฏเดฑเตเด•เตพ / เดซเดพเดจเตเด•เตพ; เด•เดพเดฐเดฃเด‚ เดธเดฟเดชเดฟเดฏเตเดตเตเด‚ เดธเตเดตเดฟเดšเตเดšเต เดšเดฟเดชเตเดชเตเด‚ เดšเต‚เดŸเดพเด•เตเดจเตเดจเต
  • เดตเตˆเดซเตˆ เด†เดจเตเดฑเดฟเดจ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต

เด’เดฐเต เดจเตเดฏเต‚เดจเตปเดธเต เด‰เดฃเตเดŸเต - เดกเต†เดฒเดฟเดตเดฑเดฟ เดตเดฟเดฒ เด•เตเดฑเดšเตเดšเตเด•เดพเดฒเดฎเดพเดฏเดฟ เด”เดฆเตเดฏเต‹เด—เดฟเด• เดธเตเดฑเตเดฑเต‹เดฑเดฟเตฝ เด…เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดพเดฃเต. เด’เดฐเต เดชเดฟเดถเด•เตเด‚ เด‡เดฒเตเดฒเต†เดจเตเดจเต เดฎเดพเดจเต‡เดœเตผ เดœเต‚เดกเดฟ เดนเตเดตเดพเด™เต เดŽเดจเตเดจเต† เดฌเต‹เดงเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต $5-เดจเต ePacket เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดฑเดทเตเดฏเดฏเดฟเตฝ $33-เดจเต EMS เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดณเตเดณเต‚ เดŽเดจเตเดจเต เดžเดพเตป เด•เดฃเตเดŸเต. เด…เดฐเต‹เดšเด•เดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดตเดฟเดฎเตผเดถเดจเดพเดคเตเดฎเด•เดฎเดฒเตเดฒ. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดกเต†เดฒเดฟเดตเดฑเดฟเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฐเดพเดœเตเดฏเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ (เดžเดพเตป เดŽเดฒเตเดฒเดพ เดญเต‚เด–เดฃเตเดกเด™เตเด™เดณเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดชเต‹เดฏเดฟ), เดกเต†เดฒเดฟเดตเดฑเดฟเด•เตเด•เต ~$5 เดšเดฟเดฒเดตเดพเด•เตเด‚. Russophobes?.. เดŽเดจเตเดจเดพเตฝ เดซเตเดฐเดพเตปเดธเดฟเดจเตเดฑเต† เดกเต†เดฒเดฟเดตเดฑเดฟ เดตเดฟเดฒเดฏเตเด‚ ~30$ เด†เดฃเต†เดจเตเดจเต เดžเดพเตป เด•เดฃเตเดŸเต†เดคเตเดคเดฟ, เดžเดพเตป เดถเดพเดจเตเดคเดจเดพเดฏเดฟ.

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดœเต‚เดกเดฟ เด’เดฐเต เด“เตผเดกเตผ เดจเตฝเด•เดพเตป เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดคเต, เดชเด•เตเดทเต‡ เดชเดฃเด‚ เดจเตฝเด•เดฟเดฏเดฟเดฒเตเดฒ (เดธเต‚เดšเดจ: เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดชเต‡เดฏเตเดฎเต†เดจเตเดฑเต เด•เดŸเดจเตเดจเตเดชเต‹เด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด•เดพเตผเดกเดฟเตฝ เด•เตเดฑเดšเตเดšเต เด‡เดŸเตเด•); เด…เดตเตพเด•เตเด•เต เดŽเดดเตเดคเตเด•, เด…เดตเตพ เดกเต†เดฒเดฟเดตเดฑเดฟ เดจเดฟเดฐเด•เตเด•เต เดธเดพเดงเดพเดฐเดฃ เดจเดฟเดฒเดฏเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฑเดฏเตเด•เตเด•เตเด‚. เดตเดฟเดœเดฏเด‚.

เดชเตเดฐเดถเตเดจเด™เตเด™เตพ

เดŽเดฒเตเดฒเดพเด‚ เด‡เดคเตเดตเดฐเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด‰เดคเตเดชเดพเดฆเดจเด•เตเดทเดฎเดค

เด…เตปเดธเดฟเดฌเดฟเตพ=เดชเตˆเดคเตเดคเตบ เด•เดฎเดพเตปเดกเตเด•เตพ 20-30 เดธเต†เด•เตเด•เตปเดกเต เดจเต‡เดฐเดคเตเดคเต‡เด•เตเด•เต, เดจเดฟเดทเตโ€Œเด•เตเดฐเดฟเดฏเดฎเดพเดฏเดต เดชเต‹เดฒเตเด‚ เดธเดพเดตเดงเดพเดจเดคเตเดคเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต; x86 เดฒเดพเดชเตโ€ŒเดŸเต‹เดชเตเดชเดฟเดจเต‡เด•เตเด•เดพเตพ เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏ เด•เตเดฐเดฎเด‚. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด†เดฆเตเดฏเด‚ เด…เดต เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, ~ 3 เดธเต†เด•เตเด•เตปเดกเต, เดชเดฟเดจเตเดจเต€เดŸเต เด…เดต เด•เตเดคเตเดคเดจเต† เด•เตเดฑเดฏเตเดจเตเดจเต. เดธเดฟเดชเดฟเดฏเต เดšเต‚เดŸเดพเด•เตเดจเตเดจเดคเต (เดคเตเดฐเต‹เดŸเตเดŸเดฟเดฒเดฟเด‚เด—เต) เด•เดพเดฐเดฃเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚ เด‡เดคเต. 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 เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ 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
...

เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดธเดนเดพเดฏเดฟเด•เตเด•เต‚. เดจเดพเด‚ เดฎเตเดจเตเดจเต‹เดŸเตเดŸเต เดชเต‹เด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เด…เดคเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เตเด•.

เด‡เดฅเตผเดจเต†เดฑเตเดฑเต

เด‡เดฅเตผเดจเต†เดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ ~64 เดฎเดฃเดฟเด•เตเด•เต‚เดฑเดฟเดจเต เดถเต‡เดทเด‚ RXNUMX-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ (DHCP) เดตเดฐเตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต.
เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต:

ifdown br0; sleep 30; ifup br0

เดกเตเดฐเตˆเดตเตผ เดชเตเดคเดฟเดฏเดคเดพเดฃเต, เด‡เดคเต เด‡เดคเตเดตเดฐเต† เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เต เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด‡เดคเต เดšเตˆเดจเต€เดธเต เดฒเดพเตปเดกเตป เดšเดพเดตเต‹ เด†เดฃเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต เด…เดคเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•