Переадресация облачного DNS не разрешается в других сетях общего VPC
Наша установка:
У нас есть мастер-проект A
и два других проекта, B
а также C
, В проекте A
У нас есть общий VPC с сетями A
, B
, а также C
(связано с тем, какой проект они должны служить). VPC для B
является общим от проекта A
проэктировать B
и VPC для C
является общим от проекта A
проэктировать C
, Сети настроены друг на друга.
В рамках проекта A
, у нас есть частная облачная DNS-зона, которая пересылается на два DNS-сервера. Один из этих серверов находится в проекте A
и сеть A
и один из них в проекте B
в сети B
, Мы выбрали все сети (A
, B
, а также C
) быть включенным в эту зону DNS.
Наша проблема:
Облачный DNS, кажется, не разделяет должным образом через эти сети. Экспериментально мы обнаружили, что экземпляры смогут разрешать записи, которые находятся на DNS-сервере в той же сети, но не в другой сети. то есть:
Экземпляр в сети A
сможет разрешить домен из сети A
DNS-сервер, но не из сети B
DNS-сервер и наоборот. Однако, если вы явно определите DNS-сервер, он будет работать как положено.
Например, пусть 10.0.0.1
иметь запись для foo.com
, а также 10.0.1.1
иметь запись для bar.com
, Они размещены в сети A
и сеть B
соответственно:
По экземпляру из сети A
:
- Бег
nslookup foo.com
разрешу. - Бег
nslookup bar.com
вернусьSERVFAIL
, - Бег
nslookup bar.com 10.0.1.1
разрешу.
Точно так же, используя экземпляр в сети B
- Бег
nslookup bar.com
разрешит - Бег
nslookup foo.com
вернусьSERVFAIL
- Бег
nslookup foo.com 10.0.0.1
разрешит
И сеть C
:
- Бег
nslookup foo.com
вернусьSERVFAIL
- Бег
nslookup bar.com
вернусьSERVFAIL
- Бег
nslookup foo.com 10.0.0.1
разрешит - Бег
nslookup bar.com 10.0.1.1
разрешит
Я не уверен, почему это поведение так, как оно есть.
Что было проверено / подтверждено
- Мы убедились, что все сети могут обмениваться данными через порт TCP/UDP 53, и что оба сервера имен можно видеть из всех сетей.
- Мы попытались добавить политики (которые дали похожий результат, возвращались только сбои)
NXDOMAIN
скорее, чемSERVFAIL
) - Мы рассмотрели пиринг DNS, который здесь не применим
Любая помощь здесь будет оценена. Мне известно, что частные зоны в облачном DNS все еще являются бета-функцией, но в настоящее время эта настройка должна быть возможной в соответствии с документацией.
2 ответа
Из вашего описания похоже, что сети A, B и C связаны друг с другом. В документации о пиринговых зонах говорится, что "когда две сети находятся в одноранговой сети, они автоматически не обмениваются информацией DNS". Это может объяснить, почему DNS-серверы могут разрешать имена только в экземпляры в пределах одного и того же VPC-сервера, используя переадресацию Cloud DNS; и с другой стороны, DNS-запросы должны запрашиваться непосредственно для разрешения, когда они установлены в одноранговых VPC.
Я вижу, что нет документации для одновременного использования пиринговых зон с переадресацией DNS, поэтому вы можете попробовать добавить оба домена foo.com и bar.com на обоих DNS-серверах.
На той же странице также объясняется, что доступна бета-версия DNS Peering, благодаря которой потребительская сеть может пересылать DNS-запросы в производящую сеть.
Если я правильно понимаю, это будет означать установку DNS в сети производителя. A
и пусть в сети B
а также C
направить свои соответствующие запросы A
,
Но что, если B
а также C
есть разные частные зоны (которые не должны быть настолько далеки от реальных)? Это будет означать, что оба A
так что записи для соответствующих VPC уникально управляются изнутри проекта A
,
Я хотел бы попробовать это, более того, потому что помимо этого у меня есть VPN с предварительной установкой (давайте назовем это D
) и следующим шагом будет настройка условного сервера пересылки для локальной DNS.
Не уверен если B
а также C
сможет решить D
запросы через A
проект.