Tha an comas innealan a lughdachadh air astar stèidhichte air RouterOS (Mikrotik) a’ cur ceudan de mhìltean de innealan lìonra ann an cunnart. Tha an so-leòntachd co-cheangailte ri puinnseanachadh tasgadan DNS de phròtacal Winbox agus leigidh e leat seann-fhasanta a luchdachadh (le ath-shuidheachadh facal-faire bunaiteach) no firmware atharraichte air an inneal.
Mion-fhiosrachadh so-leòntachd
Tha ceann-uidhe RouterOS a 'toirt taic don òrdugh fuasglaidh airson DNS a lorg.
Tha an t-iarrtas seo air a làimhseachadh le binary ris an canar solver. Tha Resolver mar aon de dh’ iomadh binaries a tha a’ ceangal ri protocol Winbox aig RouterOS. Aig ìre àrd, faodar “teachdaireachdan” a chuirear gu port Winbox a chuir gu diofar binaries ann an RouterOS stèidhichte air sgeama àireamhachaidh stèidhichte air sreath.
Gu gnàthach, tha feart an fhrithealaiche DNS ciorramach aig RouterOS.
Ach, eadhon nuair a tha gnìomh an fhrithealaiche ciorramach, bidh an router a’ cumail suas an tasgadan DNS aige fhèin.
Nuair a nì sinn iarrtas a’ cleachdadh winbox_dns_request mar eisimpleir eisimpleir.com, cuiridh an router an toradh air ais.
Leis gun urrainn dhuinn am frithealaiche DNS a shònrachadh tron bu chòir an t-iarrtas a dhol, tha e glè bheag gun cuir thu a-steach seòlaidhean ceàrr. Mar eisimpleir, faodaidh tu buileachadh frithealaiche DNS a rèiteachadh bho
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
A-nis ma nì thu sgrùdadh mar eisimpleir.com a’ cleachdadh Winbox, chì thu gu bheil tasgadan DNS an router air a phuinnseanachadh.
Gu dearbh, chan eil puinnseanachadh example.com glè fheumail oir cha bhith an router ga chleachdadh. Ach, feumaidh an router faighinn gu upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com agus download.mikrotik.com. Agus le taing do mhearachd eile, tha e comasach am puinnseanachadh uile aig an aon àm.
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
reply.add_answer(RR("upgrade.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud2.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("download.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
Bidh an router ag iarraidh aon chead, agus bheir sinn seachad còig air ais. Cha bhith an router a’ tasgadh na freagairtean sin gu lèir gu ceart.
Gu dearbh, tha an ionnsaigh seo feumail cuideachd ma tha an router ag obair mar fhrithealaiche DNS, leis gu bheil e a ’leigeil le teachdaichean an router ionnsaigh a thoirt orra.
Leigidh an ionnsaigh seo leat cuideachd brath a ghabhail air so-leòntachd nas miosa: ìsleachadh no cùl-taic an dreach de RouterOS. Bidh an neach-ionnsaigh ag ath-chruthachadh loidsig an t-seirbheisiche ùrachaidh, a’ toirt a-steach an changelog, agus a’ toirt air RouterOS an dreach seann-fhasanta (so-leònte) fhaicinn mar a tha e an-dràsta. Tha an cunnart an seo anns an fhìrinn nuair a thèid an dreach “ùrachadh”, gu bheil am facal-faire rianadair air ath-shuidheachadh chun luach bunaiteach - faodaidh neach-ionnsaigh logadh a-steach don t-siostam le facal-faire falamh!
Tha an ionnsaigh ag obair gu math, a dh'aindeoin sin
Dìon
Le bhith a’ dì-chomasachadh Winbox leigidh sin leat thu fhèin a dhìon bho na h-ionnsaighean sin. A dh’ aindeoin goireasachd rianachd tro Winbox, tha e nas fheàrr am protocol SSH a chleachdadh.
Source: www.habr.com