mydns-ip-updateをお使いの場合は、いったんuninstallしてからdipperをインストールすることお勧めします。
事前に必要なもの
事前に必要なもの(インストールスクリプト実行時にインストールも可能)
- このスクリプトは、DDNSへの自動通知を目的としています。
- 使用する環境はAlmaLinuxで、言語はBashです。(Bashが動く環境なら普通に動くとは思います)
config
ディレクトリ内の設定ファイルに基づいて動作します。- MyDNSの時のみ、IPアドレスを定期的に更新、既定値は1日に1回、設定で変更可能。(初回のみ起動から30秒後)
- IPアドレスを定期的にチェック。(既定値は3分に1回チェック、設定で変更可能)
- ドメインのアドレスはDNSサーバーから取得し、自分のIPアドレスと違いがあれば更新。
- ログはsyslogに記載し、システムで一元管理させている。(dipper.sh の名前でログに書きこまれます)
- 管理はsystemdで行っている。(デーモン化)
- メール通知機能。(オプション)コンフィグファイルに追加されているコメントアウトを外して使用。
- アドレスキャッシュ機能の追加(オプション)初期時無効。コンフィグファイルIP_CACHE_TIMEの値を変えることで機能する。
MyDNSを使用していて固定IPの場合は、confファイルでIPV4_DDNS及びIPV6_DDNSを「off」にしておいてください。(余計な処理をしなくなる)
bash <( curl -fsSL https://github.com/smileygames/dipper/releases/download/v1.22/install.sh )
▼最初に初期設定を行ってください。
(v1.21より設定項目が変更されたので古いユーザーコンフィグはそのまま使わないでください)
installのたびにコンフィグファイルが初期値に戻ってしまうのも面倒なので ユーザー側でコンフィグファイルを作成してもらい、上書きインストールでも変更しないようにしました。 但し、uninstallコマンドを実行すると消えます。
sudo cp -v /usr/local/dipper/config/default.conf /usr/local/dipper/config/user.conf
sudo vim /usr/local/dipper/config/user.conf
#Num=1 # Number 1個目のドメイン
#MYDNS_ID[$Num]="mydnsxxxx1"
#MYDNS_PASS[$Num]="Password1"
#MYDNS_DOMAIN[$Num]="example.com,www.example.com"
#MYDNS_IPV4[$Num]=on
#MYDNS_IPV6[$Num]=off
をご自分のMyDNSの情報に書き換えて、先頭の#を削除してください。
編集が終わったら権限を変更しておきます。(IDとPASSを管理したファイルの為)
sudo chmod 600 /usr/local/dipper/config/user.conf
▼次にサービスの起動です。
sudo systemctl start dipper.service
▼アンインストールコマンド
sudo bash /usr/local/dipper/uninstall.sh
コンフィグファイルの内容を変更した際は、 サービスを再起動しないと反映されないので注意です。
sudo systemctl restart dipper.service
サービスをdisabledにした場合リンクが消えてしまうので下記で張りなおします。 "--now"をつけることでついでに起動させます。
sudo systemctl enable /usr/local/dipper/systemd/dipper.service --now