November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Saturday, November 20th, 2010 04:14 pm

Недавно в [info]ru_root интересную задачку подкинули:

на локальном DNS-сервере поднять “расширение” зоны. То есть, добавить несколько записей про хосты, которые на авторитетных серверах отсутствуют. И чтобы локальный сервер про эти явно добавленные записи отвечал сам, а про все остальные рекурсивно ходил к авторитетным серверам.

Вытянуть из авторитетных серверов всю зону и поднять её у себя по условию задачи не представляется возможным (её либо не отдают, либо она часто меняется).

Сервер для определённости пусть будет bind.

Ответ есть там.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Saturday, November 20th, 2010 04:13 pm (UTC)
[с пьяных глаз, не разобравшись]
* IN NS ...
Saturday, November 20th, 2010 04:15 pm (UTC)
Или оформить каждый хост как поддомен, для которого наш сервер будет authoritative и нарисовать там @ IN A ...
А за всем остальным ходить к внешнему.
Saturday, November 20th, 2010 06:01 pm (UTC)
Да, где-то так.
Saturday, November 20th, 2010 04:19 pm (UTC)
повторю свой вопрос - dnsmasq использовать недостаточно сложно?
Saturday, November 20th, 2010 06:00 pm (UTC)
Он умеет сам что-то отдавать, а не только проксировать запросы?
Sunday, November 21st, 2010 12:46 am (UTC)
# Add other name servers here, with domain specs if they are for
# non-public domains.
#server=/localnet/192.168.0.1

# Example of routing PTR queries to nameservers: this will send all
# address->name queries for 192.168.3/24 to nameserver 10.1.2.3
#server=/3.168.192.in-addr.arpa/10.1.2.3

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
#local=/localnet/

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
#address=/doubleclick.net/127.0.0.1

# --address (and --server) work with IPv6 addresses too.
#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83

# You can control how dnsmasq talks to a server: this forces
# queries to 10.1.2.3 to be routed via eth1
# --server=10.1.2.3@eth1

# and this sets the source (ie local) address used to talk to
# 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
# IP on the machine, obviously).
# --server=10.1.2.3@192.168.1.1#55
Sunday, November 21st, 2010 12:59 pm (UTC)
Ага, address= должен помочь.
Правда, при этом есть другая засада - если имеющийся bind ещё авторитетно обслуживает какие-то зоны, то придётся их с dnsmasq как-то подружить в пределах одной машины, чтоб не подрались из-за 53 порта.
Sunday, November 21st, 2010 03:48 pm (UTC)
bind - повесить на 127.0.0.1
dnsmasq - на внешний интерфейс.
К внутреннему bind ходить через прокси.
Saturday, November 20th, 2010 05:42 pm (UTC)
Я не понял. /etc/hosts - не?
Saturday, November 20th, 2010 05:58 pm (UTC)
Не. /etc/hosts работает только на одной машине, а надо, чтобы для всех, которые к этотму DNS-серверу обращаются.
Saturday, November 20th, 2010 06:18 pm (UTC)
А, понял. А просто зону поднять?

Мож я изначальную задачу не понял?
Saturday, November 20th, 2010 06:55 pm (UTC)
А просто ее поднять нельзя, она живёт на другом сервере и ее оттуда целиком не отдают.
Saturday, November 20th, 2010 07:04 pm (UTC)
Не, я зопух позорный ваще. Поднять и "in ns" дать ссылку на основной?
Saturday, November 20th, 2010 08:57 pm (UTC)
Если ее просто поднять у себя, то она будет либо типа master/slave, и тогда сервер будет обслуживать её сам, а он этого сделать не сможет, потому что у него нет полных данных,
либо forward, и тогда он все запросы будет слать куда скажут, а от себя ничего добавить не сможет.
IN NS ничем не поможет.