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

Несколько записей DNS с разными сетями

Итак, у меня есть виртуальные машины Ubuntu 14.04, работающие в среде OpenStack. У DNS-машины есть внешний IP-адрес (10.14.6.3) и внутренний IP-адрес (192.168.1.3). У меня есть две другие машины в том же проекте [h1] с внешним IP-адресом (10.14.6.4) и внутренним IP-адресом (192.168.1.4) и [n1] с внешним IP-адресом (10.14.6.5) и внутренним IP-адресом (192.168). .1.5).

h1 и n1 имеют IP-адрес DNS-машины, установленный в их resolv.conf, и могут правильно разрешаться.

Я также настроил свою локальную машину (вне openstack) на использование 10.14.6.3 в качестве DNS-сервера.

В файле DNS-машин Bind db у меня есть следующие записи:

h1 IN A 192.168.1.4
h1 IN A 10.14.6.4
n1 IN A 192.168.1.5
n1 IN A 10.14.6.5

файл указателя имеет следующее:

1 IN PTR h1.
2 IN PTR h1.
3 IN PTR n1.
4 IN PTR n1.

Моя локальная машина может общаться только с подсетью 10.14. Я хочу, чтобы h1 и n1 разрешали друг друга через подсеть 192.168 (а не 10.14).

В большинстве случаев это работает нормально. Если я пингую h1 с n1, он разрешается как 192.168.1.4 Если я пингую h1 с моего локального компьютера, он разрешается как 10.14.6.4

Однако иногда, если я пингую с любого компьютера, будет использоваться другой IP-адрес. Иногда моя локальная машина разрешает h1 до 192.168.1.4, что не работает.

У меня вопрос: есть ли способ принудительно выполнить последовательное разрешение без использования локального файла хоста? Я хочу, чтобы машины внутри openstack разрешали друг друга через локальный IP 192.168.x.x И я хочу, чтобы машины, внешние по отношению к openstack, разрешали имена через внешние IP-адреса машин 10.14.x.x

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

h1 IN A 192.168.1.4
h1 IN A 10.14.6.4

называется циклический DNS и эффект именно такой, как вы описали, иногда при доступе к хосту h1 используется ip-адрес 192.168.1.4, в другой раз 10.14.6.4

Я хочу, чтобы машины внутри openstack разрешали друг друга через локальный IP 192.168.x.x И я хочу, чтобы машины, внешние по отношению к openstack, разрешали имена через внешние IP-адреса машин 10.14.x.x

Вы решаете это, используя расщепленный горизонт DNS, что позволяет разрешать одно и то же имя хоста по-разному в зависимости от того, откуда исходит DNS-запрос, или просто иметь уникальное имя для каждого IP-адреса, например h1.int.example.com. и h1.ext.example.com..