前置き
久々のブログ更新です。4月以降、ドメインを AWS Route53 からお名前ドットコムに移管しました。
我が家では固定 IP を契約していないので、PPPoE 接続を立ち上げるたびにこのブログの IPv4 アドレスが変わってしまうという問題があります。なので、Dynamic DNS (DDNS) を設定しないといけません。
AWS で DNS を使っていた頃は、AWS CLI を使って DDNS っぽいものを運用していました。お名前.com では公式の DDNS クライアントが用意されているみたいですが、Windows 版だけらしい。ところが、ネットを漁ると Linux で DDNS を運用するための非公式スクリプトが幾つも出てきます。流石インターネット。
本題
https://qiita.com/y-otn/items/1efe5b9f6e425841cc1b で紹介されている DDNS スクリプト (Python) を使ってみます。
スクリプトの変更箇所
まず当然ですが、お名前ドットコムの会員情報を自分のものに変更します。
次に、IP アドレスを引数で渡すようにするのと、このスクリプトを常時起動ではなく一度だけ実行できるようにするために、少し書き換えます。具体的には、update_dns_records() 関数で引数を受け取るほか、main() 関数内の無限ループを消します。
/etc/ppp/ip-up.d/10dsl-provider の設定
PPPoE 接続時に自動実行されるスクリプトを編集します。
$ sudo nano /etc/ppp/ip-up.d/10dsl-provider
以下の行を追記します。
/usr/bin/python3 /home/user/onamae-ddns-client/onamae_ddns_client.py "$PPP_LOCAL"
これで、PPPoE 接続時に IPv4 アドレスが更新されます。お好みでログファイルに実行結果を溜めてもよいでしょう。