The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
bind под свои нужды, !*! пользователь, 14-Окт-08, 21:44  [смотреть все]
Здравтствуйте. Имеется небольшая домашняя локальная сеть. Имеется шлюз и канал в интернет. Пытаюсь настроить DNS сервер для экономии трафика (FreeBSD 7.0) и в связи с этим появился вопрос, ответ на который пока найти не удалось. Можно ли сделать кеширующий сервер, который будет брать информацию с DNS сервера провайдера, хранить у себя и отдавать пользователям, когда они попросят? Из манов я понял, что можно сделать кеширующий, который будет обращаться к авторизованным серверам (хотелось бы чтобы обращался не к ним, а к провайдерскому, т.к. трафик дешевле) или можно сделать перенаправляющий, который будет перенаправлять пользователей на DNS провайдера. А вот можно ли объединить как-нибудь эти реализации?
Прошу не пинать, т.к. для новичков bind сложноватая штука.
  • bind под свои нужды, !*! geekkoo, 00:04 , 15-Окт-08 (1)
    >[оверквотинг удален]
    >Пытаюсь настроить DNS сервер для экономии трафика (FreeBSD 7.0) и в
    >связи с этим появился вопрос, ответ на который пока найти не
    >удалось. Можно ли сделать кеширующий сервер, который будет брать информацию с
    >DNS сервера провайдера, хранить у себя и отдавать пользователям, когда они
    >попросят? Из манов я понял, что можно сделать кеширующий, который будет
    >обращаться к авторизованным серверам (хотелось бы чтобы обращался не к ним,
    >а к провайдерскому, т.к. трафик дешевле) или можно сделать перенаправляющий, который
    >будет перенаправлять пользователей на DNS провайдера. А вот можно ли объединить
    >как-нибудь эти реализации?
    >Прошу не пинать, т.к. для новичков bind сложноватая штука.

    При поиске www.opennet.ru программы обращаются к ДНС-серверу на локалхосте или тому, что указан в resolv.conf. ДНС-сервер пытается найти адрес запрошенного хоста или в своем кэше (он про него узнал раньше) или дает ссылку на сервер, который знает ответ или знает у кого спросить (что-то типа .ru). И так пока не доберутся до нужного.

    Иерархия ДНС серверов зашита в самом доменном имени, так что ничего специально настраивать не нужно.

    Вот как это выглядит на практике:

    $dig +norecurse www.slitaz.org    

    ; <<>> DiG 9.4.1 <<>> +norecurse www.slitaz.org
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49031
    ;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 11

    ;; QUESTION SECTION:
    ;www.slitaz.org.                        IN      A

    ;; AUTHORITY SECTION:
    org.                    148735  IN      NS      A0.ORG.AFILIAS-NST.INFO.
    org.                    148735  IN      NS      B0.ORG.AFILIAS-NST.org.
    org.                    148735  IN      NS      C0.ORG.AFILIAS-NST.INFO.
    org.                    148735  IN      NS      D0.ORG.AFILIAS-NST.org.
    org.                    148735  IN      NS      TLD1.ULTRADNS.NET.
    org.                    148735  IN      NS      TLD2.ULTRADNS.NET.

    ;; ADDITIONAL SECTION:
    A0.ORG.AFILIAS-NST.INFO. 53562  IN      A       199.19.56.1
    A0.ORG.AFILIAS-NST.INFO. 53564  IN      AAAA    2001:500:e::1
    B0.ORG.AFILIAS-NST.org. 53562   IN      A       199.19.54.1
    B0.ORG.AFILIAS-NST.org. 53562   IN      AAAA    2001:500:c::1
    C0.ORG.AFILIAS-NST.INFO. 53564  IN      A       199.19.53.1
    C0.ORG.AFILIAS-NST.INFO. 53562  IN      AAAA    2001:500:b::1
    D0.ORG.AFILIAS-NST.org. 62105   IN      A       199.19.57.1
    D0.ORG.AFILIAS-NST.org. 62105   IN      AAAA    2001:500:f::1
    TLD1.ULTRADNS.NET.      53562   IN      A       204.74.112.1
    TLD1.ULTRADNS.NET.      53562   IN      AAAA    2001:502:d399::1
    TLD2.ULTRADNS.NET.      53562   IN      A       204.74.113.1

    ;; Query time: 19 msec
    ;; SERVER: ***************
    ;; WHEN: Tue Oct 14 23:59:56 2008
    ;; MSG SIZE  rcvd: 422

    (Берем первый из авторитетных серверов)

    $dig +norecurse www.slitaz.org @A0.ORG.AFILIAS-NST.INFO

    ; <<>> DiG 9.4.1 <<>> +norecurse www.slitaz.org @A0.ORG.AFILIAS-NST.INFO
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45008
    ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 0

    ;; QUESTION SECTION:
    ;www.slitaz.org.                        IN      A

    ;; AUTHORITY SECTION:
    slitaz.org.             86400   IN      NS      c.dns.gandi.net.
    slitaz.org.             86400   IN      NS      b.dns.gandi.net.
    slitaz.org.             86400   IN      NS      a.dns.gandi.net.

    ;; Query time: 303 msec
    ;; SERVER: 199.19.56.1#53(199.19.56.1)
    ;; WHEN: Wed Oct 15 00:00:32 2008
    ;; MSG SIZE  rcvd: 93

    (то же самое)

    $dig +norecurse www.slitaz.org @c.dns.gandi.net      

    ; <<>> DiG 9.4.1 <<>> +norecurse www.slitaz.org @c.dns.gandi.net
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48024
    ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

    ;; QUESTION SECTION:
    ;www.slitaz.org.                        IN      A

    ;; ANSWER SECTION:
    www.slitaz.org.         10800   IN      A       213.3.10.214

    ;; AUTHORITY SECTION:
    slitaz.org.             10800   IN      NS      c.dns.gandi.net.
    slitaz.org.             10800   IN      NS      a.dns.gandi.net.
    slitaz.org.             10800   IN      NS      b.dns.gandi.net.

    ;; Query time: 77 msec
    ;; SERVER: 217.70.182.20#53(217.70.182.20)
    ;; WHEN: Wed Oct 15 00:00:56 2008
    ;; MSG SIZE  rcvd: 109

    Вот так в три прыжка нашли нужный адрес.

  • bind под свои нужды, !*! Vladimir, 09:59 , 15-Окт-08 (2)
    >[оверквотинг удален]
    >связи с этим появился вопрос, ответ на который пока найти не
    >удалось. Можно ли сделать кеширующий сервер, который будет брать информацию с
    >DNS сервера провайдера, хранить у себя и отдавать пользователям, когда они
    >попросят? Из манов я понял, что можно сделать кеширующий, который будет
    >обращаться к авторизованным серверам (хотелось бы чтобы обращался не к ним,
    >а к провайдерскому, т.к. трафик дешевле) или можно сделать перенаправляющий, который
    >будет перенаправлять пользователей на DNS провайдера. А вот можно ли объединить
    >как-нибудь эти реализации?
    >Прошу не пинать, т.к. для новичков bind сложноватая штука.
    > В кеширующем DNS-e делается forward на DNS провайдера.

  • bind под свои нужды, !*! vg, 10:27 , 15-Окт-08 (3)
    использовать "forwarders"
    • bind под свои нужды, !*! Pahanivo, 11:10 , 15-Окт-08 (4)
      >использовать "forwarders"

      совершенно верно, это как раз для это и сделано
      сначала сервак обращается к провайдерским сервакам (форвардерам), если они не доступну - резолвит сам ( поведение вроде настраивается).
      Соответственно все кешируется.

      Тока незабудь рекурсию из вне закрыть - а то вместо экономии можешь получить перерасход )

      А вообще - песдовать на isc.org и читать подробно мануал по бинду - там все прекрасно расписано.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру