Наша установка:
У нас есть мастер-проект 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.
Наша проблема:
Похоже, что Cloud 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
решитЯ не уверен, почему такое поведение таково.
Что было опробовано / подтверждено
NXDOMAIN
скорее, чем SERVFAIL
)Любая помощь здесь будет оценена. Мне известно, что частные зоны в Cloud DNS все еще являются бета-функцией, но эта настройка в настоящее время должна быть возможна в соответствии с документацией.
На той же странице также объясняется, что доступна бета-версия DNS-пиринга, посредством которой потребительская сеть может пересылать DNS-запросы в сеть-источник.
Если я правильно понимаю, это будет означать настройку DNS в производственной сети. A
, и пусть сети B
и C
направить свои запросы в A
.
А вдруг B
и C
есть разные приватные зоны (которые не должны быть так уж далёки от настоящих)? Означает ли это, что обе настройки включены A
так что записи для соответствующих VPC уникально управляются из проекта A
.
Я бы тоже хотел попробовать, тем более что у меня есть VPN с локальным доступом (назовем его D
), а следующим шагом будет установка сервера условной пересылки на локальный DNS.
Не уверен если B
и C
смог бы решить D
запросы через A
проект.
Из вашего описания похоже, что сети A, B и C сверяются друг с другом. Документация о Пиринговые зоны говорит, что «когда две сети взаимодействуют друг с другом, они не обмениваются информацией DNS автоматически». Это могло бы объяснить, почему DNS могут разрешать имена только экземплярам в одном VPC ehn с помощью пересылки Cloud DNS; а с другой стороны, DNS-серверы должны напрямую запрашиваться, когда они установлены в одноранговых VPC.
Я вижу там документацию по использованию зон пиринга с переадресацией DNS одновременно, поэтому вы можете попробовать, добавив оба домена foo.com и bar.com на оба DNS-сервера.