Ubuntu Server 19.10に DDNSのno-ip2クライアントを導入し、再起動時に自動起動可能にした。

How To Linux Server Ubuntu

自宅環境でWEBサーバ運用を行う場合は、昨今は常時接続とは言え、プロバイダのメンテナンス等でIPアドレスが変更されるケースもある。

また停電やブレーカが落ちた場合など、意図せずブロードバンドルータが再起動するケースがある。

そのため、IPアドレスが変更になってもDDNSサービスを継続利用可能なようにクライアントアプリを稼働させておくと良い。

以下は筆者の環境で利用するno-ipサービスの手順であり、備忘として残しておく。尚、今回は全てrootユーザで作業を行っている。

必要なソフトウェアの入手

# cd /usr/local/src/
# wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
# tar xf noip-duc-linux.tar.gz
# cd noip-2.1.9-1/
# make install

この後、no-ip.comのユーザアカウント情報(メールアドレス)とログインパスワードを聞かれるのでそれに応答すると終了する。
以下コマンドで起動可能。

# /usr/local/bin/noip2

以下の自動起動を行う場合は、上記プロセスをkillしておく必要がある。
プロセスIDを検索。

# ps ax|grep noip2

該当プロセスをkill(終了)する。

kill -9 xxxxx

再起動後も自動起動できるようにする

しかし、このままの状態ではOS再起動時に自動起動せず、手動で起動する必要があるため、自動起動するように設定を行う。
以下ファイルを作成し、編集する。

# vi /lib/systemd/system/no-ip2.service

設定内容は以下

[Unit]
Description = noip2 daemon

[Service]
ExecStart = /usr/local/bin/noip2
Restart = always
Type = forking

[Install]
WantedBy = multi-user.target

設定ファイル作成後、以下コマンドでdisable状態であるが確認可能である。

# systemctl list-unit-files --type=service|grep no-ip
no-ip2.service                         disabled

サービスの起動

以下で自動起動となるよう設定する。disableをenableへ

# systemctl enable no-ip2

上記実施後、以下コマンドでenableであることを確認できる。

# systemctl list-unit-files --type=service|grep no-ip
no-ip2.service                         enabled

以下でサービスを起動する。

# systemctl start no-ip2

正常稼働したか、ステータスを確認してみる。

# systemctl status no-ip2

正常に起動すれば以下の表示になる。

● no-ip2.service - No-IP2 Daemon Client
   Loaded: loaded (/lib/systemd/system/no-ip2.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-03-20 16:02:54 JST; 1s ago
  Process: 2718 ExecStart=/usr/local/bin/noip2 (code=exited, status=0/SUCCESS)
 Main PID: 2722 (noip2)
    Tasks: 1 (limit: 4915)
   Memory: 580.0K
   CGroup: /system.slice/no-ip2.service
           └─2722 /usr/local/bin/noip2

なんと、以前も似たようなエントリしていたわい。
まぁ今回は設定ファイルのパスが異なるけどもね。