Назад | Перейти на главную страницу

[DNS] [BIND9] Перенаправлять на внешний IP-адрес, когда клиенты запрашивают имя внешнего домена

Итак, у меня есть несколько DNS, где у меня установлено множество внутренних зон для моего домена yyy.com. И мне нужно добавить запись на сервер провайдера (хост - с файлами конфигурации для загрузки, это не какой-то DNS, например googledNS 8.8.8.8). Потому что его устройства запрашивают конфигурацию с использованием доменного имени xxx.5060.com или xxy.5060.com. Я думал, что это легко (в BIND8 было).

Итак, я добавил конфигурацию в основной файл зоны:

xxx.5060.com. IN A a.b.c.d
xxy.5060.com. IN A a.b.c.d

Но предупреждение о возврате named-checkzone: ignoring out-of-zone data И, конечно, DNS не хочет получать IP-адрес, запрашиваемый для домена. Итак, я начал гуглить и пробовать новые конфигурации, например:

xxx.5060.com. IN CNAME helper
xxy.5060.com. IN CNAME helper
helper        IN A     a.b.c.d

Предупреждение было таким же, другое решение, найденное в Google, было отредактировано named.conf.local и добавляем «зону»:

zone "xxx.5060.com" {
    type forward;
    forwarders {
        a.b.c.d;
    }
}    
zone "xxx.5060.com" {
    type forward;
    forwarders {
        a.b.c.d;
    }
}
zone "yyy.com" {
    type master;
    file "/etc/bind/zones/db.yyy.com";
    allow-transfer { 10.e.e.e;
                     10.e.e.f; };
...

Но DNS не реагирует.

Ох ... Пытаюсь добавить в верхний конфиг forward only;. Та же реакция.

Есть ли одно предложение, что я делаю не так или что его установило?

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

Итак, если вы хотите, чтобы ваш сервер имен разрешал xxx.5060.com, вам необходимо указать прямую зону, указывающую на сервер имен 5060.com, как это:

zone 5060.com {
    type forward;
    forward only;
    forwarders {
        172.247.252.11;
        115.29.220.216;
    };
};

Небольшое примечание: я не знаю, 5060.com предполагается, что это только пример или реальный домен, который вы пытаетесь разрешить. Если это только пример, то вам не повезло, так как 5060.com существует, и IP-адреса в приведенном выше примере зарегистрированы как серверы имен.

Приведенный выше пример должен работать, если хост, который вы пытаетесь разрешить, действительно существует. Если нет, то это не «хороший» способ добиться того, чего вы хотите. Вы не можете «внедрить» имена хостов в домен, которым не владеете. Возможны следующие варианты:

Вы можете сделать свой сервер имен главным сервером 5060.com.

Таким образом, вы можете определить любой хост в этой зоне. У этого есть несколько недостатков:

  1. Определенные вами хосты будут видны только для компьютеров, использующих ваш сервер (и только он) в качестве DNS-сервера. Ваши изменения (естественно) не будут распространены на другие DNS-серверы.
  2. Все определения хостов, отсутствующие в вашем файле зоны, исчезнут: вы не можете «добавить» имена хостов и заставить ваш DNS-сервер запрашивать «настоящие» серверы для оставшейся части.
  3. Если ваш сервер доступен из Интернета, вы должны позаботиться о том, чтобы не распространять поддельную конфигурацию среди ничего не подозревающих клиентов.

Определите фиктивный домен

Еще одна вещь, которую вы можете сделать, чтобы определить фиктивный домен, который начинается с 5060.com, но на самом деле это ваш внутренний домен, например 5060.com.ismine. Определите нужные хосты в этом домене и установите суффикс поиска DNS на клиентских компьютерах на ismine. Таким образом, если хост не будет найден через «официальные» DNS-серверы, клиенты будут пытаться сохранить имя хоста с .ismine суффикс, и ваш DNS-сервер может предоставить им желаемое имя хоста. У этого метода тоже есть недостатки:

  1. Как и в предыдущем методе, имена хостов будут доступны только клиентам, использующим только ваш DNS-сервер. Если у них есть резервный DNS, он не будет работать (по крайней мере, когда они спросят другой DNS-сервер).
  2. Вы не можете переопределить имена хостов, так как клиенты сначала будут пробовать зарегистрированные серверы имен и будут пытаться применить суффикс, только если имя хоста не было найдено.
  3. У вас должна быть возможность изменять конфигурацию разрешения DNS ваших клиентов.
  4. Если ваш сервер является DNS-сервером, доступным из Интернета, вы можете не распространять свою внутреннюю зону на внешних клиентов.

Если я правильно понимаю ваше сообщение, вы не можете изменить локальный hosts файлы на устройствах, поэтому, если вышеуказанные методы не работают для вас, то вам более или менее не повезло.