LINUX.ORG.RU

BIND9 и впн-туннель


0

1

Есть две сети: домашняя и рабочая. Соединяются они посредством туннеля. В обеих сетях есть по днс-серверу BIND. Рабочий днс-сервер держит зону сайта компании, расположенного так же в рабочей сети. Оба сервера (днс и сайт) доступны как через рабочую сеть, так и через Интернет. Нужно настроить домашний днс-сервер так, что бы при активном впн-соединении, со стороны домашней сети, сайт резолвился как внутренний, а при отсутствии соединения, открывался бы через Интернет. Как я понял, конструкция должна иметь такой вид:

zone "example.com" {
        type forward;
        forwarders {
                192.168.11.4;
                213.456.78.9;
        };
};

Но при такой конфигурации домашний днс-сервер не получает информацию:

# nslookup example.com
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find example.com: NXDOMAIN

Стоит закомментировать один из айпишников, как nslookup начинает отдавать результат (внутренний либо внешний айпи):

# nslookup example.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: 192.168.11.15

читайте концепцию view в бинде.

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

для этого вроде бы надо будет перенастраивать BIND который на работе, не? я прост не помню зачем нужен view кроме разделения по src сетям, от которых пришел запрос

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

Ooops, со второго прочтения только заметил, что днсов два. Да, здесь view не прокатит.

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

Да, view в данном случае не при чем. Проблема именно в настройке форвардинга на домашнем днс.

Извиняюсь, как выяснилось, я не совсем правильно описал проблему. При наличии одновременно внутреннего и внешнего адресов в файле конфигурации, nslookup отдает результат, но отдает внешний айпишник, то есть из двух форвардеров BIND спрашивает внешний (даже если поменять их порядок).

j0ker1 ()

ИМХО, средствами DNS-сервера (DNS-прокси) вашу задачу решать не совсем правильно. Так как вы хотите, чтобы сначала DNS-запрос отправлялся через VPN-тунель, а потом (если не получилось), то через internet. «если не получилось» означает таймаут, то есть ощутимую задержку в резолве DNS-запроса.

Я бы предложил такой «костыль»: forwarders {192.168.192.168}; (или любой другой не занятый ip-адрес) и NAT (DNAT + SNAT) на 192.168.11.4 или 213.456.78.9 в зависимости от состояния тунеля.

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