LINUX.ORG.RU
ФорумAdmin

Прядок обращения к dns серверам


0

0

Всем привет. Подскажите - есть ли возможность использовать несколько днс серверов, причем чтобы обращения к ним проходили в заданном порядке. Нужно настроить DNS клиент так, чтобы при обращении домену domen.ru, комп обращался к DNS 10.0.0.1. А в любом другом случае (любой другой домен)- обращение происходило к 192.168.0.1

Описанная ситуация получается при подключении по VPN. Необходимо чтобы при обращенни к машинам из подсетей подключенных через vpn (машины из домена domen.ru), запрос происходил к DNS серверу находящемуся в этих же подсетях (10.0.0.1). А если мы обращаемся к любой другой машине (ya.ru к примеру) обращение происходило к DNS провайдера (192.168.0.1).

Не получится

sdio ★★★★★
()

Не получится

sdio ★★★★★
()
Ответ на: комментарий от chocholl

Я рассматривал два решения - либо просто два DNS. Первый внутренний, второй внешний. Но тогда задержки при отключенном VPN - очень большие, не большие но тоже не нужные. Второй вариант - bind. Но на кажом клиенте vpn ставить bind - тоже не очень правильно.

first-leon
() автор топика
Ответ на: комментарий от justuser

//man route Вы товарищь даже не удосужились вникнуть в проблему, а уже в маны тычите. Route сдесь не причем. Route работает с IP а не с доменными именами.

first-leon
() автор топика
Ответ на: комментарий от first-leon

bind на клиента ставить не обязательно, есть более легкие демоны, допустим dnrd. Или ставить на 10.0.0.1 bind, который будет отправлять запросы на 192.168.0.1.

mky ★★★★★
()
Ответ на: комментарий от first-leon

>//man route Вы товарищь даже не удосужились вникнуть в проблему, а уже в маны тычите. Route сдесь не причем. Route работает с IP а не с доменными именами.

1) Поднял впн 2) Добавил маршрут к внутреннему ДНС 3) Добавил внутренний ДНС в качестве второго ДНС

При отключении, срубил внутренний ДНС.

Не?

justuser ★★
()
Ответ на: комментарий от justuser

На самом деле вопрос стоял конкретно - как сделать обращения к различным DNS серверам в зависимости от домена к которому мы обращаемся. Как сделать чтобы хоть как-то работала я знаю. Когда я поднял vpn, маршрут к внутреннему DNS мне уже не нужен. Так как я естественно стедал маршрут до всей внутренней сети.

Все дело в том что если я ставлю внутренний DNS вторым, то запросы к нему происходят дольше. Так как сначала происходит обращение к первому ДНС, и только после того как тот скачал что узел не найден либо по таймауту, идет обращение ко второму ДНС.

first-leon
() автор топика
Ответ на: комментарий от mky

Спасибо. Решение лучшее чем бинд, хотя надеялся что есть какие-либо другие DNS клиенты умеющие решать поставленную задачу. Попутно вопрос - что если клиент vpn стоит на win машине?

first-leon
() автор топика
Ответ на: комментарий от first-leon

>Попутно вопрос - что если клиент vpn стоит на win машине?

вин клиент херачить запросами по всем днсам, что прописаны

dimon555 ★★★★★
()

Если я правильно понял задачу то view и форвард запросов помогут.

true_admin ★★★★★
()

Если таки выберете промежуточный dns-сервер, то рекомендую посмотреть на pdns-recursor (из комплекта powerdns) - настраивается на раз-два, умеет много всего, быстр.

undertaker ★★
()
Ответ на: комментарий от undertaker

Подсказали одно решение элегантное. Вот цитата из переписки:

AlexyS@mara "Не знаю возможно это на Линаксе или нет, знаю что на винде точно можно...

А что если воткнуть 2 сетевухи, первая цепляется через VPN к Вашей локалки а вторая для серфинга, а на каждою сетивуху прописывается соответствующий ДНС.

Вопрос упирается, реализуемо ли это все на Линаксе........то есть, можно ли определить ДНС на уровне нет интерфейса....."

firstleon "По моему можно. В /etc/network/interfaces есть возможность указания для каждого интерфейса своего DNS. Сдесь http://wiki.debian.org/NetworkConfiguration сказано как сделать (искать по параметру dns-nameservers).

И в принципе учитываю что можно не вставлять сетевую карту вторую, а поднять виртуальный интерфейс - то это как раз и есть решение проблемы

"

anonymous
()
Ответ на: комментарий от anonymous

Емнип, в линухе высшая инстанция при резольве имен — /etc/resolv.conf. Поэтому, если в interfaces прописаны dns-nameservers, то специальная прога по имени resolvconf должна скопировать их в resolv.conf. А в этом файлике никакого деления по интерфейсам нет.

И вообще, лично мне, как старому сетевику, предложение «прописывать свой днс для каждой сетевухи» кажется диким. Настолько диким, что я не верю даже в то, что это реализовано в винде. Не говоря уж о простом и логичном линуксе.

Что касается элегантного решения вашей проблемы — запихайте в хуки подъема/опускания впна скрипты, добавляющие/удаляющие второй сервер из resolv.conf (желательно, чтобы он шел там первой строчкой).

Ну и bind на локальной машине с view тоже должен покатить.

nnz ★★★★
()
Ответ на: комментарий от nnz

Странно... А если у меня 10 интерфесов? А в resolv.conf только три DNS сервера можно прописать(или я ошибаюсь?). Как быть в этой ситуации?

first-leon
() автор топика
Ответ на: комментарий от first-leon

>А в resolv.conf только три DNS сервера можно прописать.
Да

>Как быть в этой ситуации?

Ставить локальный DNS-сервер. Смотри выше по треду.

Nao ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.