スクリプトを使用して、自分のいずれかのドメインのサブドメインのAレコードを自動的に更新することにより、独自の動的DNSサービスをセットアップしました。
動的IPアドレスを持つホストは、特に、リモートで5分間隔で読み取っているMuninノードを実行します。
残念ながら、私のドメイン名登録事業者はTTL値が3600未満の場合は許可しないため、リモートMuninノードのIPは1時間キャッシュされ、最大でノードの動的IPが変更されるたびに1時間と述べた。
レジストラのDNSサーバーによって報告されたTTL=を上書きして、Muninノードに接続するたびにサーバーがIPを解決するようにする方法はありますか?
使用しているダイナミックDNSサービスが3600のTTLしか許可しない場合、唯一の選択肢はプロバイダーを切り替えることです。 TTLを制御する方法は、DDNSサービスプロバイダーが制御するオプションを提供しない限り、実際にはありません。
ちなみに、特定のエントリのTTLが何であるかを確認するには、次のスイッチでDig
を使用できます。
$ Dig +nocmd www.google.com +noall +answer | tail -1
www.google.com. 137 IN A 74.125.225.82
$ Dig +nocmd www.google.com +noall +answer | tail -1
www.google.com. 135 IN A 74.125.225.115
したがって、TTLは137秒です。〜2秒待ってから再度実行すると、135秒と表示されます。TTLは、 DNSエントリの有効期限が切れ、ドメインの権限のあるサーバーにクエリを送信する必要があります。
権限のあるサーバーにクエリを実行する場合。
$ Dig @ns1.google.com +nocmd www.google.com +noall +answer | tail -1
www.google.com. 300 IN A 74.125.225.210
したがって、このエントリの実際のTTLは300秒です。
注:権限のあるサーバーは SOA-Start of Authority とも呼ばれます。
ドメインにさらにSOA情報を問い合わせることができます。
$ Dig +nocmd dyndns.org any +multiline +noall +answer
dyndns.org. 596 IN SOA ns1.dyndns.org. hostmaster.dyndns.org. (
863998266 ; serial
600 ; refresh (10 minutes)
300 ; retry (5 minutes)
604800 ; expire (1 week)
600 ; minimum (10 minutes)
)
dyndns.org. 85904 IN NS ns5.dyndns.org.
dyndns.org. 85904 IN NS ns1.dyndns.org.
dyndns.org. 85904 IN NS ns2.dyndns.org.
dyndns.org. 85904 IN NS ns3.dyndns.org.
dyndns.org. 85904 IN NS ns4.dyndns.org.
dyndns.org. 12268 IN MX 10 mail.dyndns.com.
dyndns.org. 12268 IN MX 20 mx2.mailhop.org.
dyndns.org. 179 IN A 204.13.248.116
DNSエントリのTTL(レジストラが提供するある種のAPI以外の)を変更する)唯一の方法は、サーバーを使用することです。
Bind 内で、ゾーンファイルを次のように設定できます。
;Zone file for liquidweb.com
$TTL 14400
@ 86400 IN SOA ns.liquidweb.com. admin.liquidweb.com. (
2009022402 ; serial, todays date+todays
86400 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
liquidweb.com. 86400 IN NS ns.liquidweb.com.
liquidweb.com. 86400 IN NS ns1.liquidweb.com.
liquidweb.com. IN A 209.59.139.21
localhost IN A 127.0.0.1
liquidweb.com. IN MX 0 liquidweb.com.
mail IN CNAME liquidweb.com.
www IN CNAME liquidweb.com.
ftp IN A 209.59.139.21
cpanel IN A 209.59.139.21
webmail IN A 209.59.139.21
上記のマクロ、$ TTLは、特定のエントリに対してオーバーライドされない限り、すべてのエントリに対してTTLを14400秒に設定します。
Muninホストを外部ドメインの CNAME
として作成できるので、munin名のみが動的DNSホストを使用します。
munin.yourdomain.com. CNAME somedynamic.dyndns.org.
したがって、ルックアップは実際にsomedynamic.dyndns.org
は動的TTLが低く、残りのyourdomain.com
はDNSに残ります。
DNSを更新できない場合は、DynDNS.orgなどの別のDNSを使用して、標準の更新スクリプトを使用できます。