рд░рд╛рдЙрдЯрд░рдУрдПрд╕ (рдорд┐рдХреНрд░реЛрдЯрд┐рдХ) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ рдЯрд╛рдврд╛рдмрд╛рдЯ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рд▓реЗ рд╕рдпреМрдВ рд╣рдЬрд╛рд░реМрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рдЬреЛрдЦрд┐рдордорд╛ рд░рд╛рдЦреНрдЫред рдЬреЛрдЦрд┐рдо Winbox рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ DNS рдХреНрдпрд╛рд╕рдХреЛ рд╡рд┐рд╖рд╛рдХреНрддрддрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреБрд░рд╛рдиреЛ (рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рд╕реЗрдЯрдХреЛ рд╕рд╛рде) рд╡рд╛ рдпрдиреНрддреНрд░рдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрд┐рдд рдлрд░реНрдорд╡реЗрдпрд░ рд▓реЛрдб рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдЬреЛрдЦрд┐рдо рд╡рд┐рд╡рд░рдг
RouterOS рдЯрд░реНрдорд┐рдирд▓рд▓реЗ DNS рд▓реБрдХрдЕрдкрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рдзрд╛рди рдЖрджреЗрд╢рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред
рдпреЛ рдЕрдиреБрд░реЛрдз рд░рд┐рдЬреЛрд▓реНрднрд░ рднрдирд┐рдиреЗ рдмрд╛рдЗрдирд░реА рджреНрд╡рд╛рд░рд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░рд┐рдиреНрдЫред Resolver рдзреЗрд░реИ рдмрд╛рдЗрдирд░реАрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛ рдЬреБрди RouterOS рдХреЛ Winbox рдкреНрд░реЛрдЯреЛрдХрд▓рдорд╛ рдЬрдбрд╛рди рд╣реБрдиреНрдЫред рдЙрдЪреНрдЪ рд╕реНрддрд░рдорд╛, Winbox рдкреЛрд░реНрдЯрдорд╛ рдкрдард╛рдЗрдПрдХрд╛ "рд╕рдиреНрджреЗрд╢рд╣рд░реВ" рдПрд░реЗ-рдЖрдзрд╛рд░рд┐рдд рдирдореНрдмрд░рд┐рдЩ рдпреЛрдЬрдирд╛рдХреЛ рдЖрдзрд╛рд░рдорд╛ RouterOS рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдмрд╛рдЗрдирд░реАрд╣рд░реВрдорд╛ рд░реВрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, RouterOS рдорд╛ DNS рд╕рд░реНрднрд░ рд╕реБрд╡рд┐рдзрд╛ рдЕрд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫред
рдпрджреНрдпрдкрд┐, рд╕рд░реНрднрд░ рдкреНрд░рдХрд╛рд░реНрдп рдЕрд╕рдХреНрд╖рдо рд╣реБрдБрджрд╛ рдкрдирд┐, рд░рд╛рдЙрдЯрд░рд▓реЗ рдЖрдлреНрдиреИ DNS рдХреНрдпрд╛рд╕ рд░рд╛рдЦреНрдЫред
рдЬрдм рд╣рд╛рдореА рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА winbox_dns_request рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдЫреМрдВ example.com, рд░рд╛рдЙрдЯрд░рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫред
рд╣рд╛рдореА DNS рд╕рд░реНрднрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рдЕрдиреБрд░реЛрдз рдЬрд╛рдиреБрдкрд░реНрдЫ, рдЧрд▓рдд рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБ рд╕рд╛рдорд╛рдиреНрдп рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдЗрдБ рдмрд╛рдЯ DNS рд╕рд░реНрднрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
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()
рдЕрдм рдпрджрд┐ рддрдкрд╛рдЗрдБ Winbox рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ example.com рдЦреЛрдЬреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рд░рд╛рдЙрдЯрд░рдХреЛ DNS рдХреНрдпрд╛рд╕ рд╡рд┐рд╖рд╛рдХреНрдд рднрдПрдХреЛ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдЕрд╡рд╢реНрдп рдкрдирд┐, рд╡рд┐рд╖рд╛рдХреНрддрддрд╛ 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()
рд░рд╛рдЙрдЯрд░рд▓реЗ рдПрдЙрдЯрд╛ рдЕрдиреБрдорддрд┐ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдЫ, рд░ рд╣рд╛рдореА рдкрд╛рдБрдЪ рдлрд┐рд░реНрддрд╛ рджрд┐рдиреНрдЫреМрдВред рд░рд╛рдЙрдЯрд░рд▓реЗ рдпреА рд╕рдмреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рд╣реА рд░реВрдкрдорд╛ рдХреНрдпрд╛рд╕ рдЧрд░реНрджреИрдиред
рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдпреЛ рдЖрдХреНрд░рдордг рдкрдирд┐ рдЙрдкрдпреЛрдЧреА рдЫ рдпрджрд┐ рд░рд╛рдЙрдЯрд░рд▓реЗ DNS рд╕рд░реНрднрд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ, рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рд░рд╛рдЙрдЯрд░рдХрд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓рд╛рдИ рдЖрдХреНрд░рдордг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдпреЛ рдЖрдХреНрд░рдордгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдердк рдЧрдореНрднреАрд░ рдЬреЛрдЦрд┐рдордХреЛ рд╢реЛрд╖рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ: RouterOS рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╡рд╛ рдмреНрдпрд╛рдХрдкреЛрд░реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛рд▓реЗ рдЪреЗрдиреНрдЬрд▓рдЧ рд╕рд╣рд┐рдд рдЕрдкрдбреЗрдЯ рд╕рд░реНрднрд░рдХреЛ рддрд░реНрдХ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ, рд░ RouterOS рд▓рд╛рдИ рдкреБрд░рд╛рдиреЛ (рдХрдордЬреЛрд░) рд╕рдВрд╕реНрдХрд░рдгрд▓рд╛рдИ рд╣рд╛рд▓рдХреЛ рд░реВрдкрдорд╛ рдмреБрдЭреНрди рдмрд▓ рджрд┐рдиреНрдЫред рдпрд╣рд╛рдБ рдЦрддрд░рд╛ рдпреЛ рддрдереНрдпрдорд╛ рдЫ рдХрд┐ рдЬрдм рд╕рдВрд╕реНрдХрд░рдг "рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ" рд╣реБрдиреНрдЫ, рдкреНрд░рд╢рд╛рд╕рдХ рдкрд╛рд╕рд╡рд░реНрдб рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирдорд╛ рд░рд┐рд╕реЗрдЯ рд╣реБрдиреНрдЫ - рдПрдХ рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛рд▓реЗ рдЦрд╛рд▓реА рдкрд╛рд╕рд╡рд░реНрдбрдХреЛ рд╕рд╛рде рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрди рд╕рдХреНрдЫ!
рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж, рдЖрдХреНрд░рдордг рдПрдХрджрдо рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ
рд╕реБрд░рдХреНрд╖рд╛
Winbox рд▓рд╛рдИ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдиреБрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреА рдЖрдХреНрд░рдордгрд╣рд░реВрдмрд╛рдЯ рдЖрдлреВрд▓рд╛рдИ рдмрдЪрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред Winbox рдорд╛рд░реНрдлрдд рдкреНрд░рд╢рд╛рд╕рди рдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдмрд╛рд╡рдЬреБрдж, рдпреЛ SSH рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЫред
рд╕реНрд░реЛрдд: www.habr.com