IPv6、miredo、ダイナミックDNS AAAA





奇妙なものが欲しかったので、IPv6対応(miredo)ホストにも動的に更新されるDNSレコードがありました。 質問を検討した結果、多くの一般的なdyndnsサービスは、AAAAを登録する機能を提供していない(IPv6はIPv4のAタイプレコードに相当する)か、無料で提供していないか、不明なレベルのセキュリティ(またはhttp /プレーンテキスト)を動的に更新するための泥だらけの設定を持っていることがわかりました。 12個のサービスを試し、 freedns.afraid.orgにとどまることにしました

長所:

機能のうち、AAAAを更新するための1行のスクリプトを自分で作成する必要がありました。 これが判明しました:



cat /etc/cron.d/freedns-watcher
      
      





 PATH=/sbin:/usr/sbin:/bin:/usr/bin * * * * * root ipv6=$(ip a |grep -s -i -o '2001\:[a-f0-9\.:]*') && [ "$(nslookup -query=AAAA myhost.mooo.com ns1.afraid.org |grep -s -i -o '2001\:[a-f0-9\.:]*')" != "$ipv6" ] && curl -m 30 https://freedns.afraid.org/dynamic/update.php?bnJxM3kxMHRHF1p4B0NmSXJDfEFLc0NJOjEzMTEyNjv\&address=$ipv6 2>/dev/null |grep Updated && date >> /var/log/freedns.log &> /dev/null
      
      





スクリプトは単一行ですが、少し長いことが判明したため、次の理由についてコメントします。



 * * * * *
      
      



5つ星-cronの情報「毎分実行」



 root
      
      



実行するアカウントを自分で決める



 ipv6=$(ip a |grep -s -i -o '2001\:[a-f0-9\.:]*')
      
      



エキゾーストからip teredo-addressを取得します。これは次のように機能します。
 ip a |grep -s -i -o '2001\:[a-f0-9\.:]*' 2001:0:52ab:53b:2ab4:555e:23d0:1dc9
      
      



アドレスが見つかった場合、$ ipv6変数に入れます。見つからない場合、割り当ては失敗し、AAAAレコードを更新するためのさらなる努力は行われません(結局、teredoアドレスがない典型的な理由はインターネットへの接続(IPv4)であり、実際には更新するものはありません) )



 [ "$(nslookup -query=AAAA myhost.mooo.com ns1.afraid.org |grep -s -i -o '2001\:[a-f0-9\.:]*')" != "$ipv6" ]
      
      



サーバーns1.afraid.orgに「私のAAAAの現在のIPアドレスは何ですか?」という主題についてインタビューし、現在miredoが設定しているものと比較します。 一致する場合、何もする必要はありません。スクリプトは中断されます。 システムの代わりにDNSサーバーが表示されるのはなぜですか? レコードの変更についてスクリプトに通知する際の遅延を最小限に抑えるため。 他のDNSサーバーでは、変更に長い遅延が生じます。 指定されたURLを1分ごとにチェックする以外に何もチェックすることはできませんが、私の意見ではこれは無礼です。 一方、AAAAに関するDNSクエリの送信は、いくつかの点でおかしいので、スクリプトのこの部分はオプションと見なすことができます。



 curl -m 30 https://freedns.afraid.org/dynamic/update.php?bnJxM3kxMHRHF1p4B0NmSXJDfEFLc0NJOjEzMTEyNjv\&address=$ipv6 2>/dev/null |grep Updated
      
      





 date >> /var/log/freedns.log
      
      



更新が成功した日付をログに記録します



 &> /dev/null
      
      



cron、心配しないでください。このスクリプトの実行について毎分メールを送らないでください。



All Articles