RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

RouterOS (Mikrotik) เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชฐเชฟเชฎเซ‹เชŸเชฒเซ€ เชกเชพเช‰เชจเช—เซเชฐเซ‡เชก เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เชจเซ‡เชŸเชตเชฐเซเช• เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡. เชจเชฌเชณเชพเชˆ Winbox เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเชพ DNS เช•เซ‡เชถเชจเชพ เชเซ‡เชฐ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซ€ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เช‰เชชเช•เชฐเชฃ เชชเชฐ เชœเซ‚เชจเชพ (เชกเชฟเชซเซ‰เชฒเซเชŸ เชชเชพเชธเชตเชฐเซเชก เชฐเซ€เชธเซ‡เชŸ เชธเชพเชฅเซ‡) เช…เชฅเชตเชพ เชธเช‚เชถเซ‹เชงเชฟเชค เชซเชฐเซเชฎเชตเซ‡เชฐ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เชจเชฌเชณเชพเชˆ เชตเชฟเช—เชคเซ‹

RouterOS เชŸเชฐเซเชฎเชฟเชจเชฒ DNS เชฒเซเช•เช…เชช เชฎเชพเชŸเซ‡ เชฐเชฟเชเซ‹เชฒเซเชฏเซเชถเชจ เช•เชฎเชพเชจเซเชกเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เช† เชตเชฟเชจเช‚เชคเซ€ เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชคเซ€ เชฌเชพเชˆเชจเชฐเซ€ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เช เช˜เชฃเซ€ เชฆเซเชตเชฟเชธเช‚เช—เซ€เช“เชฎเชพเช‚เชฅเซ€ เชเช• เช›เซ‡ เชœเซ‡ RouterOS เชจเชพ เชตเชฟเชจเชฌเซ‹เช•เซเชธ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏ เช›เซ‡. เช‰เชšเซเชš เชธเซเชคเชฐเซ‡, เชตเชฟเชจเชฌเซ‹เช•เซเชธ เชชเซ‹เชฐเซเชŸ เชชเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ "เชธเช‚เชฆเซ‡เชถเชพเช“" เชเชฐเซ‡-เช†เชงเชพเชฐเชฟเชค เชจเช‚เชฌเชฐเชฟเช‚เช— เชธเซเช•เซ€เชฎเชจเชพ เช†เชงเชพเชฐเซ‡ เชฐเชพเช‰เชŸเชฐเช“เชเชธเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชฆเซเชตเชฟเชธเช‚เช—เซ€เช“เชจเซ‡ เชฐเซ‚เชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡, RouterOS เชชเชพเชธเซ‡ DNS เชธเชฐเซเชตเชฐ เชธเซเชตเชฟเชงเชพ เช…เช•เซเชทเชฎ เช›เซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เชœเซ‹ เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐ เช•เชพเชฐเซเชฏ เช…เช•เซเชทเชฎ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชชเชฃ, เชฐเชพเช‰เชŸเชฐ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ DNS เช•เซ‡เชถ เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‡ เช›เซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ winbox_dns_request เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เช•เซ‡เชถ เช•เชฐเชถเซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ DNS เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เชœเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช, เช–เซ‹เชŸเชพ เชธเชฐเชจเชพเชฎเชพเช‚ เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เชคเซเชšเซเช› เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ DNS เชธเชฐเซเชตเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชซเชฟเชฒเชฟเชช เช•เซเชฒเชพเช‰เชธIP เชเชกเซเชฐเซ‡เชธ 192.168.88.250 เชงเชฐเชพเชตเชคเชพ A เชฐเซ‡เช•เซ‹เชฐเซเชก เชธเชพเชฅเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡.

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 เช•เซ‡เชถ เชชเซ‹เชˆเชเชจ เชฅเชˆ เช—เชˆ เช›เซ‡.

RouterOS เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เช…เชฒเชฌเชคเซเชค, เชชเซ‹เชˆเชเชจเชฟเช‚เช— 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 เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เชจเชฌเชณเชพเชˆ เชธเซ‡เช‚เช•เชกเซ‹ เชนเชœเชพเชฐเซ‹ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชœเซ‹เช–เชฎเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡

เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡, เชœเซ‹ เชฐเชพเช‰เชŸเชฐ DNS เชธเชฐเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เช† เชนเซเชฎเชฒเซ‹ เชชเชฃ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชฐเชพเช‰เชŸเชฐเชจเชพ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเชฐ เชนเซเชฎเชฒเซ‹ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เช† เชนเซเชฎเชฒเซ‹ เชคเชฎเชจเซ‡ เชตเชงเซ เช—เช‚เชญเซ€เชฐ เชจเชฌเชณเชพเชˆเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชชเชฃ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡: เชฐเชพเช‰เชŸเชฐเช“เชเชธเชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชกเชพเช‰เชจเช—เซเชฐเซ‡เชก เช…เชฅเชตเชพ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เช•เชฐเซ‹. เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชšเซ‡เชจเซเชœเชฒเซ‹เช— เชธเชนเชฟเชค เช…เชชเชกเซ‡เชŸ เชธเชฐเซเชตเชฐเชจเชพ เชคเชฐเซเช•เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฐเชพเช‰เชŸเชฐเช“เชเชธเชจเซ‡ เชœเซ‚เชจเชพ (เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ) เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชคเชฐเซ€เช•เซ‡ เชธเชฎเชœเชตเชพ เชฆเชฌเชพเชฃ เช•เชฐเซ‡ เช›เซ‡. เช…เชนเซ€เช‚ เชญเชฏ เช เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชฐเชนเซ‡เชฒเซ‹ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ "เช…เชชเชกเซ‡เชŸ" เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชชเชพเชธเชตเชฐเซเชก เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ เชชเชฐ เชฐเซ€เชธเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡ - เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เช–เชพเชฒเซ€ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชฅเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡!


เช† เชนเซเชฎเชฒเซ‹ เชคเชฆเซเชฆเชจ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชนเช•เซ€เช•เชค เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เชฒเซ‡เช–เช• เชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เชธเชนเชฟเชค เช˜เชฃเชพ เชตเชงเซ เชตเซ‡เช•เซเชŸเชฐเซเชธเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡ เชซเชฐเซเชฎเชตเซ‡เชฐเชฎเชพเช‚ เชฌเซ‡เช•เชกเซ‹เชฐ เชเชฎเซเชฌเซ‡เชก เช•เชฐเชตเซเช‚, เชชเชฐเช‚เชคเซ เช† เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชเช• เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เชคเช•เชจเซ€เช• เช›เซ‡ เช…เชจเซ‡ เช—เซ‡เชฐเช•เชพเชฏเชฆเซ‡เชธเชฐ เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช—เซ‡เชฐเช•เชพเชฏเชฆเซ‡เชธเชฐ เช›เซ‡.

เชฐเช•เซเชทเชฃ

เชซเช•เซเชค Winbox เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพเชฅเซ€ เชคเชฎเซ‡ เช† เชนเซเชฎเชฒเชพเช“เชฅเซ€ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. Winbox เชฆเซเชตเชพเชฐเชพ เชตเชนเซ€เชตเชŸเชจเซ€ เชธเซเชตเชฟเชงเชพ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, SSH เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹