技術

お名前.comのレコードを更新するShellScriptを書く

chatagiriです。過去記事。

自宅サーバ上でこのサイト他色々ものを動かしています。

しかし、一般的な光回線 + 非固定IP + 一般的なルータ + NUC な環境で動作させている都合上、停電したり熱にやられたり何だりでルータorモデムが再起動するとプロバイダから降ってくるGlobalなIPが変わってしまうことがあります。

上記原因でIPが変わるたびにお名前.comのコンパネ上で1(サブ)ドメインずつ丹精込めてレコードを変更する作業はもうツライので、GlobalIPを確認してお名前.com上のレコードを更新してくれるshell scriptを書きました。

cronで回すようにすれば初期のレコード設定以外は自動化できるので大変良いです。

update_onamae.sh
#!/bin/bash SUBDOMAIN="$(cat << EOF test1.example.com # ここに更新掛けたいサブドメイン(例: test.example.com) test2.example.com # 複数行も可 # 空行を入れると親ドメインそのもの(例: example.com) EOF )" ONAMAE_USERID="" #ここにお名前ID(7ケタ) ONAMAE_PASSWORD="" #ここにログインパスワード ONAMAE_DOMAIN="" #ここに契約ドメイン(例: example.com) while read SUBDOMAINS do cat << EOF | openssl s_client -connect ddnsclient.onamae.com:65010 -quiet ; done < $SUBDOMAIN LOGIN USERID:"$ONAMAE_USERID" PASSWORD:"$ONAMAE_PASSWORD" . MODIP HOSTNAME:$SUBDOMAINS DOMNAME:"$ONAMAE_DOMAIN" IPV4:$(curl -G inet-ip.info) . LOGOUT . EOF

あとは実行権限つけて叩いてみてください。動かなかったゴメンナサイ。

ちなみにchatagiriはお名前ドットコムからGoogle Cloud DNSに移行しました。APIフレンドリーな感じで更新できたりするので非常に便利です。

開くたびにドメイン更新しろ!!!画面も表示されないですしね。

-技術

S