TLDR ; Mam działający system DDNS ddns.example.com
, chcę umożliwić mu przesyłanie żądań host1.example.com
do moich hostowanych lokalnie komputerów.
Mam więc domenę publiczną, powiedzmy example.com
w Domenach Google. Mam router obsługujący DDNS, który, powiedzmy, ma dynamiczny adres IP, który jest obecnie ustawiony na 1.2.3.4
.
Wskazuję routerowi, aby poprawnie rozpoznał moje konto GD, a w GD ustawiam ddns.example.com
dopasowanie do mojego routera. W tym momencie wszystko działa i widzę, że na przykład host1 w mojej sieci lokalnej, którego port 1234
jest przekierowany, można zobaczyć pod adresem ddns.example.com:1234
.
Zamiast tego chcę zrobić, aby móc pisać host1.example.com:1234/a/b?c
i łączyć się z host1:1234/a/b?c
moją siecią lokalną.
Uważam, że powinno to być możliwe poprzez:
Dodaję symbol wieloznaczny od
*.ddns
doddns.example.com
w Domenach Google.Dodaj
CNAME
odhost1
do dohost1.ddns.example.com
w Domenach Google.Skonfiguruj dynamiczny serwer DNS + klient w
host2
mojej sieci lokalnej z portem 53 z przekierowaniem portów przez mój router (mam serwer DNS, który jest w stanie uwzględnić bieżący zewnętrzny adres IP w autorytatywnych odpowiedziach, na których jest zainstalowanyhost2
).Dodaj odpowiednie wpisy do mojego lokalnego klienta / serwera DDNS (
host2
):Dodaj
NS
rekordns.ddns.example.com
dohost2
.Dodaj
A
rekord dynamicznyns.ddns.example.com
dohost2
.Dodaj
A
rekord dynamicznyservices.ddns.example.com
dohost2
.
Przekierowuję port
1234
zhost1
mojego routera.
Oto, co moim zdaniem powinno się wydarzyć:
Wpisuję host1.example.com/a/b?c
:
Prośba do NS
com.
,example.com.
a następnieA
poprosić ohost1
.host1.example.com
zostaje przekierowany dohost1.ddns.example.com
Klient prosi o
NS
zapis zddns.example.com
. Odpowiedź jest1.2.3.4
.Klient prosi o adres IP
host1.ddns.example.com
. Odpowiedź jest1.2.3.4
.Klient łączy się z
1.2.3.4:1234/a/b/?c
którym jest hostowanyhost1:1234/a/b/?c
.
dig
ing host1.example.com
domena zwraca CNAME
rekord host1.ddns.example.com
. Jednak dig
ing host1.ddns.example.com
zwraca domeny Google NS. Zrozumiałem, że CNAME
zapis będzie w zasadzie oznaczał, że każde żądanie zapisu zostanie przekazane. Więc oczekiwać, że robi dig
dla host1.ddns.example.com
dopasuje wieloznaczny, stają się CNAME
przekierowanie ddns.example.com
, co z kolei będzie w stanie obsłużyć resztę rekursji. Czego tu brakuje?
źródło
example.com
lubddns.example.com
? To trochę niejasny czasami w swoim pytaniu, i bardzo ważne jest, aby konieczności skutecznego i prawidłowego routingu ... Czy urządzenia, które powinny odpowiadaćddns.example.com
ihostN.ddns.example.com
na tej samej sieci czy każdy ma inny zewnętrzny adres IP? ... Pytam, ponieważ Myślę, że może ci brakować, że nazwy są rozwiązywane w odwrotnej kolejności , co oznacza, że możesz po prostu wskazać, gdzie znaleźć*.ddns.example.com
i pozwolić serwerowi przejść dalej.Odpowiedzi:
To może być bardzo stare pytanie, ale byłem w podobnej sytuacji, ponieważ mam dynamiczny publiczny adres IP. Używam tylko wielu wystąpień duckdns, które wskazują na 10 różnych subdomen dla różnych usług działających na moim serwerze.
Używam Lets-encrypt do obsługi zwrotnych certyfikatów proxy i ssl i jestem w stanie korzystać z różnych subdomen, takich jak a.duckdns.org, b.duckdns.org wskazują na odpowiedni adres IP: Port.
Jedynym przekierowaniem portów na routerze jest skierowanie portu ssl na letsencrypt. Nie radziłbym niepotrzebnie otwierać dodatkowych portów.
To jest przykładowy letsencrypt .conf dla serwera muzycznego dostępnego na a.duckdns.org
źródło
Rozwiązałem problem, analizując każdy element osobno i stwierdzając, że działa poprawnie. Problem związany z kontem domen Google. Najwyraźniej z powodu błędu po ich stronie moje konto zostało zablokowane jako nieaktywowane. Gdy tylko agent obsługi klienta to naprawi, wszystko działało sprawnie. Jako taki, myślę, że układ tego pytania można wykorzystać do pomyślnego skonfigurowania DDNS za innym DDNS i obsługi dynamicznych domen / subdomen bez posiadania statycznego adresu IP.
źródło