Banana Pi 64 waa kombuyuutar hal-board ah oo la mid ah Raspberry Pi, laakiin leh dhowr dekedood oo Ethernet ah, taas oo suurtogal ka dhigaysa in loo rogo router ku salaysan qaybinta guud ee Linux.
Haa, waxaa horay u jiray Openwrt, laakiin waxay leedahay dhibaatooyinkeeda, GUI iyo CLI; Waxaa jira Mikrotik, laakiin mar kale waxay leedahay GUI / CLI u gaar ah, iyo Wireguard kama shaqeynayo sanduuqa ... Guud ahaan, waxaan rabaa router leh goobo dabacsan, inta lagu jiro qaabka Linux caadiga ah, oo aad shaqeyso leh maalin kasta.
Maqaalka hoos yimaada magacyada BPI, R64, hal-board, waxaan ula jeedaa wax la mid ah - Banana Pi R64 hal-board laftiisa.
Doorashada sawirka. Ku soo deji eMMC
Xirfadda ugu horreysa ee aad u baahan tahay inaad hesho markaad la shaqaynayso SBC guud ahaan, gaar ahaan R64, tani waxay ka dhigan tahay inaad barato sida loogu shubo nidaamka hawlgalka iyo inaad awood u leedahay inaad la falgasho, sababtoo ah R64 ma laha deked loogu talagalay kormeeraha (HDMI, tusaale ahaan). Markii ay wax walba dhaceen - Wifi, Ethernet, Bluetooth, USB, iwm. ayaa joojiyay shaqada, waxaa jira UART, iyada oo loo marayo interface-ka kaas oo aad had iyo jeer ka arki karto wixii khaldamay, oo sidoo kale ku maamula dhowr amar oo ka soo baxa console-ka, haddii loo baahdo.
Algorithm ee ku xidhidhiyaha R64 ee USB-UART:
Waxaan ku ordanaa dukaanka qaybaha raadiyaha si aan u helno fiilada USB-UART (PL2303, Serial-to-USB)
ku xidh hal dhamaadka USB kombayutarka, ka kalena, UART, R64, oo leh saddex fiilood oo afar ah, sida sawirka hoose.
ku dhex ordi kombayuutarka sudo minicom
Taas ka dib, inta badan kiisaska konsole-ka-koobku wuxuu soo muuqan doonaa = guul.
Waxaad arki kartaa faahfaahin dheeraad ah halkan.
Marka xigta, sida ugu fudud ayaa ah in nidaamka qalliinka laga soo dejiyo kaarka SD: soo dejiso link sawirka oo buuxi:
Kaarka waxaan gelinaa booska R64 SD, shid, oo aan ilaalinayno konsole-ku-xiran loading uboot marka hore, ka dibna loading Linux caadiga ah.
Ikhtiyaarka bootinta ee kale ayaa isticmaalaya kaarka 64Gb ee horay loogu dhex dhisay R8, oo loo yaqaan eMMC. Sida ku cad tilmaamaha wiki, waxaan ku koobiyayna sawirka qalabka
/dev/mmcblk0 ilaa BPI, reboot, saar kaadhka SD, shid BPI mar kale... mana shaqaynayso. Sida loo noqdo iyo gadaal Boot select ha isku dhibin.
Xaqiiqdu waxay tahay in ugu yaraan BPI aad u baahan tahay inaad dejiso calan gaar ah si aad awood ugu yeelatid inaad ka soo saarto darawalka gudaha:
Soo saaraha R64 (Shiinaha) ayaa dhejiyay binary-gan halkan. Waxa ay qabato lama yaqaan (ma jiraan kood isha), laakiin la'aanteedna ma shaqayn doonto.
Guud ahaan, tan ka dib, sawiradu waxay bilaabaan inay ka soo degaan eMMC. Haddii aad rabto inaad ogaato oo aad sawirro ka abuurto xoq, markaa labada kiis (SD/eMMC) waxaad u baahan tahay inaad qorto dhowr faylal oo dheeraad ah (horey u soo dejiyaha kaarka SD, ATF, u-boot) si aad u gasho kernel-ka. Mawduucan wali waa jiraa horumarisa, laakiin anaga waxa ugu weyn waa in ay shaqeyso oo ay okay.
Hadda waxaan ku soo dejiyaa eMMC, si daacad ah, ma isticmaalo, kaarka SD ayaa ku filan, laakiin waqti badan ayaan ku qaatay sidii aan u shaqeyn lahaa, markaa ha ku jirto maqaalka.
Doorashada nidaamka hawlgalka. Armiya
Hawsha codsiga ugu horeeya waa in la bilaabo VPN, dabiici ahaan Wireguard. Isla markiiba waxaa la ogaaday in dhinaca kernel-ka aan la isku uruurin oo aysan jirin wax madax ah. Waxa aan dib u dhisay kernel-kii, sida caadadayda x86, waxa aan soo ururiyay module-ka kernel-ka aniga oo isticmaalaya DKMS. Si kastaba ha ahaatee, xawaaraha lagu dhisayo xitaa yutiilitooyinka yaryar ee arm64 ayaa si aan fiicneyn iiga yaabiyay. Kadibna module kale oo kernel ah ayaa loo baahan yahay, iwm. Guud ahaan, waxa soo baxday in wax kasta oo la xidhiidha kernel-ka ay si fiican isugu geeyeen kombuyuutar x86 diirran, ka dibna loo wareejiyo R64 iyada oo si fudud loo koobi karo, dib loo bilaabay oo la tijaabiyey.
Wax kale waa qaybta userspace. Xaaladdayda doorashada Debian, wax kasta oo loogu talagalay naqshadaha arm64 waxay mar hore ku yaalliin packs.debian.org oo looma baahna in wax dib loo dhiso.
Si aan loo soo saarin baaskiil kale, I xamaaliArmiya BPI R64.
Ama halkii, tan: qaybta adeegsaduhu waa Armbian, iyo kernel-ka ayaa laga soo qaatay kaydka Frank-A. Sawirkii ugu dambeeyay waa la soo dejisan karaa halkan.
Dhammaan hawlaha horumarinta qaybta software ee R64 waxaa lagu fuliyaa on kulanka. Guud ahaan, soo-saaraha laftiisa ayaa ku dadaalaya inuu ku faafiyo router-ka Openwrt, laakiin waxaa mahad leh waxqabadka horumariyaha Frank oo ka yimid Jarmalka, dhammaan astaamaha si dhakhso leh ayey ugu dambeeyaan kernel-ka Debian. Waxa la yaab leh, Frank waa firfircoon yahay dunta forum kasta.
Ururka goobta shaqada: fiilooyinka
Si gooni ah, waxaan jeclaan lahaa inaan kuu sheego sida, inta lagu jiro horumarka/tijaabada, dhig SBC (ma ahan kaliya BPI) miiska si aysan ugu socon fiilada Ethernet-ka ee isha internetka ee qolka / xafiiska oo dhan. Xaqiiqdu waxay tahay, dhinaca kale, waxaad u baahan tahay inaad bixiso qayb ka mid ah qalabka internetka, laakiin dhinaca kale, wax kasta oo qalabkaas ku jira ayaa jabi kara, oo marka hore Wifi.
Marka hore, waxaan go'aansaday in aan iibsado USB-Wifi "firi" raqiis ah, ku dheji dekedda kaliya ee BPI oo illow fiilooyinka. Si tan loo sameeyo, waxaan soo iibsaday TP-LINK TL-WN725N USB 2.0 ah oo aan qaali ahayn, laakiin ugu dhakhsaha badan waxay caddaatay in aysan ka bixi doonin: foorida si ay u shaqeyso, waxaad u baahan tahay darawal kernel ah, kaas oo, dabcan, ma joogin halkaas. (ka dib waxaan soo ururiyay darawalkii lagama maarmaanka u ahaa RTL8XXXU, laakiin wali waa wax aan macquul ahayn). Fiilada Ethernet-na waxa ay xumaysay muuqaalka qolka in muddo ah.
Natiijo ahaan, waxaan ku guuleystey inaan ka takhaluso fiilada iyadoo la kaashanayo Tenda MW3 (Nidaamka mesh Wifi): Waxaan si fudud u dhigay hal cube miiska hoostiisa waxaanan ku xiray BPI dekedda LAN ee dambe oo leh fiilo mitir ah oo Ethernet ah. Guul
Haa, dhammaan hawlgalladan ka hor waxaad u baahan tahay inaad abuurto siraha (gaar ahaan furayaasha Wireguard) galka ./secrets, buuggu waa inuu u ekaado sidaas darteed.
Automation macquul ah oo ku jira Python
Waxaad ogaan kartaa in halkii aad ku jiri lahayd qaabka YAML, amarada macquulka ah ay ku qoran yihiin qoraallada Python. Marka la barbardhigo, sida loo awoodo daemon shimbireedka sida caadiga ah:
Wadarta: telegram wuu shaqeeyaa, linkedin iyo pornhub sidoo kale, guud ahaan khibrada isticmaaluhu waa ok. Laakiin wax walba way jabi karaan, oo ay ku jiraan qalabka Shiinaha.
Cusbooneysiinta Kernel waxay sidoo kale noqon kartaa mid xiiso leh: tusaale ahaan, waxaan rabay inaan cusbooneysiiyo kernel 5.4 => 5.6, si fiican, Wireguard waa ka baxsan yahay sanduuqa, looma baahna in la dhajiyo ilaa 5.4, kernel-ku wuu bilaabmay, tunnel-ka VPS pinged, laakiin shimbiruhu kuma xidhi karaan qaladka "BGP Error" ... "Waxaan dib ugu soo laabtay cabsi" (c) ilaa 5.6; U dhaqaaqista 5.4 ayaa dib loo dhigay TODO.
Sidaa darteed, marka lagu daro rakibidda router iyo VPS, waxaan ku daray la socodka (x86 Ubuntu 18.04), kaas oo lagu rakibay marti-gal gaar ah oo leh qaybaha soo socda:
prometheus, maareeyaha digniinta, blackbox_exporter - dhamaantood waxay ku jiraan docker
Ogeysiisyada waxaa loo diraa kanaalka telegram-ka iyadoo la adeegsanayo birta-maareeyaha-bot-bot-sidoo kale gudaha Docker
tor for bot, si bot-ku uu uga digtoonaado xaaladaha marka uu jiro internetka, laakiin telegram wali ma shaqeeyo, bot laftiisana ma xiriiri karo
codsatay digniino: NodeVPNTroubles (no ping to VPS), BirdVPNTroubles (wax shimbir ah oo aan lahayn), AntifilterDownload Dhibaatooyin (qallad la xirayo cinwaannada IP), SiteTroubles (telegram-ka xun lama heli karo)
Ogeysiisyada nidaamka, tusaale ahaan, HostGrowingDiskReadLatency (kaarka SD raqiis ah waxa uu noqdaa mid aan la akhrin karin)
Marka laga soo tago wax walba, waxaan qorsheeyay in aan ku xidho laba bixiyeyaal si internetka uu u sii shaqeeyo, xitaa haddii mid ka mid ah bixiyeyaashu ay dhibaato ku qabaan shabakadda, ama ay illoobeen inay bixiyaan internetka, iwm, iyo arrimo kale oo aadanaha ah.
Khibrada isticmaale ee ugu horumarsan mawduuca multi-wan ayaa lagu sifeeyay halkan ee nidaamka Mwan3 ee hoos yimaada Openwrt. Xalkani waxa uu leeyahay hawlkarnimo qani ah, laakiin u samaynta iyo ku shaqaynta guud ahaan wan-yada kala duwan waa arrin dhib badan. Kaliya hal tusaale: haddii aad ka timaaddo boggaga qaarkood laba ciwaan IP hal mar, waxaa laga yaabaa inaysan jeclayn, waxay joojin doonaan shaqada => "Internetka ma shaqeynayo."
Anigoo tixgelinaya waayo-aragnimadan, waxaan go'aansaday in multihoming aysan ahayn mudnaan weli, kaliya guul-darradu. In kasta oo, ay u muuqato in noocyadii ugu dambeeyay ee Linux wax walba ay tahay inay ku shaqeeyaan hal amar sida:
ip route add default
nexthop via 192.168.1.1 weight 10
nexthop via 192.168.2.1 weight 5
Markaa, si aan uga fogaano hal dhibic oo guul darro ah, waxaanu qaadanaa 2 BPIs, waxaanu mid walba ku xidhaa hal bixiye, waxaanu isku xidhaa midba midka kale oo aanu xidhiidhka midba midka kale ka samaynaa habayn firfircooni ah iyada oo loo marayo shimbir/OSPF.
Marka xigta, waxaan ku xayeysiineynaa isla cinwaanka IP-ga mid kasta haddii adeegga la heli karo (Internet, DNS). Taasi waa, ma dejin doono dariiqa caadiga ah nafteena, laakiin iyada oo loo marayo shimbiraha. Xalka waan basaasay halkan .
Shaqadan wali lama hirgelin, coronavirus-ka khiyaanada leh ayaa halkan ku ciyaaray khiyaano (wax walba kama iman Aliexpress; dukaan kale oo internetka ah, Layta, ayaa ballan qaaday inuu ku keeno usbuuc gudihiis, laakiin in ka badan hal bil ayaa ka soo wareegtay; bixiyaha labaad ma helin waqti in la dheereeyo fiilada ka hor karantiil, kaliya waxa u suurtagashay in ay dalool ka soo gasho darbiga fiilada).
Sida loo dalbado R64
Looxa laftiisa ayaa ku jira dukaanka rasmiga ah SinoVoip.
Waxa kale oo fiican inaad si degdeg ah u dalbato:
Waxaa jira nuance - qiimaha gaarsiintu wuxuu noqday mid aan ku filnayn dukaanka rasmiga ah in muddo ah. Maamulaha Judy Huang wuxuu igu qanciyay inaysan jirin qalad, oo waxaad dooran kartaa ePacket $ 5, laakiin waxaan u arkay in Ruushka uu jiro EMS kaliya> $ 33. Aan wacnayn, laakiin aan muhiim ahayn. Waxaa intaa dheer, haddii aad doorato waddan kale oo lagu geynayo (waxaan soo maray dhammaan qaaradaha), gaarsiinta waxay ku kici doontaa ~ $ 5. Russophobes? .. Laakiin markaa waxaan ogaaday in Faransiiska qiimaha gaarsiinta uu sidoo kale yahay ~ 30$, oo waan dejiyay.
Natiijo ahaan, Judy waxay soo bandhigtay inay bixiso amar, laakiin ma bixinayso (tilmaan: wax yar saar kaadhka si aanay lacagta tooska ah u dhicin); warqad u qor oo waxay hoos u dhigi doontaa qiimaha dhalmada si caadi ah. Guul
Arrimaha
Weli wax walba si fiican uma shaqeeyaan.
Wax-soo-saarka
Aansible=Amarka Python waxaa loo fuliyaa si tartiib ah, xitaa kuwa aan shaqayn, 20-30 ilbiriqsi; Amarka cabbirka ka dheer kan laptop-ka x86. Intaa waxaa dheer, marka hore si dhakhso ah ayaa loo fuliyay, ~ 3 ilbiriqsi, ka dibna si tartiib ah ayey u yareeyaan. Tan waxa laga yaabaa inay sabab u tahay kululaynta CPU (cudurada). Koodhka Go sidoo kale wuxuu qaataa waqti dheer inuu shaqeeyo:
# Π·Π°ΠΏΡΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΠΏΡΠΎΠΌΠ΅ΡΠ΅Ρ ΠΈΠ· 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
Wifigu wuu shaqeeyaa, laakiin Armbianku wuxuu joogsadaa maalin ka dib, wuxuu qoray: