LINUX.ORG.RU
ФорумAdmin

Статическая dns запись на определенный домен в bind

 , ,


0

1

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

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

В named.conf описывается файл зоны, а в файле зоны финальной строкой описываем домен, который должен преобразовываться в требуемый местный IP. Рукими rndc reload дергаем сервер после всего, но желаемого эффекта достичь не удалось. Примеров реализаций в сети много, но порою чем проще задача, тем сложней увидеть решение на поверхности.

Можно ваш рабочий пример?


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

Алярм! Спуфир вчати!

anonymous
()

При прямом запросе к твоему dns серверу в эту зоны должны отдаваться записи.

Клиенты должны быть настроены на использование твоего dns сервера.

К примеру, systemd-resolved может не использовать выдаваемый по dhcp или указанный иным способом dns сервер, а делать разрешение от корневых серверов.

Проверяй, настраивай. Конфигов ты не привел.

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

Да, это вам не Mikrotik, тут уметь нужно)

При прямом запросе к твоему dns серверу в эту зоны должны отдаваться записи. Клиенты должны быть настроены на использование твоего dns сервера

Должны, причем как от прямых обращений пользователей интрасети, так и от самого шлюза, использующего в качестве dns свой же локалхост, так как локальный dns использует и squid, который в том числе обслуживает запросы пользователей.

Вот стандартная оснастка. Нужно, чтобы test.linux.org.ru при его запросе у потребителей, использующих данный bind в качестве dns, резолвился в 192.168.192.168

Реализация?

В named.conf

zone «example.org» { type master; file «master/example.org»; };

В example.org

$TTL 120

@ IN SOA example.org. root.example.org. ( 2025081416 ; Serial 120 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum

           NS      example.org.

test.linux.org.ru. IN A 192.168.192.168

mrrc
() автор топика

Не с того конца это делается.

На клиенте может быть указан абсолютно любой DNS-сервер, и все эти пляски будут впустую.

Можно на уровне файерволла редиректить любые запросы на 53 порт любого адреса на свой DNS-сервер. С DoH, DoT, и прочей маргинальщиной типа dnscrypt работать не будет, но вряд ли таких клиентов окажется много.

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

На клиенте может быть указан абсолютно любой DNS-сервер, и все эти пляски будут впустую.

Не может. У них выбора другого нет, кроме того, что им выдали. Как решить в bind.

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

в конфиге в разделе «options добавь

        response-policy {
                zone "rpz.zone" policy given;
        } qname-wait-recurse no;

вне раздела „options“
добавляешь новую зону
zone "rpz.zone" in {
	type master;
	file "pri/rpz.zone";
        allow-update { none; };
	allow-query { any; };
};


и в файле pri/rpz.zone
ставишь нужные замены/заглушки
к примеру
$TTL 10
@       IN SOA rpz. admin.localhost.biz.my. (
	    2 ; serial
	    10 ; refresh
	    15 ; retry
	    10 ; expire
	    10 ; nxdomain ttl
 )

@       IN      NS     localhost.
iptv.local	A	192.168.1.1
wpad	CNAME	*.	; return NODATA
google.com	CNAME	*.	; return NODATA

Atlant ★★★★★
()
Ответ на: комментарий от no-dashi-v2

named.conf

zone «test.linux.org.ru» { type master; file «master/linux.local»; };

linux.local

$TTL 120

@ IN SOA test.linux.org.ru. root.test.linux.org.ru. ( 2025081501 ; Serial 120 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum

@ IN NS localhost.

@ IN A 192.168.192.168

Ну вот так nslookup test.linux.org.ru IP_LOCAL-DNS отрабатывает от клиентов корректно, на самом сервере также резолв работает, спасибо.

mrrc
() автор топика
Ответ на: комментарий от Atlant

rpz вещь прогрессивная и правильная, спасибо. Но упрощенный вариант тоже выполняет задачу. В качестве единичной записи-заглушки в общем оба варианта верны.

mrrc
() автор топика
Последнее исправление: mrrc (всего исправлений: 1)