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