Ukubekw'esweni okude kunye nolawulo lwe-Linux/OpenWrt/Lede esekelwe kwizixhobo nge-port 80, iqhubekile

Eli licandelo lokugqibela lenqaku, nasi isiqalo habr.com/en/post/445568
Ngexesha lokugqibela ndibhale malunga nendlela endiphumeze ngayo ukubeka iliso kwisixhobo, ngoku siza kuthetha ngolawulo. Kwiingxoxo kunye “noochwephesha” kwicala loMthengi, ndihlala ndidibana nembono elinganiselweyo yobuchule bezixhobo ezincinci ezinjalo (ezinezixhobo zememori ephantsi kunye nokusebenza), abaninzi bakholelwa ukuba “eyona nto siyifunayo kukuthumela ukuqalisa kwakhona, into engaphezulu. sizimisele ngokuthumela iqela” .
Kodwa ukuziqhelanisa kubonisa ukuba oku akuyonyani ngokupheleleyo. Nalu uluhlu oluncinci lwemisebenzi eqhelekileyo eqhelekileyo:

  1. Uxilongo lwenethiwekhi kunye nokusombulula ingxaki. Emva kwe-ethernet port ye-router yakho ngokuqhelekileyo kukho enye inxalenye ye-hardware enedilesi ye-IP yangaphakathi. Ngamanye amaxesha, unako (kufuneka) "uyiping". Okanye ulawulo lwetonela - ukuba itonela ngokukhawuleza ayiphakami kwi-router esebenza nge-modem ye-3G, kodwa sinokubona i-router ngokwayo.
  2. Ukugcinwa kwenkqubo. Uhlaziyo lweFirmware, uphuculo lweskripthi senkonzo.
  3. Isenzo sokulinganisela. Oku kunokubizwa ngokuba "yimpazamo", kodwa ingcamango "yokulingana" njengoko, ndicaphula, "amandla omdlali wesekisi ukugcina ibhalansi kwindawo engazinzanga yomzimba" - ingena ngcono. Iimeko ezinjalo zivela ngenxa yohlahlo lwabiwo-mali olulinganiselwe lomthengi. Ngezantsi ndinike imizekelo embalwa, kodwa... Azihambelani ngokuthe ngqo nomxholo webali, ndiwabeka kumanqaku

Wi-Fi esweniIsihloko esisefashonini kule minyaka mihlanu idlulileyo, ikakhulu phakathi kwamatyathanga okuthengisa e-federal. Uhambahamba ngokuzolileyo kwimigangatho yokurhweba, kwaye ifowuni yakho ephathwayo ene-Wi-Fi ivuliwe, kumzamo woku “ncamathela” kumsonto othile womnatha, ithumela rhoqo iipakethi zeProbe Cela, ezinokuthi zihlalutywe ukuze kubalwe. wena:ufika kangaphi apha evenkileni,ngezizathu zeziphi?uhamba nge trajectories njalo njalo. Emva koko idatha iqokelelwa, ihlalutye, iimephu zokushisa zizotywa, kwaye abaphathi "baphanga" imali kubaphathi okanye abatyali-mali kwimifanekiso enjalo. Ewe, okwangoku .... "akukho mali, kodwa ubambe ...", kwaye umphumo (owokwenene) sele kufuneka uboniswe, ingoma endala iqala: "Ewe, ewe, ngoko ke ngokuqinisekileyo thina iya kufaka i-cis kunye nayo yonke into oyifunayo, kodwa ngoku kufuneka sibonise uMthengi umphumo! Ngendlela, silibale ukuthi uMthengi usivumele ukuba sidibanise izixhobo zethu kwindawo yakhe ye-hotspot nge-Wi-Fi, kodwa ngokubanzi, ngokungathi singabathengi beendwendwe. " Kwaye ke kufuneka senze i-balanceing routers - ii-subinterface ezininzi ze-WiFi ziphakanyisiwe, enye yazo ibambelele kwi-hotspot, kwaye eyesibini ibeka iliso kwendalo, ilayishe ngokukhawuleza isiphumo se-tcpdump kuyo, emva koko ipakishe imixholo yefayile kwindawo yokugcina kunye nemingcipheko. Ukufa "kukutya kakhulu" kuzama ukutshica imixholo kwiseva yeFTP. Akumangalisi ukuba i-router yokulinganisa ihlala "iphuka" kwaye ngandlela-thile kufuneka "ivuselelwe" ukude.

umakha-sangqaKulula ukuchaza imeko apha ngento efana nale ngxelo evela kumthengi: “Sifuna uthungelwano olunatyisiweyo lwee-hotspots ezinokuthi zisebenze kwizixhobo ezinemodeli engaziwa kwangaphambili, ngeetshaneli, kodwa zeziphi esingekazazi. Owu, sikhohlwe ukuthetha, asifuni nje ukubonisa intengiso kubaxhasi, kodwa sihlalutya yonke into ejikeleze indawo apho i-hotspot ifakwe khona. Hayi, asazi ukuba kutheni okwangoku, kodwa siza kuyifumana, ungathandabuzi, sikwazile ukuza nalo mbono. ”

Kwaye asimele silibale ukuba ngenxa yeemeko ezininzi ezingaziwa ngaphambili, ulawulo kufuneka lwenziwe kwiimeko ezingaqhelekanga, xa singenako ukudibanisa kwi-router ngqo nge-IP: ichweba kwaye unyanzelekile ukuba ulinde nje umsebenzi ovela kuyo. Ukuba siyazikhupha, incoko yababini phakathi komncedisi kunye ne-router inokumelwa ngolu hlobo:

  • Umzila: Mholo. Ndinje kwaye ndiyindlela enje, ngaba ikhona imisebenzi kum?
  • UmSebenzi: i-router enjalo kunye nokunye, ndikubhalisele, ukuba uyaphila. Nanku umceli mngeni: ndibonise isiphumo somyalelo we ifconfig?
  • Umzila: Mholo. Ndinje kwaye ndiyindlela, ngexesha lokugqibela ucele ukubonisa isiphumo se-ifconfig, nantsi. Ngaba ikhona imisebenzi yam?
  • UmSebenzi: i-router enjalo kunye nokunye, ndikubhalisele, ukuba uyaphila. Akukho misebenzi yakho.

Umbuzo onomdla kakhulu: njani i-router ekude ingathumela inani elithile lolwazi? Kwinxalenye yokugqibela, ndichaze ukuba ngenxa yezibonelelo ezilinganiselweyo, i-router ine-wget "ehluthiweyo", esebenza kuphela nge-GET kwaye akukho nto yimbi; akukho mthengi we-FTP okanye i-curl. Ngokuchanekileyo, sifuna indlela yendalo yonke, kungakhathaliseki ukuba zeziphi iimpawu zokuhlanganisa umfanekiso. Ndazinza ekusebenziseni i-wget. Ngokuchanekileyo, indlela "endiyeke ngayo" - bendingenakho ukukhetha :)

Ukuzihlangula njeIsisombululo sam solawulo siyasebenza, asikhawulelwanga kakhulu, kwaye ndiqinisekile ukuba sigwenxa, nokuba sifanela uninzi lwabathengi bam. Ungayenza njani ngobulumko-bhala into encinci eluncedo ethumela POST idata yokubini ngezibuko 80. Yifake (isixhobo) kwi-router firmware kwaye ufikelele kuyo usebenzisa i-bash. Kodwa inyaniso kukuba: a) kufuneka ngokukhawuleza b) mhlawumbi kufuneka senze yonke into ekhoyo "zoo of routers" c) "ungenzi nto!" - ukuba i-router isebenza kwaye yenza eminye imisebenzi, zama ukwenza utshintsho olungayi kuchaphazela umsebenzi okhoyo.

Masiqhubele phambili ekuphunyezweni. Masithi umthengi wakho ufuna ukuqalisa kwakhona i-router ukusuka kwi-zabbix ngokulula kwaye ngokwemvelo, "ngokucofa imouse." Namhlanje siza kuqala ukuchaza ukuphunyezwa kunye neZabbix.
Kwimenyu ethi "Ulawulo" -> "Izikripthi", yongeza iskripthi esitsha. Siyibiza ngokuthi "Qalisa kwakhona", faka "php /usr/share/zabbix/reboot.php {HOST.HOST}" njengomyalelo

Ukubekw'esweni okude kunye nolawulo lwe-Linux/OpenWrt/Lede esekelwe kwizixhobo nge-port 80, iqhubekile

Okulandelayo: Imenyu "Ukubeka iliso" -> "Idatha yamva nje" -> "Cofa ekunene kwindawo efunwayo yenethiwekhi." Le yindlela imenyu eya kujongeka ngayo emva kokongeza iskripthi.

Ukubekw'esweni okude kunye nolawulo lwe-Linux/OpenWrt/Lede esekelwe kwizixhobo nge-port 80, iqhubekile
Ngokufanelekileyo, sibeka i-reboot.php script kwi /usr/share/zabbix directory (eyakho inokwahluka, ndisebenzisa i-zabbixa root directory).

Ukhuseleko LokuzihlangulaUkwenza inkcazo icace ngakumbi kwiskripthi, ndisebenzisa kuphela i-id ye-router, kodwa ungasebenzisi igama eliyimfihlo. Akukhuthazwa ukwenza oku kwinguqulo yemveliso! Kutheni le nto ndenze oku: kuba umbuzo omkhulu kukuba ukugcinwa phi amagama ayimfihlo kwiirouters? Kwi-zabbixe ngokwayo "kwidatha yoluhlu"? Ukuziqhelanisa nempikiswano. Kungenjalo: thintela ukufikelela kwangaphandle kwifayile ye-reboot.php ngokwayo

Ifayile yokuqalisa kwakhona.php

<?php
	// присваиваем параметры с консоли переменным
	$user = $argv[1];
	// ВНИМАНИЕ. Вот здесь в целях безопасности все-таки прописывать пароль устройства! Но для демонстрации мы будем обращаться к базе данных без использования пароля. 
	//$password = $argv[2];
		
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
			
	// "Отправляем" команду reboot за счет изменения поля task таблицы users. В поле task можно отправлять любую команду.
	$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
	$sql_users->bind_param('s', $user);
	$sql_users->execute();
	$sql_users->close();
?>

Kuko konke. Umbuzo uhlala uvulekile: "indlela yokufumana isiphumo sokwenza umyalelo kwisixhobo." Makhe sijonge umsebenzi usebenzisa umyalelo we-ifconfig njengomzekelo. Lo myalelo unokuthunyelwa kwisixhobo:

message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt

, apho:
umyalezo=`ifconfig` - sinikezela ngesiphumo somyalelo we-ifconfig kwi-variable yomyalezo we-$
wget "xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php -Iskripthi sethu se-a.php esibhalisa ii-routers kwaye sifumana imiyalezo kubo
u=umsebenzisi&p=igama lokugqitha!&m=$message - iziqinisekiso kunye nexabiso lesicelo esiguquguqukayo m - inika imixholo ye-variable yomyalezo we-$
-O /tmp/out.txt — asiyifuni imveliso kwifayile /tmp/out.txt kulo mzekelo, kodwa ukuba le parameter ayichazwanga, wget ayisebenzi

Kutheni oku kungasebenzi?Kuba ngumngxuma wokhuseleko onokwenzeka. Eyona mpazamo ingenabungozi enokwenzeka kukuba, umzekelo, kukho uphawu "&" kwimveliso yomyalelo wakho. Ngoko ke, kuyimfuneko ukucoca zombini yonke into ethunyelwa kwii-routers kunye nayo yonke into eza kumncedisi. Ewe, ndineentloni, ngokwenene. Ekukhuseleni kwam, ndinokubhala kuphela ukuba inqaku lonke linikezelwe kwindlela yokulawula ii-routers kunye ne-firmware echazwe kwangaphambili kunye neendlela zonxibelelwano ezingachazwanga kwangaphambili.

Ewe, isiqalo sexesha elizayo: andikayiqondi indlela yokusebenzisa izixhobo ze-zabbix eziqhelekileyo ukubonisa iziphumo (umzekelo, isiphumo sokwenza umyalelo) esiza kumncedisi.

Ndiyakukhumbuza ukuba yonke imithombo inokufumaneka kwindawo yokugcina iGit apha: github.com/BazDen/iotnet.online.git

umthombo: www.habr.com

Yongeza izimvo