TLDR ; У меня есть работающий DDNS на ddns.example.com
, я хочу сделать так, чтобы он мог направлять запросы, такие как host1.example.com
на мои локально размещенные машины.
Итак, у меня есть публичный домен, скажем, на example.com
в Google Domains. У меня есть маршрутизатор с поддержкой DDNS, который, скажем, имеет динамический IP-адрес, который в настоящее время установлен на 1.2.3.4
.
Я указываю маршрутизатору правильно распознать мою учетную запись GD, и в GD я установил ddns.example.com
чтобы он соответствовал моему маршрутизатору. На этом этапе все работает, и я вижу, что, например, host1 в моей локальной сети, чей порт 1234
пересылается, можно увидеть по адресу ddns.example.com:1234
.
Вместо этого я хочу написать host1.example.com:1234/a/b?c
и добраться до host1:1234/a/b?c
в моей локальной сети.
В настоящее время я думаю, что это должно быть возможно путем:
Я добавляю запись с подстановочными знаками из
*.ddns
вddns.example.com
в доменах Google.Добавьте
CNAME
отhost1
кhost1.ddns.example.com
в доменах Google.Установите динамический DNS-сервер + клиент на
host2
в моей локальной сети с портом 53 с переадресацией портов через мой маршрутизатор (у меня есть DNS-сервер, который способен включать текущий внешний IP-адрес в официальные ответы, который установлен наhost2
).Добавьте соответствующие записи в мой локальный клиент / сервер DDNS (
host2
):Добавьте запись
NS
ns.ddns.example.com
наhost2
.Добавьте динамическую запись
A
ns.ddns.example.com
наhost2
.Добавьте динамическую запись
A
services.ddns.example.com
наhost2
.
Я перенаправляю
1234
сhost1
на моем маршрутизаторе.
Вот что я думаю должно произойти:
Я печатаю в host1.example.com/a/b?с:
NS просьба
com.
,example.com.
, А затем Запрос наA
host1
перенаправляется наhost1.example.com
Клиент запрашивает запись
host1.ddns.example.com
уNS
. Ответddns.example.com
.Клиент запрашивает IP-адрес
1.2.3.4
. Ответhost1.ddns.example.com
.Клиент подключается к
1.2.3.4
который размещен на1.2.3.4:1234/a/b/?c
.
dig
ИНГ домен host1.example.com
ли вернуть запись CNAME
host1.ddns.example.com
Однако затем dig
host1.ddns.example.com
возвращает домены Google NS. Насколько я понимаю, запись CNAME
будет означать, что любой запрос на эту запись будет перенаправлен. Поэтому я ожидал, что выполнение dig
для host1.ddns.example.com
будет соответствовать подстановочному знаку и станет перенаправлением CNAME
на ddns.example.com
, который, в свою очередь, сможет обрабатывать остальную часть рекурсии. Что мне здесь не хватает?