Задать вопрос
nobr
@nobr
Front-end / Shadow DOM / Canvas

Как правильно настроить доменную зону внутри локальной сети?

Что есть: роутер (192.168.1.1), к которому подключено несколько машин (192.168.1.0/24). Изменить конфигурацию сети нет возможности.

Что нужно: поднять доменную зону внутри сети.

Я установил BIND на одну из машин (192.168.1.4) и добавил такие таблицы для зоны "dev":
Прямая:
$TTL    3600
dev.      IN      SOA     ns.dev. company.domain (
                                2010021701;     Serial
                                3600;           Refresh
                                900;            Retry
                                360000;         Expire
                                3600;           Minimum
                                )
                IN      NS      ns.dev.

ns			IN		A			192.168.1.4
test			IN		A			192.168.1.7
test2			IN		A			192.168.1.7


Обратная:
$TTL    3600

@       IN      SOA     ns.dev. (
                        2009121102
                        3600
                        900
                        3600000
                        3600 )
        IN      NS      ns.dev.

7 IN PTR test.dev.
7 IN PTR test2.dev.


В роутере прописал primary DNS: 192.168.1.4 и secondary от провайдера.

BIND настроен правильно и работает, nslookup находит IP по домену с машины 192.168.1.4 (на которой он собственно и установлен). Через браузер с использованием домена открывается веб-интерфейс службы, запущенной на 192.168.1.7. На других компьютерах не получается найти домен.

Результат nslookup с 192.168.1.3 (Ubuntu 14.04):
> test.dev
Server: 127.0.1.1
Address: 127.0.1.1#53

** server can't find test.dev: NXDOMAIN


Результат nslookup с 192.168.1.5 (Win7):
> test.dev
Сервер: UnKnown
Address: 192.168.1.4

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** превышено время ожидания запроса UnKnown


Кажется я что-то делаю неправильно, но не знаю, что именно. Подскажите, пожалуйста, можно ли заставить все компьютеры обращаться к BIND’у по адресу 192.168.1.4, не прописывая DNS вручную на каждой?

UPD: Результат "nslookup test.dev 192.168.1.4":
;; connection timed out; no servers could be reached


Конфиг named:
options {
	directory "D:\Program Files\ISC BIND 9\etc";

	forwarders {
		85.21.192.5; #dns провайдера
		8.8.8.8;
		8.8.4.4;
	};
	
	listen-on { any; };
	listen-on-v6 { any; };
	
	allow-recursion {
		127.0.0.1;	
		192.168.1.0/24;
	};
};

# Прямая локальная зона
zone "dev" {
        type master;
        file "..\zones\dev.db";
};

# Обратная локальная зона
zone "1.168.192.in-addr.arpa" {
        type master;
        file "..\zones\dev-reverse.db";
};


UPD2: Проблема решена — фаервол блокировал доступ к серверу.
  • Вопрос задан
  • 4678 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@brutal_lobster
1. Некорректно указывать локальный и внешний одновременно - будут проблемы с резолвом внутренней зоны. Провайдер же не знает о ней ничего.
2. Раз уж бинд работает локально - проблема скорее всего в фаерволе (или он вообще не слушает на внешнем интерфейсе)
3. При проверке с 1.3 видно, что машина обращается на свой локальный рекурсер. Этот рекурсер тоже ничего не знает о вашей внутренней зоне
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
bk0011m
@bk0011m
Системный администратор
в прямой зоне, вторая строка. уберите точку после dev

Далее IN то зачем?
Вот так надо:
ns				A			192.168.1.4
test				A			192.168.1.7
test2			A			192.168.1.7

Вы же хосты описываете
Ответ написан
microphone
@microphone
Сломалось - читай логи!
1) почему на убунте запрос идет на 127.0.1.1 ???
2) есть параметр который будет указывать для нслукапа сервер

Например "nslookup ya.ru 8.8.8.8" сделает запрос на днс гугла и спросит кто есть ya.ru

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

4) и зону укажите тогда конкретно test.dev
zone "test.dev" {...
Почему? да чтобы хосты которые ваш сервер в зоне дев мог отдать тот сервер который о них знает. А то будите получать ответ что нет имен в этой зоне, кроме тест.дев
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы