Следует ли использовать IP-адрес локальной сети или публичный IP-адрес для настроек привязки, таких как записи A и т. д.?

Следует ли использовать IP-адрес локальной сети или публичный IP-адрес для настроек привязки, таких как записи A и т. д.?

Я новичок в работе с bind, и некоторое время назад я купил статический IP у интернет-провайдера. Я использовал bind для подъема домена, и теперь он работает без каких-либо проблем.

Например: IP-адрес локальной сети для моего сервиса — 192.168.1.101, а IP-адрес, который я приобрел у интернет-провайдера, — 120.4.5.6. Например, доменное имя — example.com. Следуя руководству по цифровойокеан, я настроил записи A и зоны с локальным IP-адресом локальной сети. Однако, когда я пинговал его, он возвращал локальный IP-адрес, поэтому я мог получить доступ к доменам только из локальной сети. Почему это произошло? Вместо IP-адреса локальной сети я использовал публично купленный IP-адрес и изменил записи A в bind соответствующим образом, и теперь все в порядке! Однако мне это кажется неправильным, потому что, исходя из того, что я знаю:

Когда вы вводите адрес домена (например, example.com): Сначала он проверяет с помощью ".", чтобы узнать, распознает ли он com или нет. Затем он запрашивает службу DNS, связанную с com, чтобы узнать, распознает ли он example или нет. Наконец, для example.com возвращается IP (120.4.5.6). В таком случае, почему, когда я установил свой собственный IP-адрес локальной сети (192.168.1.101) в привязке для записей A, я мог получить доступ к домену только из внутренней сети, и почему команда ping вернула IP-адрес локальной сети (192.168.1.101) вместо публичного IP-адреса (120.4.5.6)?

Я считаю, что когда DNS-провайдер возвращает мой публичный IP, клиент должен знать, какой у меня IP. Когда он отправляется в мою систему, мы используем bind для настройки записей A и внутренних сетевых настроек LAN, чтобы указать NS, основной сервер и поддержку. Если я что-то неправильно понял, буду признателен, если вы дадите мне знать.

решение1

С помощью bind вы можете настроить «разделенный горизонт», чтобы локальные/локальные запросы к вашему локальному экземпляру DNS-сервера получали адреса локальной сети, а запросы, исходящие из-за пределов вашей локальной сети, получали публичные IP-адреса.

решение2

Чтобы сделать ваш bind dns общедоступным, вам нужно убедиться, что домен указывает на ваш сервер dns. Это можно сделать, изменив домен и указав сервер имен на ваш bind dns сервер. Вашему интернет-провайдеру, вероятно, нужно изменить это для нужных вам доменов. Затем вам нужно убедиться, что ваш bind сервер доступен через порт 53 из интернета. Я бы не стал публиковать ваши внутренние ip-адреса в интернет, поэтому вам нужно создать разделенную зону, которая имеет публичную часть и внутреннюю часть. В публичной зоне есть записи для публичных ip-адресов, на которых работают ваши службы, и внутренняя для внутренней сети. Я бросаю вам вызов, чтобы вы выяснили, как создать разделенную зону в bind

В основном он разрешал внутренние записи, потому что ваш сервер bind dns знает только внутренние ips, и это первый, который запрашивается. Другой вариант — добавить resolver к публичному серверу dns вашего провайдера или что-то вроде opendns, с resolver в bind, если bind не может найти запись во внутренней зоне, он запрашивает иерархию публичных dns

Связанный контент