Banana Pi 64 як компютери ягонаи тахтаи монанд ба Raspberry Pi мебошад, аммо дорои якчанд бандарҳои Ethernet мебошад, ки имкон медиҳад онро ба роутер дар асоси тақсимоти умумӣ дар Linux табдил диҳед.
Бале, аллакай Openwrt вуҷуд дорад, аммо он мушкилоти худро дорад, GUI ва CLI; Микротик вуҷуд дорад, аммо боз он GUI/CLI-и худро дорад ва Wireguard аз қуттӣ кор намекунад... Умуман, ман мехоҳам роутер бо танзимоти чандир ва дар доираи Linux-и стандартӣ, ки шумо кор мекунед, бимонам. бо хар руз.
Дар мақолаи зери номҳои BPI, R64, як панел, ман ҳамон чизро дар назар хоҳам дошт - худи Banana Pi R64 як панели.
Интихоби тасвир. Тавассути eMMC зеркашӣ кунед
Аввалин маҳорате, ки шумо бояд ҳангоми кор бо он ба даст оред SBC дар маҷмӯъ, ва махсусан бо R64, ин маънои онро дорад, ки омӯхтани тарзи бор кардани системаи оператсионӣ ба он ва қодир будан бо он кор кардан, зеро R64 порт барои монитор надорад (масалан, HDMI). Вақте ки ҳама чиз аз байн рафт - Wifi, Ethernet, Bluetooth, USB ва ғайра кор карданро қатъ карданд.UART мавҷуд аст, ки тавассути интерфейси он шумо ҳамеша метавонед дидед, ки чӣ хато кардааст ва инчунин дар ҳолати зарурӣ аз консол якчанд фармонҳоро иҷро кунед.
Истеҳсолкунандаи R64 (Чин) ин бинариро нашр кардааст дар ин ҷо. Он чӣ кор мекунад, маълум нест (кодҳои манбаъ вуҷуд надоранд), аммо бе он ҳам кор намекунад.
Умуман, пас аз ин, тасвирҳо аз eMMC бор карда мешаванд. Агар шумо хоҳед, ки онро фаҳмед ва аз сифр тасвирҳо эҷод кунед, пас барои ҳарду ҳолат (SD/eMMC) ба шумо лозим меояд, ки чанд файли дигарро нависед (пешборкунак барои корти SD, ATF, u-boot) танҳо барои ворид шудан ба боркунии ядро. Ин мавзӯъ то ҳол аст рушд карда истодааст, аммо барои мо чизи асосй он аст, ки он кор мекунад ва хуб аст.
Вазифаи аввалини барнома оғоз кардани VPN, табиатан Wireguard аст. Дарҳол маълум шуд, ки дар тарафи ядро монтаж карда нашудааст ва сарлавҳаҳо вуҷуд надоранд. Ман ядроро аз нав сохтам ва чун одати худ бо x86, бо истифода аз DKMS модули ядроро ҷамъ кардам. Бо вуҷуди ин, суръати сохтани ҳатто иншооти хурд дар arm64 маро ба ҳайрат овард. Ва он гоҳ як модули ядрои дигар талаб карда шуд ва ғайра. Умуман, маълум мешавад, ки ҳама чизҳои марбут ба ядро бо ноутбуки гарми x86 беҳтарин ҷамъ карда мешаванд, пас бо нусхабардории оддӣ ба R64 интиқол дода мешаванд, аз нав оғоз карда мешаванд ва санҷида мешаванд.
Чизи дигар қисми фазои корбарон аст. Дар мавриди интихоби ман Debian, ҳама чиз барои меъмории arm64 аллакай дар packages.debian.org мавҷуд аст ва барои аз нав сохтани чизе лозим нест.
Барои он ки дигар велосипед истехсол накунад, И интиқол дода шудАрмян Дар BPI R64.
Дурусттараш, ин: қисми корбарон Armbian аст ва ядро аз анбор гирифта шудааст ошкор— А. Тасвири охиринро зеркашӣ кардан мумкин аст дар ин ҷо.
Ҳамаи фаъолиятҳо оид ба таҳияи қисми нармафзори R64 амалӣ карда мешавад Форум. Умуман, худи истеҳсолкунанда мекӯшад, ки роутерро барои Openwrt маъмул созад, аммо ба шарофати фаъолияти таҳиякунанда Франк аз Олмон, ҳама хусусиятҳо зуд дар ядрои Debian ҷамъ мешаванд. Тааҷҷубовар аст, ки Франк дар ҳар як риштаи форум фаъол аст.
Ташкили майдони кор: симхо
Алоҳида, ман мехоҳам ба шумо бигӯям, ки чӣ гуна ҳангоми таҳия/озмоиш, SBC (на танҳо BPI)-ро дар миз ҷойгир кунед, то сими Ethernet ба он аз манбаи интернет дар тамоми ҳуҷра/офис нагузаронад. Гап дар сари он аст, ки аз як тараф, шумо бояд як таҷҳизоти сахтафзорро бо Интернет таъмин кунед, аммо аз тарафи дигар, ҳама чиз дар он таҷҳизоти сахтафзор метавонад вайрон шавад ва пеш аз ҳама Wifi.
Аввалан, ман қарор додам, ки як "ҳуштак"-и арзони USB-Wifi харам, онро ба ягона бандари BPI пайваст кунам ва симҳоро фаромӯш кунам. Барои ин ман як TP-LINK TL-WN725N USB 2.0-и арзон харидам, аммо ба зудӣ маълум шуд, ки он хомӯш намешавад: барои кор кардани ҳуштак ба шумо драйвери ядро лозим аст, ки албатта дар он ҷо набуд. (баъдтар ман ронандаи зарурии RTL8XXXU-ро ҷамъ овардам, аммо ин ҳанӯз ғайриимкон аст). Ва сими Ethernet барои муддате намуди ҳуҷраро вайрон кард.
Дар натиҷа, ман тавонистам бо ёрии Tenda MW3 (системаи Wifi mesh) аз кабел халос шавам: ман танҳо як кубро дар зери миз гузоштам ва BPI-ро ба порти LAN-и охирин бо сими Ethernet-и метрӣ пайваст кардам. Муваффакият.
Wireguard, RKN, Bird
Яке аз чизҳое, ки ман мехоҳам Banana PI-ро барои он истифода кунам, дастрасии ройгон ба сайтҳои аз ҷониби RKN басташуда мебошад, алахусус, то зангҳои Telegram ва Slack кор кунанд. Мақолаҳо дар бораи Ҳабре аллакай дар ин мавзӯъ пешниҳод шудаанд: вақтҳо, два, се.
Ман маҳз ин ҳалли худро бо истифода аз Ansible ҷойгир кардам: Садо Ояндасоз.
Ҳамагӣ: телеграмма кор мекунад, linkedin ва pornhub низ, дар маҷмӯъ таҷрибаи корбар хуб аст. Аммо ҳама чиз метавонад шикаста, аз ҷумла сахтафзор Чин.
Навсозиҳои ядро инчунин ҷолиб буда метавонанд: масалан, ман мехостам ядрои 5.4 => 5.6-ро навсозӣ кунам, хуб, Wireguard аз қуттӣ ҳаст, часпондан лозим нест... Ба зудӣ гуфтам: Ман часбҳоро аз 5.4 бо заҳмат интиқол додам. то 5.6, ядро ба кор даромад, нақби VPS пинг кард, аммо парранда бо хатогии "BGP Error" пайваст шуда наметавонад ... "Ман даҳшатнок шудам" (в) то 5.4; Гузариш ба 5.6 дар TODO мавқуф гузошта шуд.
Аз ин рӯ, ба ғайр аз насб кардани роутер ва VPS, ман мониторинг илова кардам (дар x86 Ubuntu 18.04), ки дар ҳости алоҳида бо ҷузъҳои зерин насб шудааст:
tor барои бот, то ин ки бот метавонад ҳолатҳоро ҳангоми мавҷудияти Интернет огоҳ кунад, аммо Telegram то ҳол кор намекунад ва худи бот пайваст шуда наметавонад.
Илова бар ҳама, ман нақша доштам, ки ба ду провайдер пайваст шавам, то интернет корашро идома диҳад, ҳатто агар як провайдер бо шабака мушкилӣ дошта бошад ё пардохти интернет ва ғайраро фаромӯш карда бошад ва дигар омилҳои инсонӣ.
Таҷрибаи пешрафтаи корбар дар мавзӯи бисёрҷониба тавсиф шудааст дар ин ҷо барои системаи Mwan3 зери Openwrt. Ин ҳалли дорои функсияҳои ғанӣ мебошад, аммо насб ва истифода бурдани он дар маҷмӯъ барои бисёрҷониба хеле душвор аст. Танҳо як мисол: агар шумо якбора ба баъзе сайтҳо аз ду суроғаи IP ворид шавед, шояд ба онҳо маъқул нашаванд, онҳо корро қатъ мекунанд => "Интернет кор намекунад."
Бо дарназардошти ин таҷриба, ман қарор додам, ки multihoming ҳанӯз авлавият нест, танҳо хатогӣ. Гарчанде ки чунин ба назар мерасад, ки дар версияҳои охирини Linux ҳама чиз бояд бо як фармон кор кунад, ба монанди:
ip route add default
nexthop via 192.168.1.1 weight 10
nexthop via 192.168.2.1 weight 5
Ҳамин тавр, барои пешгирӣ кардани як нуқтаи ноком, мо 2 BPI-ро мегирем, ҳар якро ба як провайдер пайваст мекунем, онҳоро ба ҳамдигар пайваст мекунем ва бо ҳам масири динамикӣ тавассути парранда/OSPF пайваст мекунем.
Баъдан, мо як суроғаи IP-ро дар ҳар яки онҳо таблиғ мекунем, агар хидмат дастрас бошад (Интернет, DNS). Яъне мо масири пешфарзро худамон намегузорем, балки тавассути парранда. Ман ҳалли худро дидам дар ин ҷо .
Ин функсия то ҳол амалӣ карда нашудааст, коронавируси маккорона дар ин ҷо ҳилае бозид (на ҳама чиз аз Aliexpress омад; мағозаи дигари онлайн Лайта ваъда дод, ки дар як ҳафта интиқол медиҳад, аммо зиёда аз як моҳ гузашт; провайдери дуюм вақт надошт. ба дароз кардани кабел пеш аз карантин, танҳо муяссар шуд, ки сӯрохи пармакунӣ дар девор барои кабел).
# запрос метрик для прометея из 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 пас аз як рӯз қатъ мешавад, менависад: