A/AAAA/TXT レコードの更新のみを対象にする
ssh 経由で更新する場合、'src' を指定すると、接続元IPアドレスを設定可能
- ssh 経由でアップデートすることを想定
- /etc/nsd に nsd-upd.py を置き、chmod 755 されている。
- nsd-control が /usr/sbin に存在する(違う場合は nsd-upd.py の RELOAD_CMD= を変更)
- 書き換えたいレコードが存在する(新規追加はしません)
例えば、dns.example.jp で nsd を動かしており、/etc/nsd/zones/example.jp に zoneファイルがある場合に、targ-name IN A 1.0.0.1 というレコードを 1.0.0.2 に更新したい場合は下記の通り。
% ssh dns.example.jp /etc/nsd/nsd-upd.py targ-name 1.0.0.2 /etc/nsd/zones/example.jp
また、sshの接続元アドレスを指定したい場合、IPアドレスの代わりに 'src' を指定します。
% ssh dns.example.jp /etc/nsd/nsd-upd.py targ-name src /etc/nsd/zones/example.jp
「nsdでの letsencryptワイルドカード証明書の自動更新」 https://shirouzu.jp/tech/nsd-letsencrypt
zoneファイルが更新された場合、自動的に、serial番号を上げた上で、nsd-control reload を実行します。
IPアドレスに変化が無い場合は、zoneファイルを変更しません。
(nsd-control のパスは nsd-upd.py の先頭部分で適宜変更して下さい)
nsd-reload.py を追加(confとzoneファイルの整合確認後にreloadするラッパーツール)。nsd-upd とは無関係。
自宅環境のIPアドレスを反映したいため。
普通は dynamic DNSサービスを使った方が手っ取り早いのですが、sshでsecureに更新&他のサービスを介在させたくない、という理由から自作。