ダイナミックDNSの設定方法

ダイナミックDNSとは何ですか?

DNS設定の一般的な例を見てみましょう。ドメインはexample.comであり、およびの「A」レコードがserver1.example.comありserver2.example.comます。Server1はVultrでホストされていますが、server2はビジネスの内部や自宅の開発マシンなどのローカルネットワークでホストされています。通常、これらのタイプのローカル環境には、インターネットサービスプロバイダー(ISP)から動的に割り当てられるパブリックIPアドレスがあり、予期せず変更される可能性があります。これにより、server2が突然間違ったIPアドレスをポイントし、サービスに深刻な影響を与える可能性があります。この記事では、ローカルマシンで実行され、パブリックIPの変更後にVultr DNSのserver2のレコードを自動的に更新できる独自の動的DNSサービスを設定する方法を示します。

クライアントが好きなもののddclientおよびinadyn一部のDNSプロバイダーのために働くだろう、Vultrは現在、これらをサポートし、代わりに、独自のカスタムAPIを使用していません。このサービスはマシン上でローカルに実行され、GETおよびPOSTリクエストとアクセスキーを使用します。

前提条件

  • Vultrアカウントにアクセスして、DNSをセットアップし、アクセスキーを管理します。
  • 動的IPアドレスを持つローカルマシンに接続する機能(または同じネットワーク上の別のマシンにアクセスする機能)。

インストールとセットアップ

VultrのDNSサービスを使用するようにドメインを設定する

  • ドメインでVultrのDNSサービスを使用していない場合は、この記事に従ってネームサーバーを変更し、Vultrで使用できるようにします。
  • Vultr DNSがセットアップされたら、「サーバー-> DNS-> [ドメイン名]」の下のDNS管理ページに移動します。
  • ここには、ドメインに設定されたすべてのレコードが表示されます。後で必要になるので、変更するレコードを書き留めます。
    • Aこのユーティリティでは" "レコードのみがサポートされています。A同じIPアドレスに更新する複数の「」レコードがある場合は、それらを「CNAME」レコードに変更し、1つの「A」レコードを指すようにします。これにより、長期的には物事が簡素化され、DNSを構成する適切な方法と見なされます。

必要なツールのインストール

  • ローカルサーバーに接続します。これは直接またはSSHを介して行うことができます。
  • このツールにはPython 3が必要です。ほとんどのLinuxディストリビューションには、Pythonがプリインストールされています。ご使用の環境にインストールされていない場合の手順は、公式のPython wikiから入手できます。
  • このプロセスにはGitも必要です。Gitは以下の手順でインストールできます。

ダイナミックDNSクライアントのダウンロード

Gitを使用して、Python DDNSクライアントを含むリポジトリのクローンを作成します。これは、完全なアクセス権を持つ安全なディレクトリで行う必要があります。ホームフォルダーで十分です。次のコマンドを実行します。

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

個人用アクセストークンの生成

Vultrで個人用アクセストークンを生成します。これは、「アカウント-> API->パーソナルアクセストークン」で実行できます。同じページで、「アクセス制御」の下に移動し、「すべてのIPv4を許可」ボタンをクリックする必要があります。これは、ローカルサーバーのIPが常にわからないため、動的DNSのポイントがわからないためです。

サーバー用のツールの構成

  • config.json.example構成ファイルがどのように見えるかの例については、ファイルを一読してください。
  • config.jsonお好みのテキストエディターを使用してファイルを開き、特定のサーバー設定に基づいて値を入力します。
  • ファイルには次のものが含まれている必要があります。

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • フィールドにアクセストークンを入力しますapi_key

  • domainフィールドにベースドメインを入力します。たとえば、example.com
  • 次に、A変更する「」レコードをdynamic_recordsフィールドの下に入力します。前の例を使用して、を入力server2すると、server2のIPアドレスが自動的に変更されます。複数のサブドメインを入力できます。Aドメインの基本的な " "レコード(通常@、に移動したときに応答するレコードとして)を変更する場合は、example.com空の引用符をそのまま残します。
  • 適切な設定ファイルを使用すると、動的にIPを変更したい場合は、このようになりますexample.comserver2.example.com

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • これらの変更を保存すると、ファイルが正常に機能するはずです!

構成をテストする

  • を実行して、スクリプトと設定をテストしますpython3 ddns.py。これでエラーが返されない場合、構成は公称値であり、自動化プロセスを開始できます。

オートメーション

基本的なセットアップが完了したら、スクリプトはデフォルトでこれを実行しないため、定期的なタスクをセットアップすることが重要です。ローカルマシンに接続し、オペレーティングシステムに基づいて以下の手順に従います。

LinuxおよびMac OSX

LinuxおよびMacにはcronユーティリティがすでにインストールされており、設定したスケジュールで実行するスクリプトを指定できます。

  • ディレクトリ内にいるときにddns.pyを使用realpath ddns.pyして、ファイルの完全パスを見つけますvultrddns
  • 実行crontab -eしてcrontabを編集します。
  • 次の行をファイルの最後に追加し、ddns.pyファイルへの実際のパスを追加します。

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • これにより、スクリプトが30分ごとに実行され、すべての出力がにリダイレクトされ/dev/nullます。

  • 保存してテキストエディタを終了します。crontabファイルが自動的にインストールされ、IPが自動的に更新されます。

ウィンドウズ

タスクスケジューラでタスクを作成し、30分ごとに実行します。基本的なタスクの作成については、Microsoftのガイドに従ってください。

  • タスクスケジューラを開き、[タスクの作成...]をクリックします。
  • 名前を付けて、新しいトリガーを作成します。
  • 「毎日」をクリックします。[詳細設定]で30分ごとにタスクを繰り返してクリックし、[期間]を[無期限]に変更します。
  • 新しいアクションを追加してプログラムを開始し、Python実行可能ファイルを参照します。ddns.pyスクリプトを引数として追加します。


Leave a Comment

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

UbuntuでのZNCのインストールとセットアップ

UbuntuでのZNCのインストールとセットアップ

ZNCは、IRCクライアントがチャットセッションを失うことなく切断または再接続できるように、常に接続されたままの高度なIRCネットワークバウンサーです。

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Windows Server 2012でVPNをセットアップする

Windows Server 2012でVPNをセットアップする

Windows ServerでのVPNのセットアップは比較的簡単です。VPNを使用すると、VPNに接続されている他のコンピュータと通信できます。thに接続することもできます

Ubuntu 16.04へのBro IDSのインストール

Ubuntu 16.04へのBro IDSのインストール

別のシステムを使用していますか?はじめにBroは強力なオープンソースのネットワーク分析フレームワークです。Brosの主な焦点は、ネットワークセキュリティの監視です。Br

UbuntuでのDHCPサーバーの設定

UbuntuでのDHCPサーバーの設定

DHCPを使用して、ローカルIPアドレスをクライアントコンピューターに動的に提供できます。これにより、すべてのコンピューティングに静的IPアドレスを設定する必要がなくなります

Tcpdumpの概要

Tcpdumpの概要

サーバーを実行すると、間違いなく、ネットワーク関連の問題を特定する必要があるポイントに到達します。もちろん、撮影するだけでも簡単です

WindowsクライアントのActive Directoryドメインへの参加

WindowsクライアントのActive Directoryドメインへの参加

Active Directoryサーバーをセットアップしたら、Active Directoryドメインに参加する準備が整います。これは、bになるWindowsクライアントで実行できます。

DHCPがresolv.confを変更しないようにする

DHCPがresolv.confを変更しないようにする

DHCPユーザーの場合、/ etc / resolv.confを編集して他のネームサーバーを使用する必要がある場合があります。その後、一定期間後(またはシステムの再起動後)

Debian VPSへのOpenVPNのインストール

Debian VPSへのOpenVPNのインストール

OpenVPNプロトコルの紹介OpenVPNは、セキュリティを作成するための仮想プライベートネットワーク(VPN)技術を実装するオープンソースソフトウェアアプリケーションです。

BGPアナウンスの承認レターの例

BGPアナウンスの承認レターの例

BGPアナウンスの承認を要求する場合は、次のテンプレートを使用してください。承認書[日付]関係者、ティ

Windows Server 2012でDNSサーバーをセットアップする

Windows Server 2012でDNSサーバーをセットアップする

Windows Server 2012はDNSサーバーとして構成できます。DNSは、ドメイン名をIPアドレスに解決するために使用されます。独自のDNSサーバーをホストすることで、

Ubuntu 14にMailCatcherをインストールする

Ubuntu 14にMailCatcherをインストールする

はじめにMailCatcherは、アプリケーションが送信するのを待たずに送信する電子メールを開発者が簡単に検査できるツールです。

VultrクラウドサーバーへのpfSenseのインストール

VultrクラウドサーバーへのpfSenseのインストール

pfSenseは、ネットワークに幅広い機能を追加したいと考えているシステム管理者にとって理想的なツールです。それは主にオープンソースです

FreeBSD 10でDHCPからresolv.confを保護する

FreeBSD 10でDHCPからresolv.confを保護する

独自のリゾルバを実行している場合、またはサードパーティプロバイダのリゾルバを使用したい場合、/ etc / resolv.confファイルがDHCPによって上書きされていることに気付く場合があります

LinuxでIPTablesを使用して同時接続を防ぐ方法

LinuxでIPTablesを使用して同時接続を防ぐ方法

iptablesは、CentOSやUbuntuを含む多くのディストリビューションで見られるファイアウォールソフトウェアです。このドキュメントでは、同意をどのように防ぐことができるかを説明します

Ubuntuでホスト名を変更する

Ubuntuでホスト名を変更する

このチュートリアルでは、必要なホスト名はplutoであると想定します。Ubuntu 12.04(Precise Pangolin)の場合SSHターミナルで、次のように入力します。hostname pluto Usin

AS20473 BGPカスタマーガイド

AS20473 BGPカスタマーガイド

AS20473は、次のように学習または発信されたプレフィックスをタグ付けします。

Vultrロードバランサー

Vultrロードバランサー

ロードバランサーとはロードバランサーはアプリケーションの前にあり、着信トラフィックをアプリケーションの複数のインスタンスに分散します。Fo

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、