Sa ido mai nisa da sarrafa na'urorin tushen Linux/OpenWrt/Lede ta hanyar tashar jiragen ruwa 80, ya ci gaba

Wannan shine bangare na karshe na labarin, ga farkon habr.com/ha/post/445568
Lokaci na ƙarshe na rubuta game da yadda na aiwatar da saka idanu na na'urar, yanzu za mu yi magana game da gudanarwa. A cikin tattaunawa tare da "masu fasaha" a gefen Abokin ciniki, sau da yawa na gamu da iyakancewar fahimtar iyawar irin waɗannan ƙananan na'urori (tare da ƙananan albarkatun ƙwaƙwalwar ajiya da aiki), mutane da yawa sun yi imanin cewa "mafi yawan abin da muke bukata shi ne aika sake yin aiki, don wani abu mai mahimmanci. da gaske za mu aika tawagar”.
Amma aiki ya nuna cewa wannan ba gaskiya bane. Ga ƙaramin jerin ayyuka na yau da kullun:

  1. Binciken cibiyar sadarwa da magance matsala. Bayan tashar ethernet na na'ura mai ba da hanya tsakanin hanyoyin sadarwa akwai yawanci wani yanki na hardware wanda ke da adireshin IP na ciki. Wani lokaci, zaka iya (ya kamata) "ping" shi. Ko sarrafa rami - idan ramin ba zato ba tsammani ya tashi akan na'ura mai ba da hanya tsakanin hanyoyin sadarwa da ke aiki ta hanyar modem 3G, amma muna iya ganin na'ura mai ba da hanya tsakanin hanyoyin sadarwa da kanta.
  2. Kula da tsarin. Sabunta firmware, haɓaka rubutun sabis.
  3. Ayyukan daidaitawa. Ana iya kiran wannan "karkatarwa", amma manufar "daidaitacce" kamar yadda na ambata, "Ikon mai wasan circus don kula da daidaituwa a cikin matsayi mara ƙarfi" - yafi dacewa. Irin waɗannan yanayi suna tasowa saboda ƙarancin kasafin kuɗin abokin ciniki. A ƙasa na ba da misalai guda biyu, amma ... Ba su da alaƙa kai tsaye da jigon labarin, na sanya su a cikin bayanin kula

Wi-Fi saka idanuBatun gaye na shekaru biyar da suka gabata, galibi tsakanin sarƙoƙin dillalai na tarayya. Kuna cikin nishaɗi kuna yawo a cikin benayen ciniki, kuma wayarku ta hannu da Wi-Fi ta kunna, a ƙoƙarin “manne” kan wani zaren cibiyar sadarwa, a kai a kai yana aika fakitin Neman Bincike, waɗanda za a iya tantance su don ƙididdige su. kai: sau nawa ka ke zuwa wannan kantin, saboda waɗanne dalilai? Sa'an nan kuma an tattara bayanan, an bincika, ana zana taswirar zafi, kuma masu gudanarwa suna "karbar kuɗi" daga masu gudanarwa ko masu zuba jari don irin waɗannan hotuna. To, a yanzu .... "babu kuɗi, amma kuna riƙe ...", kuma sakamakon (ainihin) ya riga ya buƙaci a nuna shi, tsohuwar waƙar da ta fara: "Ee, a, to, ba shakka mu zai shigar da cis da duk abin da kuke so, amma yanzu muna buƙatar nuna sakamakon abokin ciniki! Af, mun manta cewa abokin ciniki ya ba mu damar haɗa kayan aikinmu zuwa wurin da yake amfani da shi ta hanyar Wi-Fi, amma gabaɗaya, kamar dai mu abokan cinikin baƙi ne. " Don haka dole ne mu yi daidaita masu amfani da hanyoyin sadarwa - an ɗaga hanyoyin sadarwa na WiFi da yawa, ɗaya daga cikinsu yana manne da hotspot, na biyu kuma yana lura da yanayin, yana loda sakamakon tcpdump da kansa, sannan ya tattara abubuwan da ke cikin fayil ɗin a cikin ma'ajin kuma yana da haɗari. mutuwa daga “cirewa” yayi ƙoƙarin tofa abubuwan da ke cikin sabar FTP. Ba abin mamaki ba ne cewa mai daidaita na'ura mai ba da hanya tsakanin hanyoyin sadarwa sau da yawa "ya rushe" kuma ko ta yaya dole ne a "resuscitated" daga nesa.

radiusYana da sauƙin kwatanta halin da ake ciki a nan tare da wani abu kamar wannan sanarwa daga abokin ciniki: "Muna son cibiyar sadarwa ta wurare masu zafi da za ta yi aiki a kan kayan aikin da ba a san samfurin su a gaba ba, ta hanyar tashoshi, amma wadanda ba mu sani ba tukuna. Oh, mun manta da cewa, ba kawai muna so mu nuna talla ga abokan ciniki ba, amma kuma muna nazarin duk abin da ke kusa da wurin da aka shigar da hotspot. A'a, ba mu san dalilin da ya sa ba tukuna, amma za mu gane shi, kada ku yi shakka, mun sami damar fito da wannan ra'ayin. "

Kuma kada mu manta cewa saboda yawancin yanayin da ba a sani ba a baya, dole ne a gudanar da sarrafawa a cikin yanayin da ba daidai ba, lokacin da ba za mu iya haɗawa da na'ura mai ba da hanya tsakanin hanyoyin sadarwa ta hanyar IP: tashar jiragen ruwa kuma an tilasta mana kawai jira aiki daga gare ta. Idan muka zayyana kanmu, za a iya wakilta tattaunawa tsakanin uwar garken da na'ura mai ba da hanya tsakanin hanyoyin sadarwa kamar haka:

  • Router: Sannu. Ni irin wannan na'ura mai ba da hanya tsakanin hanyoyin sadarwa ne, shin akwai wasu ayyuka a gare ni?
  • Server: na'ura mai ba da hanya tsakanin hanyoyin sadarwa irin wannan, Na yi muku rajista, cewa kana da rai. Ga ƙalubalen: nuna mani sakamakon umarnin ifconfig?
  • Router: Sannu. Ni irin wannan na'ura mai ba da hanya tsakanin hanyoyin sadarwa ne, lokacin da kuka nemi nuna sakamakon ifconfig, ga shi nan. Akwai wasu ayyuka a gare ni?
  • Server: na'ura mai ba da hanya tsakanin hanyoyin sadarwa irin wannan, Na yi muku rajista, cewa kana da rai. Babu ayyuka gare ku.

Tambaya mafi ban sha'awa: ta yaya mai ba da hanya tsakanin hanyoyin sadarwa zai iya aika adadin bayanai? A cikin ɓangaren ƙarshe, na bayyana cewa saboda ƙarancin albarkatu, na'ura mai ba da hanya tsakanin hanyoyin sadarwa tana da "wget" kawai, wanda ke aiki ta hanyar GET kawai kuma babu wani abu; babu abokin ciniki na FTP ko curl. Fiye da daidai, muna buƙatar hanyar duniya, ba tare da la'akari da siffofin haɗin hoto ba. Na yanke shawarar yin amfani da wget. Daidai, yadda na “tsaya” - Ba ni da wani zaɓi :)

Kashewa kawaiMaganin gudanarwa na yana aiki, ba iyaka sosai ba, kuma na tabbata yana da karkace, koda kuwa ya dace da yawancin abokan cinikina. Ta yaya za ku yi shi cikin hikima - rubuta ƙaramin kayan aiki wanda ke aika bayanan POST binary ta tashar jiragen ruwa 80. Haɗa shi (mai amfani) a cikin firmware na na'ura mai ba da hanya tsakanin hanyoyin sadarwa kuma sami damar yin amfani da bash. Amma gaskiyar ita ce: a) muna buƙatar da sauri b) tabbas muna buƙatar yin duk abin da ke kan "Zoo of Routers" c) "Kada ku cutar da!" - idan na'ura mai ba da hanya tsakanin hanyoyin sadarwa yana aiki kuma yana aiwatar da wasu ayyuka, yi ƙoƙarin yin canje-canje waɗanda ba za su shafi aikin da ake ciki ba.

Mu ci gaba zuwa aiwatarwa. Bari mu ce abokin ciniki yana so ya sake yin na'ura mai ba da hanya tsakanin hanyoyin sadarwa daga zabbix cikin sauƙi da ta halitta, tare da "danna linzamin kwamfuta." A yau za mu fara bayanin aiwatarwa tare da Zabbix.
A cikin menu na "Gudanarwa" -> "Scripts", ƙara sabon rubutun. Muna kiran shi "Sake yi", shigar da "php /usr/share/zabbix/reboot.php {HOST.HOST}" a matsayin umarni

Sa ido mai nisa da sarrafa na'urorin tushen Linux/OpenWrt/Lede ta hanyar tashar jiragen ruwa 80, ya ci gaba

Na gaba: Menu “Monitoring” -> “Best Data” -> “Danna-dama akan kullin hanyar sadarwa da ake so.” Wannan shine abin da menu zai kasance bayan ƙara rubutun.

Sa ido mai nisa da sarrafa na'urorin tushen Linux/OpenWrt/Lede ta hanyar tashar jiragen ruwa 80, ya ci gaba
Saboda haka, mun sanya rubutun reboot.php a cikin /usr/share/zabbix directory (naku na iya bambanta, Ina amfani da tushen tushen zabbixa).

Rashin AmincewaDon ƙarin bayani a cikin rubutun, Ina amfani da id na na'ura mai ba da hanya tsakanin hanyoyin sadarwa kawai, amma ba na amfani da kalmar wucewa. Ba a ba da shawarar yin wannan a cikin sigar samarwa ba! Me yasa na yi haka: saboda babbar tambaya ita ce inda zan adana kalmomin shiga don masu amfani da hanyar sadarwa? A zabbixe kanta a cikin "bayanan kaya"? Al'adar jayayya. A madadin: ƙuntata damar waje zuwa fayil ɗin reboot.php kanta

Fayil reboot.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();
?>

Shi ke nan. Tambayar ta kasance a buɗe: "yadda ake samun sakamakon aiwatar da umarni daga na'urar." Bari mu kalli aikin ta amfani da umarnin ifconfig a matsayin misali. Ana iya aika wannan umarni zuwa na'urar:

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

, inda:
message=`ifconfig` - muna sanya sakamakon fitowar umarni ifconfig zuwa madaidaicin saƙon $
wget"xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php - Rubutun mu na a.php wanda ke yin rajistar hanyoyin sadarwa da karɓar saƙonni daga gare su
u=mai amfani&p=password!&m=sakon $ - takaddun shaida da ƙimar madaidaicin buƙatun m - yana ba da abun ciki na madaidaicin saƙon $
-O /tmp/out.txt - ba mu buƙatar fitarwa zuwa fayil /tmp/out.txt a wannan yanayin, amma idan ba a ƙayyade wannan sigar ba, wget ba ya aiki.

Me yasa wannan baya aiki?Domin yana da yuwuwar rami na tsaro. Kuskuren da ba shi da lahani wanda zai iya faruwa shine idan, alal misali, akwai "&" hali a cikin fitowar umarnin ku. Don haka, ya zama dole a tace duka duk abin da aka aika daga masu amfani da hanyar sadarwa da duk abin da ya zo ga uwar garke. Ee, ina jin kunya, da gaske. A cikin tsaro na, kawai zan iya rubuta cewa dukan labarin ya keɓe ga yadda ake sarrafa hanyoyin sadarwa tare da firmware da aka riga aka ƙayyade da tashoshi na sadarwa waɗanda ba a bayyana a gaba ba.

Da kyau, farawa don gaba: Har yanzu ban gano yadda ake amfani da daidaitattun kayan aikin zabbix ba don nuna sakamakon (alal misali, sakamakon aiwatar da umarni) wanda ya zo ga uwar garke.

Ina tunatar da ku cewa ana iya samun duk tushe daga ma'ajiyar Git a: github.com/BazDen/iotnet.online.git

source: www.habr.com

Add a comment