私のサーバーは、動的DNSプロバイダに通知するためにIP変更をどのように検出しますか?

私のサーバーは、動的DNSプロバイダに通知するためにIP変更をどのように検出しますか?

Ubuntuサーバーを設定すると、動的IPがあります。 DNSサーバーを最新の状態に保つ方法を探しています。私はEntrydnsを使用してこれを行い、サーバーを更新するために次のコマンドを提供します。

curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN

私にとって必要なのは、DNSサーバーを更新できるようにIPが変更されていることを確認する方法です。

答え1

ネットワーク構成が変更されたときにトリガーされるスクリプトを作成し、そのスクリプトに無条件にDNSを更新させることをお勧めします。ネットワーク管理者を使用している場合は、次のスクリプトを入力できます/etc/NetworkManager/dispatcher.dネットワーク管理者(8)もっと学ぶ。

ネットワーク管理者を使用していない場合は、/etc/dhcp/dhclient-enter-hooks.dこれがより適切である可能性があります。

それでは何も投票する必要はありません。

答え2

次の操作が実行されます。

#!/bin/bash

# "${0%.sh}.myip" transforms /path/to/script.sh to /path/to/script.myip
if [[ ! -s "${0%.sh}.myip" ]]; then echo "0.0.0.0" > "${0%.sh}.myip"

newip=$(curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN)

read oldip < "${0%.sh}.myip"
echo $newip > "${0%.sh}.myip"

if [[ $newip != $oldip]]; echo "IP changed"; fi

答え3

IPアップデートの短い遅延に耐えることができ、Entrydns.netで履歴を更新する頻度に制限がない場合は、より簡単な方法があります。

このコマンドがEntrydns.netを更新するためのものである場合は、それをcrontabに入れて設定された間隔で実行するように設定します。

curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN

関連情報