ืื ืคืืืืงืืื ืฆื ืจืืืึธืืืื ืืึทืื ืืจืืื ืืขืืืืกืขืก ืืืืืจื ืืืืฃ RouterOS (Mikrotik) ืฉืืขืื ืืื ืืขืจืืขืจ ืคืื ืืืืื ืืขืจ ืคืื ื ืขืฅ ืืขืืืืกืขืก ืืื ืจืืืืงืืจื. ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืคืืจืืื ืื ืืื ืคืึทืจืกืึทืืื ื ืคืื ืื ืื ืก ืงืึทืฉ ืคืื ืื Winbox ืคึผืจืึธืืึธืงืึธื ืืื ืึทืืึทืื ืืืจ ืฆื ืืึธืื ืึทืืืืืืืื (ืืื ืึท ืคืขืืืงืืึทื ืคึผืึทืจืึธื ืืึทืฉืืขืืืง) ืึธืืขืจ ืืึทืืึทืคืืื ืคืืจืืืืึทืจืข ืืืืฃ ืื ืืืื.
ืืืึทืื ืขืจืึทืืืืืื ืคืจืืื
ืื ืจืึธืืืขืจืึธืก ืืืึธืงืืึทื ืฉืืืฆื ืื ืจืขืืึทืืืฉืึทื ืืึทืคึฟืขื ืคึฟืึทืจ ืื ืก ืืืงืึทืคึผ.
ืืขื ืืขืื ืืื ืืึทื ืืึทืื ืืืจื ืึท ืืืื ืขืจื ืืขืจืืคึฟื ืจืขืกืึธืืืืขืจ. ืจืขืกืึธืืืืขืจ ืืื ืืืื ืขืจ ืคืื ืคืืืข ืืื ืึทืจืืขืก ืืืึธืก ืคืึทืจืืื ืื ืฆื ืื Winbox ืคึผืจืึธืืึธืงืึธื ืคืื RouterOS. ืืืืฃ ืึท ืืืื ืืืจืื, "ืืขืกืื ืืืฉืื" ืืขืฉืืงื ืฆื ืื ืืืื ืืึธืงืก ืคึผืึธืจื ืงืขื ืขื ืืืื ืจืึทืืืื ืฆื ืคืึทืจืฉืืื ืืื ืึทืจืืขืก ืืื RouterOS ืืืืืจื ืืืืฃ ืึท ืืขื ืืข-ืืืืืจื ื ืึทืืืขืจืื ื ืกืืขืืข.
ืืืจื ืคืขืืืงืืึทื, RouterOS ืืื ืื DNS ืกืขืจืืืขืจ ืฉืืจืื ืคืึทืจืงืจืืคึผืื.
ืึธืืขืจ, ืืคืืื ืืืขื ืื ืกืขืจืืืขืจ ืคึฟืื ืงืฆืืข ืืื ืคืึทืจืงืจืืคึผืื, ืืขืจ ืจืึทืืืขืจ ืืืื ืืืื ืืืืืขื ืข ืื ืก ืงืึทืฉ.
ืืืขื ืืืจ ืืึทืื ืึท ืืงืฉื ื ืืฆื winbox_dns_request ืคึฟืึทืจ ืืืึทืฉืคึผืื.com, ืืขืจ ืจืึทืืืขืจ ืืืขื ืงืึทืฉ ืื ืจืขืืืืืึทื.
ืืื ื ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื ืื ืื ืก ืกืขืจืืืขืจ ืืืจื ืืืึธืก ืื ืืขืื ืืึธื ืืืื, ืึทืจืืึทื ืคืึทืืฉ ืึทืืจืขืกืขืก ืืื ื ืืฉืืืง. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืึท ืื ืก ืกืขืจืืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื
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()
ืืืฆื ืืืื ืืืจ ืืืื ืคึฟืึทืจ example.com ื ืืฆื Winbox, ืืืจ ืงืขื ืขื ืืขื ืึทื ืื ืื ืก ืงืึทืฉ ืคืื ืื ืจืึทืืืขืจ ืืื ืคึผืืืืึทื ื.
ืืึธื, ืคืึทืจืกืึทืืื ื example.com ืืื ื ืืฉื ืืืืขืจ ื ืืฆืืง ืืืืึทื ืื ืจืึทืืืขืจ ืืืขื ื ืืฉื ื ืืฆื ืขืก. ืึธืืขืจ, ืืขืจ ืจืึทืืืขืจ ืืึทืจืฃ ืึทืงืกืขืก upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com ืืื download.mikrotik.com. ืืื ืืึทื ืง ืฆื ืื ืื ืืขืจ ืืขืืช, ืขืก ืืื ืืขืืืขื ืฆื ืคืึทืจืืืคื ืืื ืึทืืข ืืื ืึทืืึธื.
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()
ืืขืจ ืจืึทืืืขืจ ืจืืงืืืขืก ืืืื ืืขืจืืืืืขื ืืฉ, ืืื ืืืจ ืืขืื ืคืื ืฃ ืฆืืจืืง. ืืขืจ ืจืึทืืืขืจ ืืื ื ืืฉื ืงืึทืฉ ืึทืืข ืื ืจืขืกืคึผืึธื ืกืขืก ืจืืืืืง.
ืืึธื, ืืขื ืืึทืคืึทืื ืืื ืืืื ื ืืฆืืง ืืืื ืื ืจืึทืืืขืจ ืึทืงืืื ื ืืื ืึท ืื ืก ืกืขืจืืืขืจ, ืืืืึทื ืขืก ืึทืืึทืื ืื ืจืึทืืืขืจ ืงืืืืึทื ืฅ ืฆื ืืืื ืงืขืื.
ืืขืจ ืืึทืคืึทืื ืืืื ืึทืืึทืื ืืืจ ืฆื ืืืืืจืข ืึท ืืขืจ ืขืจื ืกื ืืืึทืื ืขืจืึทืืืืืื: ืืึทืื ืืจืืื ืึธืืขืจ ืืึทืงืคึผืึธืจื ืื ืืืขืจืกืืข ืคืื โโโโRouterOS. ืืขืจ ืึทืืึทืงืขืจ ืจืืงืจืืืืฅ ืื ืืึธืืืง ืคืื ืื ืืขืจืืืึทื ืืืงื ืกืขืจืืืขืจ, ืึทืจืืึทื ืืขืจืขืื ื ืื ืืฉืึทื ืืขืืึธื, ืืื ืคืึธืจืกืขืก RouterOS ืฆื ืืขื ืื ืึทืืืืืืืื (ืฉืคึผืืจืขืืืืืง) ืืืขืจืกืืข ืืื ืงืจืึทื ื. ืื ืืขืคืึทืจ ืืึธ ืืืื ืืื ืืขื ืคืึทืงื ืึทื ืืืขื ืื ืืืขืจืกืืข ืืื "ืืขืจืืืึทื ืืืงื", ืื ืึทืืืื ืืกืืจืึทืืึธืจ ืคึผืึทืจืึธื ืืื ืืึทืฉืืขืืืง ืฆื ืื ืคืขืืืงืืึทื ืืืขืจื - ืึท ืึทืืึทืงืขืจ ืงืขื ืขื ืงืืึธืฅ ืืื ืฆื ืื ืกืืกืืขื ืืื ืึท ืืืืืืง ืคึผืึทืจืึธื!
ืื ืืึทืคืึทืื ืืื ืืึทื ืฅ ืืจืืขืื, ืืจืึธืฅ ืืขืจ ืคืึทืงื ืึทื
ืฉืืฅ
ืกืืืคึผืื ืืืกืืืืึทืืื ื ืืืื ืืึธืงืก ืึทืืึทืื ืืืจ ืฆื ืืึทืฉืืฆื ืืื ืคืื ืื ืื ืคืืื. ืืจืึธืฅ ืื ืงืึทื ืืืื ืืึทื ืก ืคืื ืึทืืืื ืืกืืจืึทืฆืืข ืืืจื ืืืื ืืึธืงืก, ืขืก ืืื ืืขืกืขืจ ืฆื ื ืืฆื ืื SSH ืคึผืจืึธืืึธืงืึธื.
ืืงืืจ: www.habr.com