Почему руководства по настройке DNS используют частные IP-адреса в своих примерах?

1543
Julian H. Lam

Я пытаюсь настроить BIND9 на своем сервере и пытаюсь следовать руководству, которое нашел в Интернете. Одна вещь, которая выделяет для меня флаг предупреждения, заключается в том, что каждое руководство, которое я нашел, использует частные IP-адреса в своих примерах. Однако всякий раз, когда я использую стороннюю службу DNS, такую ​​как CloudFlare, я всегда добавляю общедоступные IP-адреса вместо 192.168.*адреса типа.

Теперь я понимаю, что это связано с тем, что сторонние службы DNS не имеют доступа к моему веб-серверу через частный IP-адрес (разумеется), поэтому общедоступный IP-адрес является единственным способом доступа к моему серверу, но, похоже, это немного Странно, что DNS-сервер возвращает частный IP-адрес для запроса. Разве пользователь не будет пытаться подключиться к этому частному IP в своей сети ?

Т.Л., др? Короче:

Настроить BIND9, руководства онлайн используют частные IP-адреса. Будет ли digразрешен этот вывод?

julian@server:~$ dig @123.456.789.101 www.example.org  ; <<>> DiG 9.8.1-P1 <<>> @123.456.789.101 www.example.org ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58151 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available  ;; QUESTION SECTION: ;www.example.org. IN A  ;; ANSWER SECTION: www.example.org. 10800 IN CNAME example.org. example.org. 10800 IN A 192.168.182.55  ;; AUTHORITY SECTION: example.org. 10800 IN NS ns1.example.org. example.org. 10800 IN NS ns2.example.org.  ;; ADDITIONAL SECTION: ns1.example.org. 10800 IN A 192.168.182.55 ns2.example.org. 10800 IN A 192.168.182.55  ;; Query time: 2 msec ;; SERVER: 123.456.789.101#53(123.456.789.101) ;; WHEN: Sat Mar 16 18:07:02 2013 ;; MSG SIZE rcvd: 135 
1

1 ответ на вопрос

2
LawrenceC

The files you give BIND tell BIND what to return for queries (authoritative), or where go to resolve them (non-authoritative). It will return any address you give it.

Yes, you can have a BIND running on your local network resolving names for your LAN that consist of private IPs. This BIND does not have to be accessible to the Internet at large for that function to work.

Yes, if the instance of BIND is accessible via your NAT router it will return those IPs if the server is queried. A BIND meant for private use only that is publicly accessible can leak details of your network.

Book examples typically use private IP ranges to prevent people blindly copying examples and causing undue traffic to innocent third parties - also, running a DNS server on a LAN that's using IP ranges in a private range is also not uncommon.

The DNS server on your home network won't be accessible by anyone unless:

  • Your static, public IP is registered with a global root zone DNS server, which identifies that public IP as an authoritative zone for a given domain. Specifying a private IP could not be used here.

  • You convince someone to use your publicly accessible DNS server (which will be problematic but not impossible if your ISP gives you a dynamic IP). For this to resolve IPs for any domain other than your own you would have to set up your BIND to use a global DNS as a forwarder (basically forwarding all locally unresolvable DNS lookups to another server such as OpenDNS). They would also get your private IPs which would not work on their local network unless by coincidence. This is a silly idea (unless you really want to join two LANs via a VPN or something esoteric) and generally not what you want to do.

The file above will work but likely not be useful to you unless you really want to be able for programs to lookup via DNS ns1.example.org and get the IP address 192.168.182.55 and so forth.

Я собирался ответить чем-то «умным», но потом я прочитал этот хороший ответ. Путь! Ярослав Рахматуллин 11 лет назад 0

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