DNSMasq не разрешает немаршрутизируемые IP-адреса в общедоступных доменных именах.

Наш DNSMasq не может разрешить записи A, CNAME или Alias ​​из общедоступных доменов, которые указывают частные IP-адреса .

Например:

$ nslookup
> server 172.16.1.1
Default server: 172.16.1.1
Address: 172.16.1.1#53

> www.work-domain.com
Server:         172.16.1.1
Address:        172.16.1.1#53

Non-authoritative answer:
Name:   www.work-domain.com
Address: 55.77.XXX.XXX

> server-b.work-domain.com
Server:         172.16.1.1
Address:        172.16.1.1#53

Non-authoritative answer:
*** Can't find server-b.work-domain.com: No answer

Но переключение на общедоступное DNS работает нормально:

$ nslookup
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53

> www.work-domain.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   www.work-domain.com
Address: 55.77.XXX.XXX

> server-b.work-domain.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   server-b.work-domain.com
Address: 10.1.XXX.XXX

Обратите внимание, что запись server-b.work-domain.com правильно разрешается в немаршрутизируемый IP-адрес 10.1.XXX.XXX ? Это моя проблема, это не работает с моим локальным dnsmasq в локальной сети.

Эти IP-адреса являются частью наших частных подсетей Amazon AWS, и у нас есть VPN для доступа к ним.

Это все на 100% согласовано со всеми 200+ серверами, зарегистрированными в 4 разных публичных доменах в нескольких подсетях, все из которых используют частный немаршрутизируемый IP-адрес. Но все же все остальные записи, использующие общедоступные маршрутизируемые IP-адреса, работают нормально в том же домене!

1
задан 24 November 2016 в 04:00
1 ответ

@HekanLindqvist прокомментировал меня в правильном направлении. Как только он ответит, я пометил его как ответ. До тех пор...

Его комментарий указывал мне на rebind опции для dnsmasq:

--stop-dns-rebind
    Reject (and log) addresses from upstream nameservers which are in the private IP ranges. This blocks an attack where a browser behind a firewall is used to probe machines on the local network.
--rebind-localhost-ok
    Exempt 127.0.0.0/8 from rebinding checks. This address range is returned by realtime black hole servers, so blocking it may disable these services.
--rebind-domain-ok=[<domain>]|[[/<domain>/[<domain>/]
    Do not detect and block dns-rebind on queries to these domains. The argument may be either a single domain, or multiple domains surrounded by '/', like the --server syntax, eg. --rebind-domain-ok=/domain1/domain2/domain3/

Вооруженный этим знанием, я вижу, что это и есть то, что происходит:

# cat /tmp/etc/dnsmasq.conf
...
rebind-localhost-ok
...

Тогда я добавил в свой dnsmasq.conf следующее, чтобы исправить это:

rebind-domain-ok=/work-domain1.com/work-domain2.com/

Woohoo! Это работает!

Мой dnsmasq, должно быть, был скомпилирован со строгой опцией по умолчанию с.

.
1
ответ дан 3 December 2019 в 23:37

Теги

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