Jak skonfigurować dynamiczne DNS za pomocą domen Google i Ubuntu Server

Jak skonfigurować dynamiczne DNS za pomocą domen Google i Ubuntu Server

Polecam przekierowanie wszystkich połączeń do bezpiecznego połączenia.

Streszczenie

Dowiedz się, jak skonfigurować dynamiczne DN za pomocą domen Google i zabezpieczyć swoją witrynę za pomocą certyfikatu SSL od Let’s Encrypt za pomocą certyfikatu.

Kluczowe punkty:

1. Dynamic DNS pozwala wskazać nazwę domeny na dynamiczny adres IP.

2. Domeny Google oferuje dynamiczne DN za darmo ze wszystkimi zakupami domen.

3. Ten samouczek pokaże, jak skonfigurować dynamiczne DNS za pomocą Google Domeny i Ubuntu Server.

Pytania:

1. Dlaczego miałbyś używać dynamicznych DNS?

Odpowiedź: Dynamic DNS pozwala użytkownikowi zmienić adres IP bez konieczności ciągłego aktualizacji adresu IP na swoich urządzeniach. Jest to przydatne dla osób, które pracują zdalnie i potrzebują niezawodnego połączenia, które jest zawsze dostępne.

2. Co to jest domeny Google?

Odpowiedź: Domeny Google to rejestrator domeny, który zapewnia użytkownikom możliwość zarejestrowania własnej nazwy domeny.

3. Jakie są korzyści z korzystania z domen Google?

Odpowiedź: Korzyści z domen Google obejmują prosty interfejs, łatwe w użyciu narzędzia, niskie ceny, kontrolę nad domeną i integrację z Google Apps.

4. Jakie jest zalecane środowisko serwera do konfigurowania dynamicznych DN za pomocą domen Google i serwera Ubuntu?

Odpowiedź: Zalecane środowisko serwera to Ubuntu 18.04 LTS z Apache 2, DdClient 3.8.3 i certbot 0.27.0.

5. Jak skonfigurować dynamiczne DN w domenach Google?

Odpowiedź: Aby skonfigurować dynamiczne DNS w domenach Google, musisz zalogować się na swoje konto Domeny Google, wybrać domenę, przejdź do ustawień DNS, kliknij „Pokaż ustawienia zaawansowane”, „kliknij„ Zarządzaj dynamicznym DN ”i utwórz nowy rekord z nazwą domeny subdomeny lub korzeniowej.

6. Co to jest ddclient?

Odpowiedź: DdClient to dynamiczny klient DNS, który automatycznie aktualizuje rekordy DNS za pomocą dynamicznego adresu IP.

7. Jak skonfigurować ddclient?

Odpowiedź: Aby skonfigurować DDClient, musisz zainstalować DDClient na serwerze Ubuntu, skonfigurować plik konfiguracyjny DDClient i uruchom usługę DDClient.

8. Jak skonfigurować swój serwer WWW dla dynamicznych DNS?

Odpowiedź: Aby skonfigurować serwer WWW dla dynamicznych DNS, musisz skonfigurować wirtualne hosty Apache, aby wskazać swoją domenę i skonfigurować SSL za pomocą CertBot.

9. Co to jest certyfikat SSL?

Odpowiedź: Certyfikat SSL to certyfikat cyfrowy, który uwierzytelnia tożsamość witryny i szyfruje dane wysyłane między witryną a przeglądarką użytkownika.

10. Jak zabezpieczyć swoją witrynę za pomocą certyfikatu SSL od Let’s Encrypt za pomocą CertBot?

Odpowiedź: Aby zabezpieczyć witrynę za pomocą certyfikatu SSL od Let’s Encrypt za pomocą CertBot, musisz zainstalować CertBot na serwerze, uruchom CertBot, aby uzyskać i zainstalować certyfikat SSL oraz skonfigurować serwer WWW do korzystania z certyfikatu SSL.

11. Jak długo trwa skonfigurowanie dynamicznych DN za pomocą domen Google i serwera Ubuntu?

Odpowiedź: Możesz skonfigurować dynamiczne DN za pomocą domen Google i Ubuntu Server w niecałą godzinę.

12. Czy możesz używać dynamicznych DN z innymi rejestratorami domen?

Odpowiedź: Tak, możesz użyć dynamicznych DN z innymi rejestratorami domen, ale ten samouczek koncentruje się na konfigurowaniu dynamicznych DN za pomocą domen Google.

13. Jaki jest cel przekierowania wszystkich połączeń do bezpiecznego połączenia?

Odpowiedź: Przekierowanie wszystkich połączeń do bezpiecznego połączenia zapewnia, że ​​cała komunikacja między użytkownikiem a witryną jest zaszyfrowana i bezpieczna, zapewniając prywatność i ochronę przed podgryzieniem.

14. Jakie są wymagania systemowe dotyczące uruchamiania serwera Ubuntu?

Odpowiedź: Serwer Ubuntu ma minimalne wymagania systemowe, w tym procesor 1 GHz, 512 MB pamięci RAM i 2 GB miejsca na dysku twardym.

15. Czy istnieją jakieś ograniczenia lub ograniczenia podczas korzystania z dynamicznych DN w domenach Google?

Odpowiedź: Domeny Google mogą mieć ograniczenia lub ograniczenia dotyczące liczby dynamicznych rekordów DNS, które możesz utworzyć lub częstotliwość dozwolonych aktualizacji.


Jak skonfigurować dynamiczne DN przy użyciu domen Google i Ubuntu Servertechnology

Polecam przekierowanie wszystkich połączeń do bezpiecznego połączenia.

Czy Google oferuje dynamiczne DNS

Оjed

Ыы зарегистрир John. С помощю этой страницы ыы сожем оRipееделить, что запросы оRтравляете имено ыы, а не роvert. Почем это могло пRроизойиS?

Эта страница отображается тех слччаях, когда автоматическими системамgz которые наршают усовия исполззования. Страница перестанеura. До этого момента для исползования слжжж Google неоtoś.

Источником запросов может слжить ведоносное по, подкbarów. ыылку заRzy. Еarag ы исползеете общий доступ и интернет, проблема может ыть с компюююеyn с таким жж жж жесом, кк у комszczeюююе000. Обратитеunks к соем системном адинистратору. Подроlit.

Проверка по слову может также появаятьenia, еaсли ы водите сложные ззапры, оind обычно enia оиизи инenia оtoś еами, или же водите заlektora.

Jak skonfigurować dynamiczne DN za pomocą domen Google i technologii serwerów Ubuntu

Jak skonfigurować dynamiczne DNS za pomocą domen Google i Ubuntu Server

Dowiedz się, jak skonfigurować dynamiczne DNS za pomocą domen Google i zabezpieczyć swoją witrynę za pomocą certyfikatu SSL od Let’S szyfrowania za pomocą certbot.

Dynamic DNS to usługa, która pozwala wskazać nazwę domeny na dynamiczny adres IP. Oznacza to, że adres IP Twojej witryny zmienia się okresowo.

Domeny Google oferuje dynamiczne DN za darmo ze wszystkimi zakupami domen. Możesz skonfigurować dynamiczne DN za pomocą domen Google i Ubuntu Server w niecałą godzinę.

Ten samouczek pokaże, jak skonfigurować dynamiczne DNS za pomocą Google Domeny i Ubuntu Server.

Spis treści

  • Dlaczego warto używać dynamicznych DNS?
  • Co to jest domeny Google?
  • Krok 1: Ustaw dynamiczne DNS w domenach Google
  • Krok 2: konfiguracja ddclient
  • Krok 3: Skonfiguruj swój serwer WWW

Dlaczego warto używać dynamicznych DNS?

Dynamic DNS to usługa, która umożliwia użytkownikowi zmianę adresu IP bez konieczności ciągłej aktualizacji adresu IP na swoich urządzeniach. To znacznie ułatwia dostęp do adresu IP z dowolnego miejsca, co jest przydatne dla osób, które pracują zdalnie i potrzebują niezawodnego połączenia, które jest zawsze dostępne.

Należy również zauważyć, że dynamiczne DNS nie wymaga żadnej konfiguracji po stronie klienta. Dynamic DNS Service wykonuje dla Ciebie całą pracę.

Co to jest domeny Google?

Domeny Google to rejestrator domeny, który zapewnia użytkownikom możliwość zarejestrowania własnej nazwy domeny.

Domeny Google oferuje szansę na zdobycie własnej nazwy domeny bez konieczności przechodzenia przez osobę trzecią. Zapewnia również możliwość korzystania z własnego osobistego adresu e -mail, który jest połączony bezpośrednio z Twoją witryną lub blogiem.

Korzyści z domen Google

Korzyści z domen Google polega na tym, że oferuje prosty interfejs, łatwe w użyciu narzędzia i niskie ceny. Otrzymujesz dużą kontrolę nad swoją domeną w porównaniu z cenami innych usług, takich jak Dyndns (24 USD.95 rocznie w momencie pisania) z ograniczonymi funkcjami. Tam są Bezpłatne usługi Jak Noip.com, ale nie masz żadnej kontroli nad nazwą domeny i może być konieczne weryfikację użytkowania co 30 dni.

Domeny Google zapewnia osobistą pulpit nawigacyjny ze wszystkimi domenami, e -mailami i kontaktami. Otrzymujesz także integrację Google Apps, dzięki czemu możesz uzyskać dostęp do wszystkich wiadomości e -mail, kalendarza i czatu z jednego miejsca.

Środowisko

  • Ubuntu 18.04 LTS Jestem pewien, że zadziała to w późniejszych wersjach, ale moje serwery produkcyjne na Digitalocean uruchamiają tę wersję.
  • Apache 2
  • DdClient 3.8.3 – Instalacja
  • Certbot 0.27.0 – Instalacja

Krok 1: Ustaw dynamiczne DNS w domenach Google

  1. Zaloguj się do domen Google.
  2. Wybierz nazwę swojej domeny.
  3. Wybierz „DNS” po lewej stronie ekranu. Domyślne serwery nazw musi być aktywne, bo to nie zadziała.
  4. Kliknij Pokaż zaawansowane ustawienia.
  5. Kliknij Zarządzaj dynamicznym DNS I Utwórz nowy rekord.
  6. Przypisz dynamiczny adres IP, wprowadzając nazwę domeny subdomeny lub root.
  7. Kliknij Ratować.

Kiedy dojdziesz do kroku 4 „Ustawienie dynamicznego rekordu syntetycznego”, jeśli chcesz dodać wiele pod-domen, jest to pierwsza zmiana, którą należy wprowadzić. Ponieważ czasami mogę podzielić się dostępem do gotowego produktu czegoś, co dodaje „@” („domena root” lub „nagą domenę”) to droga. Jeśli nie, dodaj wybraną subdomenę.

Syntetyczny rekord Google dla DNS

Coś, co uważałem za to, że zawsze mogę przekazać unikalną subdomenę, jak strony Github, w razie potrzeby do późniejszego. Na moim serwerze WWW moje pliki konfiguracyjne kontrolują kierunek żądania. Więc ruch ruchu w miejscu domeny głównej jest dla mnie najbardziej sensowny.

Google Custom Resource Records dla DNS

Wypełnij resztę kroków w instrukcjach.

Krok 2: konfiguracja ddclient

System nazwy Dynamic Domena to usługa, która automatycznie aktualizuje adres IP powiązany z nazwą domeny, co może być przydatne do uzyskania dostępu do witryny, która korzysta z dynamicznego adresu IP (e.G., dla usług hostingowych) w Internecie. Ta usługa może być świadczona przez DDClient, czyli oprogramowanie, które aktualizuje rekordy komputerowe nazw domen w celu odzwierciedlenia zmian w ich adresach IP.

Nie mogłem sprawić, by DDClient działał poprawnie za pomocą wbudowanej obsługi Domeny Google, więc zdecydowałem się na instrukcje bez wsparcia Domeny Google.

# Konfiguracja plik Do ddclient wygenerowane przez Debconf # # /itp/ddclient.conf Demon=300 protokół=dyndns2 używać=sieć serwer=domeny.Google.com SSL=Tak Zaloguj sie=Wygenerowane_username hasło=„Generated_Password” # Widzieć  Notatka poniżej @.Twoja domena.tld 

Przetestuj swoją konfigurację:

Uwaga: Jeśli masz tutaj problemy, być może będziesz musiał usunąć pojedyncze cytaty

sudo ddclient -daemon = 0 -Debug -verbose -Noquiet

Ukończyłeś konfigurację poprawnie, jeśli dane wyjściowe kończy się „sukcesem” – wyjście powinno być podobne do:

POWODZENIE: @.Twoja domena.com: pominięty: adres IP został już ustawiony na 12.80.274.74.

Następnie upewniłem się, że adresy URL się rozprzestrzeniły. Gdy główny adres URL się powiedzie (również sprawdź www.Twoja domena.com) Następnie sprawdziłem z losowymi pod-domenami z i bez WWW wcześniej ustalonymi. Po tym, jak czułem się dobrze z powodu wyników, przeszedłem do następnego kroku.

Krok 3: Skonfiguruj swój serwer WWW

Domena, którą wybrałem, kończy się na stronie, więc musiałem mieć bezpieczne połączenie, aby moje adresy URL działały prawidłowo. Nie powiem ci, jak długo zajęło mi to rozgryźć, ale dlatego te kroki są następne ;-). Z użyciem domyślnego .Plik CONF Byłem gotowy do rozpoczęcia.

Powtórz ten proces z każdą witryną/domeną, którą konfigurujesz, aby użyć z dynamicznym DNS.

Skopiuj czyste plik CONF:

Sudo CP 000-default.conf domain_name.conf

Dostosuj plik, aby służyć domenie, którą będzie obsługiwać:

 *: 80> Serveradmin [email protected] Servername Sub-Domenain.Twoja domena.com serveralias www.subdomina.Twoja domena.com dokumentroot/var/www/sub_domain ErrorLog $Apache_log_dir>/błąd.Log CustomLog $Apache_log_dir>/dostęp.Log łącznie 

Jeśli potrzebujesz przekierowania

Wspomniałem o moim serwerze komiksowym i oczywiście musiałem uzyskać do niego dostęp do mojej nowej struktury domeny. Oto przykład tego, jak dodałem wirtualny host na moim serwerze, aby to urzeczywistnić.

 *: 80> Serveradmin [email protected] Servername Sub-Domenain.Twoja domena.com serveralias www.subdomina.Twoja domena.com dokumentroot/var/www/sub_domain ErrorLog $Apache_log_dir>/błąd.Log CustomLog $Apache_log_dir>/dostęp.Log łącznie  /> Proxypass http: // 192.168.1.76: 2202/proxypassreverse http: // 192.168.1.76: 2022/  /Admin> Proxypass http: // 192.168.1.76: 2203/admin Proxypassreverse http: // 192.168.1.76: 2203/administrator  

Aktywuj witrynę do użycia:

sudo a2ensite domain_conf.conf

Wygeneruj certyfikat SSL za pomocą certbot – opcjonalny, a nie opcjonalny

Polecam przekierowanie wszystkich połączeń do bezpiecznego połączenia.

sudo certbot –apache -d NextCloud..com -d www.NextCloud.Twoja domena.com

Twój .plik CONF będzie wyglądał jak następujące i utworzy bezpieczne połączenie .Plik CONF automatycznie.

 *: 80> Serveradmin [email protected] Servername Sub-Domenain.Twoja domena.com serveralias www.subdomina.Twoja domena.com dokumentroot/var/www/sub_domain ErrorLog $Apache_log_dir>/błąd.Log CustomLog $Apache_log_dir>/dostęp.Log Combined RewriteEngine na przepisu % = subdomina.Twoja domena.com [lub] rewriteCond % = www.subdomina.Twoja domena.com rewriterule ^ https: // %% [end, ne, r = stały] 

To wszystko, otwórz przeglądarkę i przejdź do pożądanego adresu URL, a zobaczysz witrynę, której szukasz. Daj nam znać, jeśli wypróbowałeś to i jeśli to działa dla Ciebie.

Cansin Acarer

Jak używać DDClient do aktualizacji dynamicznych ustawień DNS w domenach Google

Jeśli uruchamiasz serwer WWW, VPN lub dowolne inne urządzenie w domu, do którego chcesz uzyskać dostęp przez Internet za pomocą nazwy domeny lub subdomeny, potrzebujesz statycznego adresu IP (którego wielu dostawców usług internetowych nie podaje lub pobiera dodatkowo), albo potrzebujesz dynamicznej konfiguracji DNS, która zmienia rekordy DNS za każdym razem, gdy Twój adres IP zmienia adres IP. Domeny Google oferuje tę usługę za darmo i bez żadnych ciąży, jak NOIP’S Wymóg potwierdzenia co 30 dni.

1. Zidentyfikuj interfejs sieciowy

Będziemy musieli znać nazwę interfejsu sieciowego, którego użyje DdClient, więc uruchom następujące polecenie:

sudo lshw

Poszukaj następujących wierszy, które zaczynają się od *-Network w wyjściu i zwróć uwagę na nazwę logiczną interfejsu sieciowego, którego używasz. To byłby ETH0 dla poniższego przypadku, ponieważ to urządzenie zostało podłączone przez Ethernet.

[[[. ] *-Network: 0 Wyłączony Opis: Interfejs bezprzewodowy Identyfikator fizyczny: 1 nazwa logiczna: WLAN0 [. ] *-Network: 1 Opis: interfejs Ethernet Identyfikator fizyczny: 2 nazwa logiczna: ETH0 [. ]

2. Uzyskaj poświadczenia DNS z domen Google

Zaloguj się do domen Google, wybierz domenę, którą chcesz wskazać na ten serwer i otwórz rekordy DNS, klikając DNS. Kliknij Pokaż zaawansowane ustawienia na dole strony Zarządzaj dynamicznym DNS i stwórz nowy rekord, tak jak w przypadku innych rekordów. Wreszcie kliknij Zobacz dynamiczne poświadczenia DNS Następnie Pogląd i zwróć uwagę na poświadczenia.

3. Instaluj i kofigura

Zainstaluj go (możesz pominąć pytania podczas instalacji, uderzając Enter):

apt Zainstaluj ddclient 

Edytuj konfigurację z:

sudo nano /etc /ddclient.conf

Powinien wyglądać podobnie do tego, ale z twoimi poświadczeniami DNS, które uzyskaliśmy wcześniej, a domena byłaby zależna od tego, co ustawiłeś w sekcji Dyns DNS.

Protocol = Dyndns2 Use = Web Server = domeny.Google.com ssl = tak login = GooglednsUsername hasło = GooglednSpassword Yourdomina.com

Jeśli chcesz zaktualizować wiele rekordów DNS, po prostu powtórz te kroki i dołącz konfigurację w DdClient.plik CONF.

4. Testowanie

Poniższa sekwencja aktualizacji:

sudo ddclient -daemon = 0 -Debug -verbose -Noquiet 

Jeśli zobaczysz linię pod koniec wyjścia pokazująca, że ​​Google odpowiedział Dobry i twój adres IP, działa.

Otrzymaj: dobry twój 

Przetestuj dwukrotnie sprawdzanie, możesz wskazać swoje DNS na fałszywy adres IP, przechodząc do następującego adresu URL ze swoimi szczegółami:

https: // nazwa użytkownika: hasł[email protected]/NIC/aktualizacja?nazwa hosta = subdomena.Twoja domena.com & myip = 1.2.3.4 

Jeśli ponownie uruchomisz demon ddclient, porówna jego adres IP z adresem, który buforował (nie z tym, który zmieniliśmy za pomocą powyższego żądania GET); Dlatego pomyślą, że jego adres IP’T zmieniło się. Musisz więc usunąć jego pamięć podręczną, a następnie uruchomić sekwencję aktualizacji jak poniżej.

sudo rm -f/var/cache/ddclient/ddclient.Pamięć podręczna

Dalsze odniesienie

Zobacz artykuł pomocy w Google DNS, aby uzyskać inne odpowiedzi.

Czy Google oferuje dynamiczne DNS

Reddit i jego partnerzy używają plików cookie i podobnych technologii, aby zapewnić lepsze wrażenia.

Akceptując wszystkie pliki cookie, zgadzasz się na korzystanie z plików cookie w celu dostarczania i utrzymywania naszych usług i witryny, poprawy jakości Reddit, personalizowanie treści i reklam Reddit oraz mierz skuteczność reklamy.

Odrzucając nieistotne pliki cookie, Reddit może nadal używać niektórych plików cookie, aby zapewnić właściwą funkcjonalność naszej platformy.

Aby uzyskać więcej informacji, zapoznaj się z naszym powiadomieniem o plikach cookie i naszej polityki prywatności .

Pobierz aplikację Reddit

Zeskanuj ten kod QR, aby pobrać aplikację teraz

Lub sprawdź to w App Stores

Witamy w swoim przyjaznym /r /homeelab, gdzie technicy i sysadmin z wszędzie zapraszamy do dzielenia się swoimi laboratoriami, projektami, kompilacjami itp.

Członkowie online

przez Sparkfist

Tańsze dynamiczne rozwiązanie DNS: Google Dynamic DNS

Zamiast płacić 25–35 USD za ulepszoną usługę dynamiczną DNS za pośrednictwem niektórych miejsc, takich jak Dyndns lub NOIP, zamiast tego użyj domen Google. Płacę już za moją domenę 12 USD/rok, które pozwalają na bezpłatne dynamiczne DNS z znacznie lepszymi wyborami nazwy domeny i nieograniczonymi subdomenami.

https: // wsparcie.Google.com/domeny/odpowiedź/6147083?

Możesz także użyć DDClient, aby łatwo zautomatyzować aktualizację adresu IP, który jest opisany w linku z Google.

Jako bonus boczny Konfigurowanie wiadomości e -mail bezpłatne przekazanie z kartą Wildcard *@Yourdomain.com lub [email protected] Przekaż do istniejącego konta Gmail jest również całkiem fajne. Używam go podobnie jak [email protected], ale zamiast tego zrób witrynę@myDomain.com, ponieważ niektóre miejsca zamykają blok gmaila lub blokuje + w e -mailu. Pomaga kontrolować, skąd pochodzi spam.

::edytować:: Zostawiam wiadomość e -mail z Google, ponieważ dobrze Gmaila, ale zmieniłem DNS na bezpłatny poziom Cloudfares. Nie żałuje do tej pory, a migracja miała miejsce w ciągu zaledwie kilku minut. Dzięki U/Okrumm za sugestię. Nadal mają kilka załamań do wypracowania, ponieważ Cloudfare nie będzie działać z mod_proxy, ponieważ nie szanuje przekierowania. Chyba że nie zaprojektuję wartość dodaną Cloudfare. Szkoda, że ​​widziałem pewną wartość w ich łagodzeniu zagrożeń i rejestrowaniu, aby było to warte zachodu.

Aktualizowanie Dynamicznych DNS Domin Google z PowerShell

Ostatnio ja’Pracowałem nad budowaniem mojego domowego laboratorium, aby bawić się rzeczami, które ja’D nigdy nawet nie myśl o założeniu i próbowaniu w naszym środowisku programistycznym w pracy. To’S był świetny; I’Skonfiguruj lokalne kontrolery domeny, z którymi można zadzierać do testowania skryptów, zbudowane serwery Linux w celu testowania replikacji na serwerach SQL i innych relacyjnych produktach baz danych, a nawet skonfigurowanie routingu i zdalnego dostępu, aby zdystansować VPN w mojej sieci domowej do przechowywania i pobierania kodu I I’Pracowałem nad nim, a nawet wykorzystywał go, aby pokazać dowód projektów koncepcyjnych innym ludziom. To’S niesamowicie fajnie i ja’wiele się nauczył.

Kiedy zaczniesz mówić o robieniu takich rzeczy, jak domowe serwery VPN (lub dowolny serwer domowy w tym przypadku), prędzej czy później podbiegasz z ciernistym problemem: jak mogę się upewnić, że zawsze mogę połączyć się z moją siecią domową zdalnie? Dobra wiadomość: masz już adres IP!

Posiadanie (lub wiedząc), jaki jest Twój domowy adres IP, daje jednak dużą elastyczność, ponieważ jeśli go znasz, możesz zarejestrować nazwy domen i mieć ich wskazanie. Na przykład, niech’powiedzmy, że chciałem ujawnić serwer (nazwany “krasnolud”) w mojej sieci domowej do Internetu. Oprócz zmian w sieci i zaporze w mojej sieci’koniec s (otwieranie odpowiednich portów do przekazywania, umożliwianie zdalnego dostępu itp.) Potrzebuję również nazwy domeny i wpisu hosta, więc wiedział, jak rozwiązać. Wtedy mógłbym zarejestrować nazwę domeny, jak żeglarz.netto i mieć krasnolud.żeglarz.Rozwiązanie netto na mój domowy adres IP. To’jest o wiele łatwiejszy (i chłodniejszy) do zapamiętania niż adres IP. Ale aby to zrobić, musisz znać swój domowy adres IP, aby ustawić “A” Zapisz serwer nazw domeny.

Brzmi schludnie, prawda? Pocieranie jest tak, że jest to’prawdopodobnie ty’Zamierzam zapamiętać swój adres IP, a nawet jeśli zrobiłeś większość dostawców usług internetowych (dostawców usług internetowych), którzy oferują domowe łącze szerokopasmowe Don’t Zapewnij statyczny adres IP. Oznacza to, że jeśli kiedykolwiek będziesz musiał ponownie uruchomić swój modem, aw’T gwarantuje, że otrzyma ten sam adres. To’nie powiedzieć, że możesz’t mają statyczny adres IP, ale zwykle są częścią droższej oferty biznesowej, która prawdopodobnie nie jest’T Warto mieć koszty w twoim domu.

Dynamiczny DNS

Tam’S rozwiązanie: dynamiczne DNS. Dynamiczne DNS jest zdefiniowane jako usługa, która pozwala automatycznie aktualizować serwer nazw bez potrzeby ręcznej zmiany, zwykle po zmianie adresu IP (nawet bez wiedzy o tym się zmieniło). Proces zwykle działa w ten sposób:

  1. Zapiszesz się z usługą oferującą dynamiczną usługę DNS, taką jak Dyn lub Cloudflare.
  2. Instalujesz aplikację serwisową gdzieś w sieci, która monitoruje publiczne IP w celu uzyskania zmian, i łączy się z dostawcami i aktualizuje rekordy, aby automatycznie wskazać zaktualizowany adres IP.

To może zabrzmieć łatwo, ale tam’s kilka gotchas: jedno, niektóre usługi, takie jak dyn,’t za darmo. Cloudflare ma bezpłatne rozwiązanie, ale musisz użyć ich serwerów nazwisk dla swoich domen (które mogą być dla Ciebie wyłączające oferty). Po drugie, prawie wszystkie bezpłatnie dostępne narzędzia działające w sieci są oparte na Linux. Że samo w sobie nie’tak źle, jak się wydaje, nawet jeśli tak’T Znasz się z Linuksem, możesz je uruchomić dość szybko. Większy problem polega na tym, że jeśli Twoja sieć domowa jest głównie oparta na systemie Windows i nie masz’T mieć żaden zapasowy sprzęt, aby zbudować własny serwer Linux (lub nie don’T chcesz zwinąć maszyny wirtualne na komputerze domowym), a następnie możesz’T Użyj ich albo (Aktualizacja: Wygląda na to, że możesz je również współpracować z Perl na lokalnych maszyna’jeszcze to próbowałem).

Istnieje również trzecia opcja: niektóre nowsze routery domowe od dostawców, takich jak ASUS Provider Dynamic DNS Services w pakiecie z oprogramowaniem do routera. Więc jeśli masz własny router, może to być opcja.

Domeny Google

Być może zastanawiasz się, co to wszystko ma wspólnego z PowerShell, prawda? Niedawno zarejestrowałem kilka nowych nazw domen w domenach Google, głównie dlatego, że dają one naprawdę fajny interfejs internetowy do użycia, a ponieważ używam Google przez prawie wszystko inne w moim życiu, to po prostu miało sens (i nie zrobiłem tego’T nie potrzebuję lub chcę kolejnego konta online). Kiedy byłem tam ustanawianie płyt, aby przekierować je na mojego bloga, zauważyłem coś:

Pod “zapisy syntetyczne” Zauważyłem dynamiczną opcję DNS. Kliknąc trochę głębiej, dotarłem do strony pomocy dla płyt syntetycznych, a następnie dynamicznych DN, które można przeczytać tutaj. Tutaj’s TL; DR: Google oferuje tę usługę za darmo dla domen zarejestrowanych w ich usłudze i obsługują ten sam protokół dyndns2, co inni dynamiczni dostawcy DNS, więc te same aplikacje (Linux), które zainstalowałbyś dla innych usług, obowiązują tu również tutaj inne usługi.

Ale zanim zamknąłem okno, myśląc’D Buduj nowy VM Linux w moim domowym laboratorium, widziałem to:

A potem byłem naprawdę podekscytowany, ponieważ oznaczało to, że mogłem rzucić własne rozwiązanie, aby zaktualizować ich usługę dynamiczną DNS za pomocą PowerShell! Aby’S co zrobiłem.

Używanie PowerShell do aktualizacji dynamicznego rekordu DNS

Google’S Dynamic DNS API jest naprawdę mniej niż post HTTPS do określonego adresu URL z niektórymi parametrami zapakowanymi w słupku. To, co sprawia, że ​​działa, dotyczy każdej podanej nazwy hosta DNS DNS, otrzymujesz automatyczną nazwę użytkownika i hasło, które muszą być częścią postu. PowerShell jest naprawdę naturalnie dostosowany do tego rodzaju automatyzacji, dzięki Invoke-WebRequest (link MSDN). To’S zbudowany do tego, a nawet obsługuje HTTPS. Heck, obsługuje nawet implementację nazwy użytkownika: hasło na żądanie za pośrednictwem obiektu PSCredential.

Wszystko, co naprawdę musiałem zrobić, to owinąć kod w funkcji i dodać pewne parametry, które można przekazać, wywołać żądanie sieci i analizować wyniki. Tutaj’s fragment większej funkcji, o której wspomniałem powyżej:

[CmdletBinding (supportsshouldProcess = $ true)] param ([parametr (mandatory = $ true)] [PsCredential] $, [parametr (mandatory = $ true)] [String] $ DOMAINNAME, [parametr (mandeter = $ true)] [String] $ subdomeainname, [parametr (mandatory = $ false) (Obowiązkowe = $ false)] [przełącznik] $ online) Rozpocznij < $webRequestURI = "https://domains.google.com/nic/update" $params = @<>> proces < $splitDomain = $domainName.split(".") if ($splitDomain.Length -ne 2) < Throw "Please enter a valid top-level domain name (yourdomain.tld)" >$ subandDomain = $ subdomainName + ".&bdquo; + $ domainName $ splitDomain = $ subanddomain.podział(".") if ($ splitDomain.Długość -Ne 3) < Throw "Please enter a valid host and domain name (subdomain.yourdomain.tld)" >$ params.Dodaj (&bdquo;nazwa hosta&rdquo;, $ subandomain) if ($ ip -i !$ offline) < $ipValid = $true $splitIp = $ip.split(".") if ($splitIp.length -ne 4) < $ipValid = $false >Foreach ($ i in $ splitip) < if ([int] $i -lt 0 -or [int] $i -gt 255) < $ipValid = $false >> if (!$ ipvalid) < Throw "Please enter a valid IP address" >$ params. !$ online) < $params.Add("offline","yes") >Elseif ($ online -i !$ offline) < $params.Add("offline","no") >if ($ pscmdlet.Powinien proces (&bdquo;$ subandDomain&rdquo;, &bdquo;Dodawanie IP&rdquo;)) < $response = Invoke-WebRequest -uri $webRequestURI -Method Post -Body $params -Credential $credential $Result = $Response.Content $StatusCode = $Response.StatusCode if ($Result -like "good*") < $splitResult = $Result.split(" ") $newIp = $splitResult[1] Write-Verbose "IP successfully updated for $subAndDomain to $newIp." >if ($ result -podobny &bdquo;nochg*&rdquo;) < $splitResult = $Result.split(" ") $newIp = $splitResult[1] Write-Verbose "No change to IP for $subAndDomain (already set to $newIp)." >if ($ wynik -eq &bdquo;badauth&rdquo;) < Throw "The username/password you providede was not valid for the specified host." >if ($ wynik -eq &bdquo;nohost&rdquo;) < Throw "The hostname you provided does not exist, or dynamic DNS is not enabled." >if ($ wynik -eq &bdquo;notfqdn&rdquo;) < Throw "The supplied hostname is not a valid fully-qualified domain name." >if ($ result -eq &bdquo;Badagent&rdquo;) < Throw "You are making bad agent requests, or are making a request with IPV6 address (not supported)." >if ($ wynik -eq &bdquo;nadużycie&rdquo;) < Throw "Dynamic DNS access for the hostname has been blocked due to failure to interperet previous responses correctly." >if ($ wynik -eq &bdquo;911&rdquo;) < Throw "An error happened on Google's end; wait 5 minutes and try again." >> $ response>

I&rsquo;VE podkreśliło linie, które pokazują, w jaki sposób korpus postu HTTP otrzymuje parametry i gdzie składa się żądanie. Reszta kodu to sprawdzanie błędów, aby upewnić się, że ludzie wprowadzają prawidłowe wartości rzeczy, które Google będą oczekiwać (a także mają sprawdzanie błędów po swojej stronie, ale jeśli nadal rzucasz na nich złe żądania, Oni&rsquo;Oznacz swoje prośby i odrzuć je wszystkie. Tylko uczciwe ostrzeżenie, więc Don&rsquo;t Spam je złymi prośbami).

Użyj go sam!

Dzięki temu kodowi możesz ustawić teraz Native PowerShell, aby aktualizować dynamiczne DN Domeny Google! Wziąłem powyższy kod i utworzyłem moduł, nazywany Googledynamicdnstools. Ten moduł można znaleźć na moim github, a ja&rsquo;z dumą też mogę to ogłosić Udostępniłem go w Galerii PowerShell! Oznacza to, że możesz zainstalować moduł jeden z dwóch sposobów:

  1. Na maszynach z instalacją systemu Windows 10 (lub z Management Framework 5) możesz wykonać instalację -moduł -name GoogleDynamicdnstools (ty&rsquo;LL musi również uruchomić PowerShell jako administrator). .
  2. Jeśli nie masz&rsquo;T chcesz zainstalować moduł za pomocą galerii.

Przykładowy automatyzacja

Po uzyskaniu modułu możesz utworzyć zaplanowane zadanie do uruchamiania co godzinę i zaktualizować dynamiczny wpis DNS. Dla mojej konfiguracji napisałem .Plik skryptu PSD1 i zadeklarował niektóre zmienne, utworzył obiekt poświadczenia z zwykłego tekstu, a następnie wywołać moduł&rsquo;funkcja s, aby wysłać żądanie do Google. Tutaj&rsquo;s próbka:

Moduł importowy GoogleDynamicdnstools $ logDate = get-date $ logFileName = "GoogledNsupDateLog_" + $ logDate.Miesiąc + $ logDate.Dzień + $ logDate.Rok + &bdquo;_&rdquo; + $ logDate.Godzina + $ logDate.Minute + $ logDate.Drugi + ".txt "$ apiuserid =" myuniqueuserid "$ apipassword =" myuniquePassword "$ securePassword = ConvertTo -seCurestring -String $ apipassword -asplaintext -force $ credentent.Kierownictwo.Automatyzacja.PsCredential $ apiuserid, $ SecurePassword start -transcript -path (&bdquo;c: \ dnslogs \&rdquo; + $ logFileName) aktualizacja -goledynamicdns -Credential $ poświadczenie -DOMAINName &rdquo;BoatMurderder.net &bdquo;-subdomainname&rdquo; dwarf &rdquo;-verbose #Clean Up stare pliki dziennika get -childitem -path&rdquo; c: \ dnslogs &rdquo;| gdzie -object | resuse -Item -verbose Stop -Transcript

W powyższym skrypcie, ja&rsquo;M wykonanie kilku innych rzeczy poza główną funkcją. Po pierwsze, ja&rsquo;m Ręczne tworzenie obiektu PSCREDENTENCJA z wyraźną nazwą użytkownika i hasłem. To&rsquo;prawdopodobnie nie jest to najlepszy sposób na zrobienie tego, ale jest to szybki przykład. Do celów rejestrowania używam transskryptu startowego do przechwytywania wszystkich wyjściowych terminali i zapisywania nowego transkrypcji za każdym razem, gdy zadanie uruchomi się, aby móc przejrzeć dane wyjściowe w przypadku błędów, jeśli potrzebuję. Wreszcie, aby upewnić się, że nie&rsquo;t wypełnij mój dysk twardy plikami dziennika, ostatnia część skryptu wygląda w katalogu, w którym ja&rsquo;m Przechowywanie plików transkrypcji i czyści wszystko w wieku powyżej 30 dni.

Następnie stworzyłem zaplanowane zadanie w systemie Windows, aby zadzwonić do PowerShell.exe z parametrem równym nazwie skryptu i ustaw go na działanie co godzinę. W ten sposób, jeśli mój adres IP zmienia&rsquo;LL ma godzinę, aż skrypt uruchomi się i zaktualizuje mój wpis DNS.

To prawda, że ​​jeśli moja zasilanie się wychodzi, a mój komputer jest wyłączony, wszystkie zakłady są wyłączone (ale to&rsquo;s, po co są systemy UPS, prawda?)

Iść naprzód

Mam nadzieję, że tutaj kod i przykłady pomogą Ci skonfigurować coś tak przydatnego jak lekki aktualiza. Jednym z powodów, dla których stworzyłem to moduł, było ostatecznie dodanie większej liczby funkcji API Google DNS, ale czułem, że to całkiem niezły początek. Zapraszam do przejrzenia mojego kodu i wprowadzeniem zmian. I&rsquo;D uwielbiam otrzymać prośbę o ciągnięcie! I daj mi znać, co myślisz o module, jeśli złapiesz go również z Galerii PowerShell.