Banana Pi 64 ã¯ãRaspberry Pi ã«äŒŒãã·ã³ã°ã«ããŒãã³ã³ãã¥ãŒã¿ã§ãããè€æ°ã®ã€ãŒãµãããããŒããåããŠãããããæ±çš Linux ã«ãŒã¿ãŒãšããŠäœ¿çšã§ããŸãã

ã¯ããOpenwrt ããããŸãããç¬èªã®çãç¬èªã® GUI ãš CLI ããããŸããMikrotik ããããŸããããããç¬èªã® GUI/CLI ãããã Wireguard ãã®ãŸãŸã§ã¯åäœããŸãã... åºæ¬çã«ãç§ãæ¯æ¥äœ¿çšããŠããæšæºçãªLinuxã®æ çµã¿å ã§ãæè»ãªèšå®ãå¯èœãªã«ãŒã¿ãŒã欲ããã®ã§ãã
ãã®èšäºã§ã¯ãBPIãR64ãã·ã³ã°ã«ããŒããšããååã§ãåããã®ãã€ãŸã Banana Pi R64 ã·ã³ã°ã«ããŒãèªäœãæããŸãã
ç»åãéžæããŠããŸãã eMMCçµç±ã§èµ·å
ä»äºãããéã«æåã«ç¿åŸããå¿ èŠãããã¹ãã«ã¯ äžè¬çã«ããããŠç¹ã« R64 ã®å ŽåãR64 ã«ã¯ã¢ãã¿ãŒçšã®ããŒã (HDMI ãªã©) ããªãããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãããŒãããŠå¯Ÿè©±ããæ¹æ³ãåŠç¿ããããšãç®çã§ãããã¹ãŠãæ©èœããªããªããWi-Fiãã€ãŒãµããããBluetoothãUSBããã®ä»ã®ãããã¯ãŒã¯ãæ©èœããªããªããŸããã UART ãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãéããŠäœãåé¡ãªã®ããåžžã«ç¢ºèªã§ããå¿ èŠã«å¿ããŠã³ã³ãœãŒã«ããããã€ãã®ã³ãã³ããå®è¡ããããšãã§ããŸãã
USB-UARTçµç±ã§R64ã«æ¥ç¶ããããã®ã¢ã«ãŽãªãºã :
- USB-UARTã±ãŒãã«ïŒPL2303ãã·ãªã¢ã«-USBïŒãæ±ããŠã©ãžãªéšååºãžèµ°ããŸã
- äžã®å³ã®ããã«ã64æ¬ã®ã¯ã€ã€ãŒã®ãã¡XNUMXæ¬ã䜿çšããŠãçæ¹ã®USB端åãã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ããããçæ¹ã®UART端åãRXNUMXã«æ¥ç¶ããŸãã
- ã³ã³ãã¥ãŒã¿ã³ã³ãœãŒã«ã§èµ·åããŸã
sudo minicom
ãã®åŸãã»ãšãã©ã®å Žåãã·ã³ã°ã«ããŒãã³ã³ãœãŒã«ã衚瀺ãããŸã = æåã§ãã
詳现ã¯ä»¥äžãã芧ãã ãã .

次ã«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããŒãããæãç°¡åãªæ¹æ³ã¯ã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 ãããŒãããã®ã確èªããŸãã
代æ¿ã®ããŒã ãªãã·ã§ã³ãšããŠã¯ãR64 ã«ãã§ã«çµã¿èŸŒãŸããŠãã eMMC ãšåŒã°ãã 8Gb ã«ãŒãã䜿çšããæ¹æ³ããããŸãã Wikiã®æç€ºã«åŸã£ãŠãã€ã¡ãŒãžãããã€ã¹ã«ã³ããŒããŸã
/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ïŒäžåœïŒããã®ãã€ããªãæçš¿ããŸãã ãäœãããã®ãã¯äžæã§ãïŒãœãŒã¹ã³ãŒãã¯ãããŸããïŒããããããªããšåäœããŸããã
éåžžããã®åŸãeMMC ããã€ã¡ãŒãžã®èªã¿èŸŒã¿ãéå§ãããŸãããããçè§£ããŠæåããã€ã¡ãŒãžãäœæãããå Žåã¯ãã©ã¡ãã®å Žåã (SD/eMMC)ãã«ãŒãã«ãããŒãããããã«ãããã«ããã€ãã®ãã¡ã€ã« (SD ã«ãŒãã®ããªããŒããŒãATFãu-boot) ãæžã蟌ãå¿ èŠããããŸãããã®è©±é¡ã¯ãŸã ç¶ããŠãã ããããç§ãã¡ã«ãšã£ãŠéèŠãªã®ã¯ããããæ©èœããããšãããã ãã§ãã
æ£çŽã«èšããšãä»ã¯ eMMC ããŒãã¯äœ¿çšããŠããããSD ã«ãŒãã§ååã§ãããåäœãããã®ã«ããªãã®æéãè²»ãããã®ã§ãèšäºã«æ®ããŠãããŸãã
ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãéžæããŸããã¢ã«ã ãã¢èª
æåã®å®åçãªã¿ã¹ã¯ã¯ãåœç¶VPNãèµ·åããããšã§ãã Wireguardããã«ã«ãŒãã«ãæ£ããã³ã³ãã€ã«ãããŠããããããããŒãã¡ã€ã«ãååšããªãããšã«æ°ã¥ããŸãããã«ãŒãã«ãåæ§ç¯ããx86ã§ã®ç§ã®ç¿æ £éããDKMSã䜿ã£ãŠã«ãŒãã«ã¢ãžã¥ãŒã«ãäœæããŸãããããããARM64ã§ã®ãã«ãé床ã¯ãå°ããªãŠãŒãã£ãªãã£ã§ããããäºæ³å€ã«é ããã®ã§ããããã®åŸãå¥ã®ã«ãŒãã«ã¢ãžã¥ãŒã«ãå¿ èŠã«ãªãããšãã£ãå ·åã«äœæ¥ãç¶ããŸãããçµå±ã®ãšãããã«ãŒãã«é¢é£ã®ãã®ã¯ãæ§èœã®äœãx86ããŒãããœã³ã³ã§ã³ã³ãã€ã«ãããããARM64ã«ã³ããŒïŒããŒã¹ãããŠåèµ·åãããã¹ãããã®ãæåçã§ããããšãåãããŸããã
䜿çšã¹ããŒã¹ã®éšåã¯å¥ã®åé¡ã§ããç§ã®å Žåãéžæã¯ Debianarm64ã¢ãŒããã¯ãã£åãã®ãã®ã¯ãã¹ãŠæ¢ã«ããã±ãŒãžã«å«ãŸããŠããŸããdebian.org ãªã®ã§ãäœãåã³ã³ãã€ã«ããå¿ èŠã¯ãããŸããã
æ°ããªèªè»¢è»ãäœããªãããã«ãç§ã¯ BPI R64 ã«ã€ããŠã
ããæ£ç¢ºã«èšããšããŠãŒã¶ãŒç©ºééšåã¯Armbianã§ãããã«ãŒãã«ã¯ãªããžããªããååŸãããŸã -A.ææ°ã®ç»åãããŠã³ããŒãã§ããŸã .
R64ãœãããŠã§ã¢ã®éçºã«é¢ãããã¹ãŠã®æŽ»åã¯ã äžè¬çã«èšã£ãŠãã¡ãŒã«ãŒèªèº«ã¯OpenWrtçšã®ã«ãŒã¿ãŒãæ®åãããããšããŠããŸããããã€ãã®éçºè Frankã®æŽ»åã®ãããã§ããã¹ãŠã®æ©èœãããã«ã«ãŒãã«ã«åã蟌ãŸããŸãã Debian-a. é©ãã¹ãããšã«ããã©ã³ã¯ã¯ãã¹ãŠã®ãã©ãŒã©ã ã®ã¹ã¬ããã§æŽ»çºã«æŽ»åããŠããã
ã¯ãŒã¯ã¹ããŒã¹ã®æŽçïŒé ç·
ãŸããéçº/ãã¹ãäžã«ãéšå±/ãªãã£ã¹å šäœã®ã€ã³ã¿ãŒããã ãœãŒã¹ããã€ãŒãµããã ã±ãŒãã«ã SBC (BPI ã ãã§ãªã) ãŸã§é ç·ããªãããã«ãSBC ãããŒãã«äžã«é 眮ããæ¹æ³ã«ã€ããŠã説æããããšæããŸããåé¡ã¯ãäžæ¹ã§ã¯ããŒããŠã§ã¢ã«ã€ã³ã¿ãŒããããæäŸããå¿ èŠããããã仿¹ã§ã¯ããã®ããŒããŠã§ã¢ã®ãã¹ãŠãå£ããå¯èœæ§ãããããŸã第äžã« Wi-Fi ãå£ããå¯èœæ§ããããšããããšã§ãã
æåã¯ãå®äŸ¡ãª USB-Wifiããã€ãã¹ã«ããè³Œå ¥ããããã BPI ã®å¯äžã®ããŒãã«æ¥ç¶ããŠãé ç·ã®ããšãå¿ããããšã«ããŸããããã®ç®çã®ããã«ãå®äŸ¡ãª TP-LINK TL-WN725N USB 2.0 ãè³Œå ¥ããŸããããããã«åäœããªãããšãæããã«ãªããŸããããã€ãã¹ã«ãåäœããã«ã¯ã«ãŒãã« ãã©ã€ããŒãå¿ èŠã§ãããåœç¶ãªããããã«ã¯ãããŸããã§ãã (åŸã§å¿ èŠãª RTL8XXXU ãã©ã€ããŒãçµã¿ç«ãŠãŸããããããã§ãå®çšçã§ã¯ãããŸãã)ããããŠãã€ãŒãµããã ã±ãŒãã«ã®ããã§ããã°ããã®éãéšå±ã®èŠãç®ãå°ç¡ãã«ãªã£ãŠããŸããã
çµå±ãTenda MW3 (Wifi ã¡ãã·ã¥ ã·ã¹ãã ) ã®å©ããåããŠãã±ãŒãã«ãåãé€ãããšãã§ããŸãããããŒãã«ã®äžã«ãã¥ãŒãã XNUMX ã€çœ®ããXNUMX ã¡ãŒãã«ã®ã€ãŒãµããã ã±ãŒãã«ã䜿çšã㊠BPI ããã¥ãŒãã® LAN ããŒãã«æ¥ç¶ããã ãã§æžã¿ãŸãããæåã
WireguardãRKNãé³¥
ç§ã Banana PI ã䜿ãããç®çã® 1 ã€ã¯ãRoskomnadzor ã«ãã£ãŠãããã¯ãããŠãããµã€ãã«èªç±ã«ã¢ã¯ã»ã¹ããç¹ã« Telegram ãš Slack ã®éè©±ãæ©èœãããããšã§ãããã®ãããã¯ã«é¢ããèšäºã¯ãã§ã«Habrã§ææ¡ãããŠããŸãã , , .
ç§ã¯ãŸãã«ãã®ãœãªã¥ãŒã·ã§ã³ã®ãããã€ã¡ã³ãã Ansible ã䜿çšããŠå®è£ ããŸããã .
VPSã¯ä»¥äžã§åäœããŠãããšæ³å®ãããŸã Ubuntu 4æ18æ¥ããšãŒãããã®2ã€ã®ãã¹ãã£ã³ã°ãããã€ããŒã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次ã«ãåæ§ã®æ¹æ³ã§ VPS ã« VPN ãå±éããå¿ èŠããããŸãã
ansible-playbook ./router.py -l current-vpnããã§ã®åŒæ°ã¯åžžã« current-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ãã£ã¬ã¯ããªã¯æ¬¡ã®ããã«ãªããŸã .
Python ã§ã® Ansible èªåå
YAML 圢åŒã§ã¯ãªããAnsible ã³ãã³ãã Python ã¹ã¯ãªããã§ãšã³ã³ãŒããããŠããããšã«æ°ã¥ãã§ããããæ¯èŒã®ããã«ãéåžžã®æ¹æ³ã§ bird ããŒã¢ã³ãæå¹ã«ããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
- name: start bird
systemd:
name: bird
state: started
enabled: yesPython ã§ãåãããšãã§ããŸã:
with mapping:
append("name", "start bird")
with mapping("systemd"):
append("name", "bird")
append("state", "started")
append("enabled", "yes")Ansible ã³ãã³ãã Python ã³ãŒãã§èšè¿°ãããšãã³ãŒãã®åå©çšãå¯èœã«ãªããæ±çšèšèªã®ãã¹ãŠã®æ©èœãå©çšã§ããããã«ãªããŸããããšãã°ãR64 ãš VPS ã« bird ãã€ã³ã¹ããŒã«ããå Žå:
install_bird("router/bird.conf.j2")
install_bird("vpn/bird.conf.j2")颿°ã³ãŒãã衚瀺 .
ãã®æ©èœã¯ pybook å®è£
ãããŸãã ã pybook ã®ããã¥ã¡ã³ãã¯ãŸã ãããŸããããã®åé¡ã¯åŸã§ä¿®æ£ããŸãã
圌ã¯äœãèããŠããã®ã§ããããïŒ ããã«ã€ããŠã
ç£èŠãããã¡ããŠã¹
èŠçŽ: Telegram ã¯æ©èœããLinkedIn ãš Pornhub ãæ©èœããå šäœçãªãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã¯è¯å¥œã§ããããããäžåœè£œã®ããŒããŠã§ã¢ãå«ãããããããã®ãå£ããå¯èœæ§ããããŸãã
ã«ãŒãã«ã®ã¢ããããŒããè峿·±ãããšããããŸããããšãã°ãã«ãŒãã«ã5.4ãã5.6ã«ã¢ããããŒããããã®ã§ããã Wireguard ç®±ããåºããŠããã«äœ¿ããã®ã§ãããããåœãŠãå¿ èŠã¯ãããŸãã... èšã£ããšããã5.4 ãã 5.6 ã«ããããèŠåŽããŠè»¢éããã«ãŒãã«ãèµ·åããVPS ãžã®ãã³ãã«ã¯ ping ããŸãããBird ã¯ãBGP ãšã©ãŒããšãããšã©ãŒã§æ¥ç¶ã§ããŸãã... ãææãæããŠã5.4 ã«ããŒã«ããã¯ããŸããã(c)ã5.6 ãžã®ç§»è¡ã¯ TODO ã«è¿œå ãããŸããã
ãã®ãããã«ãŒã¿ãŒãšVPSã®ã€ã³ã¹ããŒã«ã«å ããŠãç£èŠæ©èœã远å ããŸããïŒx86 Ubuntu 18.04ïŒã¯ã以äžã®ã³ã³ããŒãã³ããåããå¥ã®ãã¹ãã«ã€ã³ã¹ããŒã«ãããŠããŸãã
- prometheusãalertmanagerãblackbox_exporter â ãã¹ãŠdockerã§
- ã¢ã©ãŒãã¯ãããã metalmatze/alertmanager-bot ã䜿çšããŠãã¬ã°ã©ã ãã£ã³ãã«ã«éä¿¡ãããŸã (ããã docker ã«ãããŸã)
- ãããçšã®Torãã€ã³ã¿ãŒãããã¯ååšãããTelegramããŸã æ©èœããããããèªäœãæ¥ç¶ã§ããªãå Žåã«ããããç¶æ³ãèŠåã§ããããã«ããŸãã
- é©çš : NodeVPNTroubles (VPS ãžã® ping ãªã)ãBirdVPNTroubles (Bird ã»ãã·ã§ã³ãªã)ãAntifilterDownloadTroubles (ãããã¯ããã IP ã¢ãã¬ã¹ã®ããŠã³ããŒããšã©ãŒ)ãSiteTroubles (äžé㪠Telegram ãå©çšã§ããªã)
- HostGrowingDiskReadLatencyïŒå®äŸ¡ãªSDã«ãŒããèªã¿åãã忢ããïŒãªã©ã®ã·ã¹ãã ã¢ã©ãŒã
ç£èŠèšå®ã®äŸ:
ansible-playbook ./monitoring.py -l monitoring-preprodPrometheus ã®èªåæ€åºã¯ /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
EOFTODO: ãããã€ã㌠2 ã€ãBPI 2 ã€ããšããŒãã£ã¹ã ãã§ã€ã«ãªãŒããŒ
ããã«ã1 ã€ã®ãããã€ããŒã§ãããã¯ãŒã¯ã«åé¡ãçºçããå Žåããã€ã³ã¿ãŒãããæéã®æ¯æããå¿ããå Žåãªã©ããã®ä»ã®äººçèŠå ãçºçããå Žåã§ããã€ã³ã¿ãŒããããåŒãç¶ãæ©èœããããã«ã2 ã€ã®ãããã€ããŒã«æ¥ç¶ããããšãèšç»ããŸããã
ãã«ãWANã«é¢ããæãå é²çãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ããŠèª¬æããŸã Openwrt ã® Mwan3 ã·ã¹ãã çšããã®ãœãªã¥ãŒã·ã§ã³ã¯æ©èœãè±å¯ã§ããããã«ã WAN ã®ã»ããã¢ãããšæäœã¯äžè¬çã«éåžžã«é¢åã§ããã»ãã®äžäŸã§ãããXNUMX ã€ã® IP ã¢ãã¬ã¹ããåæã«ããã€ãã®ãµã€ãã«ã¢ã¯ã»ã¹ãããšããŠãŒã¶ãŒã¯ããã奜ãŸããæãããåäœã忢ããŠããŸããŸã => ãã€ã³ã¿ãŒããããåäœããŠããŸãããã
ãã®çµéšãèžãŸããŠãç§ã¯ä»ã®ãšãããã«ãããŒãã³ã°ã¯åªå äºé ã§ã¯ãªãããã§ã€ã«ãªãŒããŒã®ã¿ãåªå ããããšã«ããŸããããã ããææ°ããŒãžã§ã³ã® Linux ã§ã¯ã次ã®ãã㪠1 ã€ã®ã³ãã³ãã§ãã¹ãŠãæ©èœããããã§ãã
ip route add default
nexthop via 192.168.1.1 weight 10
nexthop via 192.168.2.1 weight 5ãããã£ãŠãåäžé害ç¹ãåé¿ããããã«ã2 ã€ã® BPI ãçšæããããããã XNUMX ã€ã®ãããã€ããŒã«æ¥ç¶ããããããçžäºã«æ¥ç¶ããŠãbird/OSPF çµç±ã§çžäºã®æ¥ç¶ãåçã«ã«ãŒãã£ã³ã°ããŸãã
次ã«ããµãŒãã¹ãå©çšå¯èœãªå Žå (ã€ã³ã¿ãŒããããDNS)ãããããã«åã IP ã¢ãã¬ã¹ãã¢ããŠã³ã¹ããŸããã€ãŸããããã©ã«ã ã«ãŒããèªåã§èšå®ããã®ã§ã¯ãªããbird ãéããŠèšå®ããããšã«ãªããŸããç§ã¯è§£æ±ºçãèŠã€ãã .
ãã®æ©èœã¯ãŸã å®è£ ãããŠããŸãããé°éºãªã³ãããŠã€ã«ã¹ãããã§ãäºæ ãæ··ä¹±ãããŠããŸã (AliExpress ãããã¹ãŠãå±ããããã§ã¯ãããŸãããå¥ã®ãªã³ã©ã€ã³ ã¹ã㢠Layta 㯠1 é±éã§é éãããšçŽæããŸãããããã§ã« 1 ãæä»¥äžãçµéããŠããŸãã2 çªç®ã®ãããã€ããŒã¯æ€ç«åã«ã±ãŒãã«ãæ·èšããæéããªããã±ãŒãã«çšã«å£ã«ç©Žãéããããšããã§ããŸããã§ãã)ã
R64ã®æ³šææ¹æ³
ããŒãèªäœã¯å
¬åŒã¹ãã¢ã«ãããŸã .
ããã«æ³šæããæ¹ãè¯ãã§ããã:
- + EUãŸãã¯ç±³åœã®ãã©ã°èŠæ Œãå ¥åããŠãã ãã
- æŸç±ïŒã©ãžãšãŒã¿ãŒ/ãã¡ã³CPUãšã¹ã€ãããããã®äž¡æ¹ãç±ããªããã
- Wi-Fiçšã¢ã³ããã
埮åŠãªãšããããããŸããããããã°ãããå ¬åŒã¹ãã¢ã§ã¯é éæéãäžåœã«é«ããªã£ãŠããŸãããããŒãžã£ãŒã® Judy Huang ã¯ãééãã¯ãªããšç§ã説åŸãã5 ãã«ã§ ePacket ãéžæã§ãããšèª¬æããŸãããããã·ã¢ã®å Žå㯠33 ãã«ãè¶ ãã EMS ãããªãããšãããããŸãããäžå¿«ã ããé倧ã§ã¯ãªããããã«ãé éå ã«ä»ã®åœãéžæããå ŽåïŒãã¹ãŠã®å€§éžã詊ããŸããïŒãé éæã¯çŽ 5 ãã«ããããŸãããã·ã¢å«ãïŒ...ã§ããã©ã³ã¹ãžã®é éæãçŽ30ãã«ã ãšç¥ã£ãŠãèœã¡çããŸããã
çµå±ããžã¥ãã£ã¯æ³šæã¯ãããæ¯æãã¯ããªãããšãææ¡ããïŒãã³ã: èªåæ¯æããå®è¡ãããªãããã«ã«ãŒãã®æ®é«ãå°ãªãããŸã);圌女ã«ã¡ãŒã«ãéãã°ãé éæéãéåžžäŸ¡æ Œã«åŒãäžããŠãããŸããæåã
åé¡
ãŸã ãã¹ãŠãå®ç§ã«æ©èœããŠããããã§ã¯ãããŸããã
ÐÑПОзвПЎОÑелÑМПÑÑÑ
Ansible=Python ã³ãã³ãã¯ãã¢ã€ãã«ç¶æ ã®ã³ãã³ãã§ãã£ãŠã 20 ïœ 30 ç§éãã£ãããšå®è¡ãããŸãã x86 ã©ãããããããã 3 æ¡é·ããªããŸããããã«ãæåã¯çŽ XNUMX ç§ãšéåžžã«éãå®è¡ãããŸããããã®åŸã¯æ¥æ¿ã«é床ãäœäžããŸãããã㯠CPU ã®éç± (ã¹ããããªã³ã°) ãåå ã§ããå¯èœæ§ããããŸãã 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ç¡ç·LAN
Wi-Fi ã¯åäœããŸãããArmbian ã§ã¯çŽ 1 æ¥åŸã«åæ¢ããæ¬¡ã®ã¡ãã»ãŒãžã衚瀺ãããŸãã
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ãã©ã€ããŒã¯æ°ããããŸã ã«ãŒãã«ã«åãå ¥ããããŠããªãããäžåœã®Landen Chaoã§ããããšãæåŸ ããŠããã .
åºæïŒ habr.com
