Banana Pi R64 Router - Debian, Wireguard, RKN

Banana Pi 64 යනු Raspberry Pi හා සමාන තනි පුවරු පරිගණකයකි, නමුත් Ethernet ports කිහිපයක් සමඟින්, එය පොදු කාර්ය Linux බෙදාහැරීමක් මත පදනම්ව රවුටරයක් ​​බවට පත් කිරීමට හැකි වේ.

Banana Pi R64 Router - Debian, Wireguard, RKN

ඔව්, දැනටමත් Openwrt ඇත, නමුත් එයට එහිම ගැටළු ඇත, එහි GUI සහ CLI; Mikrotik ඇත, නමුත් නැවතත් එයට තමන්ගේම GUI/CLI ඇත, සහ Wireguard කොටුවෙන් පිටත ක්‍රියා නොකරයි ... සාමාන්‍යයෙන්, මට අවශ්‍ය නම්‍යශීලී සැකසුම් සහිත රවුටරයක්, ඔබ වැඩ කරන සම්මත Linux රාමුව තුළ රැඳී සිටියදී සෑම දිනකම සමඟ.

BPI, R64, single-board යන නම් යටතේ ඇති ලිපියේ, මම එකම දේ අදහස් කරමි - Banana Pi R64 තනි පුවරුව.

රූපයක් තෝරා ගැනීම. eMMC හරහා බාගත කරන්න

වැඩ කරන විට ඔබ ලබා ගත යුතු පළමු කුසලතාව එස්.බී.සී. පොදුවේ, සහ විශේෂයෙන් R64 සමඟින්, මෙයින් අදහස් කරන්නේ මෙහෙයුම් පද්ධතියක් එයට පැටවීම සහ එය සමඟ අන්තර් ක්‍රියා කිරීමට ඉගෙනීමයි, මන්ද R64 හි මොනිටරයක් ​​සඳහා වරායක් නොමැති නිසා (උදාහරණයක් ලෙස HDMI). සෑම දෙයක්ම කඩා වැටුණු විට - Wifi, Ethernet, Bluetooth, USB, යනාදිය ක්‍රියා කිරීම නැවැත්වූ විට UART ඇත, එහි අතුරු මුහුණත හරහා ඔබට සැමවිටම වැරදී ඇති දේ දැක ගත හැකි අතර අවශ්‍ය නම් කොන්සෝලයෙන් විධාන කිහිපයක් ක්‍රියාත්මක කරන්න.

USB-UART හරහා R64 වෙත සම්බන්ධ කිරීම සඳහා ඇල්ගොරිතම:

  • අපි USB-UART කේබලයක් (PL2303, Serial-to-USB) සඳහා ගුවන්විදුලි කොටස් ගබඩාවට දුවමු
  • පහත පින්තූරයේ ඇති පරිදි, එක් USB කෙළවරක් පරිගණකයට සහ අනෙක, UART, R64 වෙත සම්බන්ධ කරන්න.
  • පරිගණක කොන්සෝලය තුළ ධාවනය කරන්න sudo minicom

මෙයින් පසු, බොහෝ අවස්ථාවලදී තනි පුවරු කොන්සෝලය දිස්වනු ඇත = සාර්ථකත්වය.
වැඩි විස්තර සොයා ගත හැක මෙහි.

Banana Pi R64 Router - Debian, Wireguard, 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 slot වෙත ඇතුළු කර, එය සක්‍රිය කර, සම්බන්ධිත කොන්සෝලය පළමුව 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 (චීනය) මෙම ද්විමය පළ කළේය මෙහි. එය කරන්නේ කුමක්ද යන්න නොදන්නා (මූලාශ්ර කේත නොමැත), නමුත් එය නොමැතිව එය ක්රියා නොකරනු ඇත.

පොදුවේ ගත් කල, මෙයින් පසු, පින්තූර eMMC වෙතින් පූරණය වීමට පටන් ගනී. ඔබට එය හඳුනාගෙන මුල සිටම පින්තූර සෑදීමට අවශ්‍ය නම්, අවස්ථා දෙකටම (SD/eMMC) කර්නලය පූරණය කිරීමට ඔබට තවත් ගොනු කිහිපයක් (SD කාඩ් සඳහා පෙර පූරණය, ATF, u-boot) ලිවිය යුතුය. මෙම මාතෘකාව තවමත් පවතී වර්ධනය වේ, නමුත් අපට ප්රධාන දෙය නම් එය ක්රියා කරන අතර හරි ය.

දැන් මම eMMC හරහා බාගත කරමි, අවංකවම, මම එය භාවිතා නොකරමි, SD කාඩ්පතක් ප්රමාණවත්ය, නමුත් මම එය වැඩ කිරීමට සෑහෙන කාලයක් ගත කළෙමි, එබැවින් එය ලිපියේ තිබිය යුතුය.

මෙහෙයුම් පද්ධතියක් තෝරා ගැනීම. Armbian

පළමු යෙදුම් කාර්යය වන්නේ VPN, ස්වභාවිකව Wireguard දියත් කිරීමයි. කර්නල් පැත්තේ එය එකලස් කර නොමැති බවත් ශීර්ෂයන් නොමැති බවත් වහාම සොයා ගන්නා ලදී. මම කර්නලය නැවත ගොඩනඟා, x86 සමඟ මගේ පුරුද්දක් ලෙස, DKMS භාවිතයෙන් කර්නල් මොඩියුලය එකලස් කළෙමි. කෙසේ වෙතත්, arm64 හි කුඩා උපයෝගිතා පවා ගොඩනැගීමේ වේගය මා අප්‍රසන්න ලෙස පුදුමයට පත් කළේය. ඉන්පසු තවත් කර්නල් මොඩියුලයක් අවශ්‍ය විය. පොදුවේ ගත් කල, කර්නලයට සම්බන්ධ සෑම දෙයක්ම උණුසුම් x86 ලැප්ටොප් එකක වඩාත් හොඳින් එකලස් කර ඇති අතර පසුව සරල පිටපත් කිරීම, නැවත ආරම්භ කිරීම සහ පරීක්ෂා කිරීම මගින් R64 වෙත මාරු කරනු ලැබේ.

තවත් දෙයක් නම් පරිශීලක අවකාශයේ කොටසයි. Debian තෝරා ගැනීමේදී, arm64 ගෘහ නිර්මාණ ශිල්පය සඳහා වන සෑම දෙයක්ම දැනටමත් packs.debian.org හි ඇති අතර කිසිවක් නැවත ගොඩනැගීමට අවශ්‍ය නොවේ.

තවත් බයිසිකලයක් නිෂ්පාදනය නොකිරීමට, අයි ported ආම්බියන් BPI R64 මත.
එසේත් නැතිනම්, මෙය: පරිශීලක අවකාශයේ කොටස Armbian වන අතර කර්නලය ගබඩාවෙන් ගනු ලැබේ. ෆ්රෑන්ක්-ඒ. නවතම පින්තූරය බාගත කළ හැකිය මෙහි.

R64 හි මෘදුකාංග කොටස සංවර්ධනය කිරීමේ සියලුම ක්‍රියාකාරකම් සිදු කරනු ලැබේ සංසදය. සාමාන්‍යයෙන් කථා කරන විට, නිෂ්පාදකයා විසින්ම Openwrt සඳහා රවුටරය ජනප්‍රිය කිරීමට උත්සාහ කරයි, නමුත් ජර්මනියේ සංවර්ධක ෆ්‍රෑන්ක්ගේ ක්‍රියාකාරකම් වලට ස්තූතිවන්ත වන්නට, සියලුම විශේෂාංග ඉක්මනින් ඩේබියන් සඳහා කර්නලය තුළ අවසන් වේ. පුදුමයට කරුණක් නම්, ෆ්‍රෑන්ක් සෑම සංසද ත්‍රෙඩ් එකකම ක්‍රියාකාරී වේ.

වැඩබිම සංවිධානය: වයර්

වෙනමම, සංවර්ධන/පරීක්‍ෂණය අතරතුර, මුළු කාමරය/කාර්යාලය පුරා අන්තර්ජාල මූලාශ්‍රයකින් ඊතර්නෙට් කේබලයක් ධාවනය නොකිරීමට SBC (BPI පමණක් නොව) මේසයක් මත තබන්නේ කෙසේදැයි මම ඔබට කියන්නට කැමැත්තෙමි. කාරණය නම්, එක් අතකින්, ඔබට අන්තර්ජාලය සමඟ දෘඩාංග කැබැල්ලක් සැපයිය යුතුය, නමුත් අනෙක් අතට, එම දෘඪාංගයේ ඇති සියල්ල බිඳ දැමිය හැකි අතර, පළමුවෙන්ම Wifi.

පළමුව, මම ලාභ USB-Wifi "විස්ල්" මිලදී ගැනීමට තීරණය කළෙමි, එය BPI හි ඇති එකම වරායට සම්බන්ධ කර වයර් ගැන අමතක කරන්න. මෙය සිදු කිරීම සඳහා, මම මිල අඩු TP-LINK TL-WN725N USB 2.0 මිලදී ගත්තා, නමුත් ඉතා ඉක්මනින් එය ඉවත් නොවන බව පැහැදිලි විය: විස්ල් වැඩ කිරීමට, ඔබට කර්නල් ධාවකයක් අවශ්‍ය වේ, එය ඇත්ත වශයෙන්ම එහි නොතිබුණි. (පසුව මම අවශ්‍ය RTL8XXXU ධාවකය එකලස් කළෙමි, නමුත් එය තවමත් ප්‍රායෝගික නැත ). ඊතර්නෙට් කේබලය ටික වේලාවකට කාමරයේ පෙනුම නරක් කළේය.

එහි ප්රතිඵලයක් වශයෙන්, මම Tenda MW3 (Wifi දැල් පද්ධතිය) ආධාරයෙන් කේබලය ඉවත් කිරීමට සමත් විය: මම හුදෙක් එක් ඝනකයක් මේසය යට තබා BPI එක මීටර් දිග ඊතර්නෙට් කේබලයක් සමඟ LAN වරායට සම්බන්ධ කළෙමි. සාර්ථකත්වය.

Wireguard, RKN, Bird

මට Banana PI භාවිතා කිරීමට අවශ්‍ය එක් දෙයක් නම්, RKN විසින් අවහිර කරන ලද අඩවි වෙත නොමිලේ ප්‍රවේශ වීම, විශේෂයෙන්ම, Telegram සහ Slack ඇමතුම් ක්‍රියා කළ හැකි වීමයි. මෙම මාතෘකාව සම්බන්ධයෙන් Habré පිළිබඳ ලිපි දැනටමත් යෝජනා කර ඇත: වාරයක්, два, තුනකි.

මම හරියටම මෙම විසඳුම Ansible භාවිතයෙන් යෙදුවෙමි: සබැඳිය.

VPS Ubuntu 18.04 ධාවනය වන බවට උපකල්පනය කෙරේ. මම යුරෝපයේ සත්කාරක සමාගම් දෙකක ක්‍රියාකාරීත්වය පරීක්ෂා කළෙමි: Amazon සහ Digital Ocean.

ඉතින්, අපි ඉහත Armbian R64 මත ස්ථාපනය කළෙමු, එය නම යටතේ 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

ඊළඟට, ඔබ අපගේ 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, ඩිරෙක්ටරිය පෙනිය යුතුය එසේ.

Python හි Ansible Automation

YAML ආකෘතියෙන් වෙනුවට Ansible විධානයන් පයිතන් ස්ක්‍රිප්ට් වලින් කේතනය කර ඇති බව ඔබට පෙනෙනු ඇත. සංසන්දනය කිරීම සඳහා, කුරුළු ඩීමන් සුපුරුදු ආකාරයෙන් සක්රිය කරන්නේ කෙසේද:

- 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")

Python හි Ansible විධාන ලිවීම ඔබට කේතය නැවත භාවිතා කිරීමට ඉඩ සලසයි, සහ පොදුවේ පොදු කාර්ය භාෂාවේ සියලු හැකියාවන් විවෘත කරයි. උදාහරණයක් ලෙස, R64 සහ VPS මත කුරුල්ලා ස්ථාපනය කිරීම:

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

කාර්යය කේතය බලන්න install_bird().

මෙම විශේෂාංගය හැඳින්වේ pybook ක්රියාත්මක කර ඇත මෙහි. pybook හි තවමත් ලේඛන නොමැත, නමුත් මම මෙම ගැටළුව පසුව විසඳමි.

ඔහු සිතන්නේ කුමක්ද උඩුගං මේ ගැන.

අධීක්ෂණය. Prometheus

එකතුව: ටෙලිග්‍රාම් ක්‍රියා කරයි, ලින්ක්ඩින් සහ පෝර්න්හබ් ද, සාමාන්‍යයෙන් පරිශීලක අත්දැකීම හරි ය. නමුත් චීන දෘඩාංග ඇතුළුව සෑම දෙයක්ම කැඩී යා හැක.

කර්නල් යාවත්කාලීන කිරීම් ද සිත්ගන්නා සුළු විය හැකිය: උදාහරණයක් ලෙස, මට කර්නල් 5.4 => 5.6 යාවත්කාලීන කිරීමට අවශ්‍ය විය, හොඳයි, වයර්ගාර්ඩ් පෙට්ටියෙන් පිටත තිබේ, පැච් කිරීමට අවශ්‍ය නැත ... ඉක්මනින් කිව නොහැක: මම වෙහෙස මහන්සි වී 5.4 සිට පැච් මාරු කළෙමි. 5.6 දක්වා, කර්නලය ආරම්භ විය, VPS වෙත උමග ping කර ඇත, නමුත් කුරුල්ලාට "BGP දෝෂය" දෝෂය සමඟ සම්බන්ධ විය නොහැක ... "මම භීතියෙන් ආපසු හැරුනෙමි" (c) සිට 5.4 දක්වා; 5.6 වෙත මාරු කිරීම TODO හි කල් දමන ලදී.

එබැවින්, රවුටරය සහ වීපීඑස් ස්ථාපනය කිරීමට අමතරව, මම අධීක්ෂණය එකතු කළෙමි (x86 උබුන්ටු 18.04 මත), එය පහත සඳහන් සංරචක සහිත වෙනම ධාරකයක ස්ථාපනය කර ඇත:

  • prometheus, alertmanager, blackbox_exporter - ඔක්කොම docker එකේ
  • Metalmatze/alertmanager-bot bot භාවිතා කරමින් විදුලි පණිවුඩ නාලිකාව වෙත ඇඟවීම් යවනු ලැබේ - Docker හි ද
  • බොට් සඳහා tor, එවිට බොට් හට අන්තර්ජාලය ඇති විට අවස්ථා දැනුම් දිය හැක, නමුත් ටෙලිග්‍රාම් තවමත් ක්‍රියා නොකරයි, සහ බොටම සම්බන්ධ විය නොහැක
  • අයදුම් කළා අනතුරු ඇඟවීම්: NodeVPNTtroubles (VPS වෙත ping නැත), BirdVPNT කරදර (කුරුළු සැසිය නැත), AntifilterDownloadTroubles (අවහිර කළ IP ලිපින පූරණය කිරීමේ දෝෂය), SiteTroubles (අවාසනාවන්ත විදුලි පණිවුඩයක් නොමැත)
  • පද්ධති ඇඟවීම්, උදාහරණයක් ලෙස, HostGrowingDiskReadLatency (ලාභ SD කාඩ්පත කියවිය නොහැක)

අධීක්ෂණ සැකසුම් උදාහරණය:

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

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

කළ යුතු දේ: සපයන්නන් 2 ක්, BPI 2 ක්, ඕනෑම අවස්ථාවක අසමත් වීම

සෑම දෙයකටම අමතරව, එක් සැපයුම්කරුවෙකුට ජාලය සමඟ ගැටළු ඇති වුවද, නැතහොත් ඔවුන්ට අන්තර්ජාලය සඳහා ගෙවීමට අමතක වූවද, වෙනත් මානව සාධකද, අන්තර්ජාලය දිගටම ක්‍රියාත්මක වන පරිදි සපයන්නන් දෙදෙනෙකුට සම්බන්ධ වීමට මම සැලසුම් කළෙමි.

බහු-වන් යන මාතෘකාව පිළිබඳ වඩාත්ම දියුණු පරිශීලක අත්දැකීම විස්තර කෙරේ මෙහි Openwrt යටතේ Mwan3 පද්ධතිය සඳහා. මෙම විසඳුම පොහොසත් ක්‍රියාකාරීත්වයක් ඇත, නමුත් බහු-වන් සඳහා පොදුවේ එය සැකසීම සහ ක්‍රියාත්මක කිරීම තරමක් කරදරකාරී ය. එක් උදාහරණයක් පමණි: ඔබ එකවර IP ලිපින දෙකකින් සමහර වෙබ් අඩවි වෙත පැමිණියහොත්, ඔවුන් එයට අකමැති විය හැකිය, ඔවුන් වැඩ කිරීම නවත්වනු ඇත => "අන්තර්ජාලය ක්රියා නොකරයි."

මෙම අත්දැකීම සැලකිල්ලට ගනිමින්, මම තීරණය කළේ මල්ටිහෝමිං තවමත් ප්‍රමුඛතාවයක් නොවන බවත්, අසාර්ථකත්වය පමණක් බවත්ය. කෙසේ වෙතත්, ලිනක්ස් හි නවතම අනුවාදයන්හි සෑම දෙයක්ම එක් විධානයකින් ක්‍රියා කළ යුතු බව පෙනේ:

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

එබැවින්, අසාර්ථක වීමේ එක් ලක්ෂ්‍යයක් වළක්වා ගැනීම සඳහා, අපි BPI 2 ක් ගෙන, එක් එක් සැපයුම්කරුවෙකුට සම්බන්ධ කර, ඒවා එකිනෙකට සම්බන්ධ කර, කුරුල්ලා/OSPF හරහා එකිනෙකා සමඟ ගතික මාර්ගගත කිරීම සිදු කරමු.

ඊළඟට, සේවාව තිබේ නම් (අන්තර්ජාලය, DNS) අපි එකම IP ලිපිනය ප්‍රචාරණය කරමු. එනම්, අපි පෙරනිමි මාර්ගය අප විසින්ම සකස් නොකරමු, නමුත් කුරුල්ලා හරහා. මම විසඳුම ඔත්තු බැලුවා මෙහි .

මෙම ක්‍රියාකාරිත්වය තවම ක්‍රියාත්මක කර නොමැත, ද්‍රෝහී කොරෝනා වයිරසය මෙහි උපක්‍රමයක් ක්‍රීඩා කළේය (සියල්ල Aliexpress වෙතින් පැමිණියේ නැත; තවත් අන්තර්ජාල වෙළඳසැලක් වන ලයිටා සතියකින් ලබා දීමට පොරොන්දු වූ නමුත් මාසයකට වඩා ගත වී ඇත; දෙවන සැපයුම්කරුට කාලය නැත. නිරෝධායනය කිරීමට පෙර කේබලය දිගු කිරීමට, කේබලය සඳහා බිත්තියට සරඹ සිදුරක් ලබා ගැනීමට පමණක් සමත් විය).

R64 ඇණවුම් කරන්නේ කෙසේද?

පුවරුවම නිල ගබඩාවේ ඇත SinoVoip.
වහාම ඇණවුම් කිරීම ද වඩා හොඳය:

  • පෝෂණය + EU හෝ US ප්ලග් ප්‍රමිතියට දන්වන්න
  • තාප සින්ක්: රේඩියේටර් / පංකා; මොකද CPU එකයි switch chip එකයි දෙකම රත් වෙනවා
  • wifi ඇන්ටනාව, උදාහරණයක් ලෙස

සූක්ෂ්මතාවයක් ඇත - බෙදා හැරීමේ මිල ටික කලක් නිල ගබඩාවේ ප්‍රමාණවත් ලෙස ඉහළ ගොස් ඇත. කළමනාකරු Judy Huang මට ඒත්තු ගැන්වූයේ කිසිදු දෝෂයක් නොමැති බවත්, ඔබට ePacket $5 සඳහා තෝරාගත හැකි බවත්, නමුත් රුසියාව සඳහා EMS ඇත්තේ >$33 සඳහා පමණක් බව මම දුටුවෙමි. අප්රසන්න, නමුත් විවේචනාත්මක නොවේ. එපමණක් නොව, ඔබ බෙදා හැරීම සඳහා වෙනත් රටක් තෝරා ගන්නේ නම් (මම සියලු මහාද්වීප හරහා ගියෙමි), බෙදා හැරීම සඳහා ~$5ක් වැය වේ. Russophobes?.. නමුත් පසුව ප්‍රංශයට බෙදා හැරීමේ මිල ඩොලර් 30 ක් බව මට පෙනී ගිය අතර මම සන්සුන් විය.

එහි ප්‍රතිඵලයක් වශයෙන්, ජූඩි ඇණවුමක් කිරීමට ඉදිරිපත් වූ නමුත් නොගෙවීමට (ඉඟිය: ස්වයංක්‍රීය ගෙවීම සිදු නොවන පරිදි කාඩ්පතට අඩුවෙන් තබන්න); ඇයට ලියන්න, එවිට ඇය බෙදා හැරීමේ මිල සාමාන්‍ය තත්වයට අඩු කරයි. සාර්ථකත්වය.

ගැටලු

සෑම දෙයක්ම තවමත් පරිපූර්ණ ලෙස ක්රියා නොකරයි.

ඵලදායිතාව

Ansible=Python විධාන තත්පර 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
...

නැවත ආරම්භ කිරීම පමණක් උපකාරී වේ. අපි ඉදිරියට යා යුතුයි විසඳන්න.

ඊතර්නෙට්

ඊතර්නෙට් ක්‍රියා කරයි, නමුත් පැය ~64කට පසු RXNUMX වෙතින් පැකට් (DHCP) පැමිණීම නතර වේ.
අතුරු මුහුණත නැවත ආරම්භ කිරීම උපකාරී වේ:

ifdown br0; sleep 30; ifup br0

රියදුරු අලුත් ය, එය තවමත් කර්නලයට පිළිගෙන නැත, එය චීන ලැන්ඩන් චාඕ යැයි මම බලාපොරොත්තු වෙමි එය අවසන් කරයි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න