Jak skonfigurować dynamiczny DNS

Co to jest Dynamic DNS?

Weźmy wspólny przykład konfiguracji DNS. Twoja domena jest example.com, a Ty masz Arekordy dla server1.example.comi server2.example.com. Serwer 1 jest hostowany w Vultr, ale serwer 2 jest hostowany w sieci lokalnej, np. W firmie lub jako maszyna programistyczna w domu. Zazwyczaj tego typu środowiska lokalne mają publiczne adresy IP przydzielane dynamicznie przez dostawcę usług internetowych (ISP) i mogą się nieoczekiwanie zmieniać. Spowoduje to, że serwer2 nagle wskaże niewłaściwy adres IP, co może poważnie wpłynąć na obsługę. W tym artykule dowiesz się, jak skonfigurować własną dynamiczną usługę DNS, która działa na komputerze lokalnym i może automatycznie aktualizować rekord dla server2 w Vultr DNS automatycznie po publicznej zmianie adresu IP.

Chociaż klienci lubią ddclienti inadynbędą działać dla niektórych dostawców DNS, Vultr obecnie ich nie obsługuje i zamiast tego używa własnego niestandardowego interfejsu API. Ta usługa będzie działać lokalnie na twoim komputerze i będzie używać żądań GET i POST wraz z twoim kluczem dostępu.

Wymagania wstępne

  • Dostęp do konta Vultr, aby skonfigurować DNS i zarządzać kluczami dostępu.
  • Możliwość połączenia z komputerem lokalnym, który ma dynamiczny adres IP (lub dostęp do innego komputera w tej samej sieci).

Instalacja i konfiguracja

Konfigurowanie domeny do korzystania z usługi DNS Vultr

  • Jeśli nie korzystasz z usługi DNS Vultr w swojej domenie, postępuj zgodnie z tym artykułem, aby zmodyfikować serwery nazw do użytku z Vultr.
  • Po skonfigurowaniu Vultr DNS przejdź do strony zarządzania DNS w sekcji „Serwery -> DNS -> [nazwa Twojej domeny]”.
  • Tutaj znajdziesz wszystkie rekordy skonfigurowane dla Twojej domeny. Zapisz, które rekordy chcesz zmienić, ponieważ będą one potrzebne później.
    • ATo narzędzie obsługuje tylko rekordy „ ”. Jeśli masz wiele Arekordów, które chcesz zaktualizować, na ten sam adres IP, zmień je na CNAMErekordy i wskaż jeden A. Uprości to na dłuższą metę i jest uważane za właściwy sposób konfiguracji DNS.

Instalowanie wymaganych narzędzi

  • Połącz się z lokalnym serwerem. Może to być bezpośrednio lub za pośrednictwem SSH.
  • To narzędzie wymaga języka Python 3. Większość dystrybucji systemu Linux zawiera wstępnie zainstalowany język Python. Jeśli nie jest on zainstalowany w twoim środowisku, instrukcje są dostępne na oficjalnej wiki Pythona tutaj:
  • Ten proces wymaga również Gita, który możesz zainstalować zgodnie z poniższymi instrukcjami:

Pobieranie klienta Dynamic DNS

Użyj Git, aby sklonować repozytorium zawierające klienta DDNS w języku python. Powinieneś to zrobić w bezpiecznym katalogu, do którego masz pełny dostęp. Twój folder domowy powinien wystarczyć. Uruchom następujące polecenie:

git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns

Generowanie osobistego tokena dostępu

Wygeneruj osobisty token dostępu w Vultr. Można to zrobić w „Konto -> API -> Osobisty token dostępu”. Na tej samej stronie musisz przejść do „Kontroli dostępu” i kliknąć przycisk „Zezwól na wszystkie IPv4”, ponieważ za każdym razem nie poznasz adresu IP twojego lokalnego serwera, stąd punkt dynamicznego DNS.

Konfigurowanie narzędzia dla twojego serwera

  • Przeczytaj config.json.exampleplik, aby zobaczyć przykładowy plik konfiguracyjny.
  • Otwórz config.jsonplik za pomocą ulubionego edytora tekstu i wypełnij wartości w zależności od konfiguracji serwera.
  • Plik powinien zawierać następujące elementy:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • Wprowadź swój token dostępu w polu api_key.

  • Wprowadź swoją domenę podstawową w domainpolu. Na przykład example.com.
  • Teraz wpisz w polu Arekordy, które chcesz zmienić dynamic_records. W poprzednim przykładzie wprowadzono server2by automatyczną zmianę server2adresu IP. Możesz wprowadzić wiele subdomen. Jeśli chcesz zmienić podstawowy Arekord dla swojej domeny (zwykle określany jako @rekord, który reaguje, gdy nawigujesz prosto do example.com), po prostu zostaw puste cudzysłowy.
  • Właściwy plik konfiguracyjny może wyglądać tak, w którym chcesz dynamicznie zmienić adres IP dla example.comi server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • Teraz zapisz te zmiany, a plik powinien być gotowy do pracy!

Sprawdź swoją konfigurację

  • Przetestuj skrypt i konfigurację, uruchamiając python3 ddns.py. Jeśli to nie zwróci żadnych błędów, twoja konfiguracja jest nominalna i możesz rozpocząć proces automatyzacji.

Automatyzacja

Po zakończeniu podstawowej konfiguracji ważne jest skonfigurowanie zadania cyklicznego, ponieważ skrypt domyślnie tego nie robi. Połącz się z komputerem lokalnym i wykonaj poniższe czynności w zależności od systemu operacyjnego.

Linux i Mac OSX

Linux i Mac mają cronjuż zainstalowane narzędzie, które pozwala określić skrypty uruchamiane zgodnie z ustalonymi harmonogramami.

  • Znajdź pełną ścieżkę do ddns.pypliku przy użyciu, realpath ddns.pygdy jesteś jeszcze w vultrddnskatalogu.
  • Uruchom, crontab -eaby edytować crontab.
  • Dodaj następujący wiersz na końcu pliku, dodając prawdziwą ścieżkę do ddns.pypliku:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • Spowoduje to uruchomienie skryptu co 30 minut i przekierowanie wszystkich danych wyjściowych do /dev/null.

  • Zapisz i wyjdź z edytora tekstu. Plik crontab zostanie automatycznie zainstalowany, a twój adres IP zostanie teraz automatycznie zaktualizowany.

Windows

Utwórz zadanie w Harmonogramie zadań, aby uruchamiało się co 30 minut. Postępuj zgodnie z instrukcjami firmy Microsoft dotyczącymi tworzenia podstawowych zadań.

  • Otwórz Harmonogram zadań i kliknij „Utwórz zadanie ...”.
  • Nadaj mu nazwę i stwórz nowy wyzwalacz.
  • Kliknij „Codziennie”. W „Ustawieniach zaawansowanych” kliknij, aby powtarzać zadanie co 30 minut i zmień „na czas trwania” na „na czas nieokreślony”.
  • Dodaj nową akcję, aby uruchomić program i przejdź do pliku wykonywalnego Python. Dodaj ddns.pyskrypt jako argument.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.