nKB

nKB

シンプルにいこうよ

Dynamic DNS(DDNS)サービスの使い方

はじめに

Dynamic DNSDDNS)サービスとは?

DDNSとは、動的なグローバルIPアドレスと固定のホスト名+ドメイン名を紐づけるサービスのこと。

今回はCentOS7を使うので、Linuxに対応しているDDNS Clientを提供している「noip」を利用する。

Free Dynamic DNS - Managed DNS - Managed Email - Domain Registration - No-IP

DDNSサービスはどういうときに使うのか?

例えば、外出先からVPNを使って自宅LANにアクセスする場合などに利用する。

外出先から自宅LANにあるVPNサーバにアクセスするためには
ルータのWAN側インターフェースに割り当てられたグローバルIPアドレス
指定する必要がある。
ただし一般的にグローバルIPアドレスは各家庭に固定で割り当てられているわけではない。
ルータの再起動であったり、プロバイダ側のメンテナンス等で変わってしまう可能性がある。

都度、グローバルIPアドレスを確認して繋ぐのでは効率が悪い為、
DDNSサービスを利用して固定の名前でアクセスできるようにする。

DDNSサービスを使うには?

下記を実施する必要がある。

  1. noip.com に利用登録する
  2. CentOS7にDDNS Clientを設定する


1.noip.com に利用登録する

noip.com にアクセスする
https://www.noip.com/

右上の「Sign up」をクリック
f:id:t2nak:20200506200207p:plain:w400

メールアドレス、パスワード、ホスト名、取得したいドメイン名を入力し、
「Free Sign up」をクリック
※無料で使う場合は「Free Sign up」を選択すること。
 無料で使えるかわりに30日毎に更新が必要。
f:id:t2nak:20200506200450p:plain:w400

Confirm Your Account と表示され、仮登録のメールが通知される
f:id:t2nak:20200506200719p:plain:w400

メールを確認し、「Confirm Account」をクリック
f:id:t2nak:20200506201704p:plain:w400

「You account is now active!」と表示され、有効になる
f:id:t2nak:20200506201818p:plain:w300

2.CentOS7にDDNS Clientを設定する

DDNS Clientのインストール

参考:How to Install the Dynamic Update Client on Linux

CentOS7に下記の方法でインストールする。
「make install」の際にメールアドレス、パスワードを入力を求められる。

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

makeコマンドの際に下記の警告が出力されるが特に対処は不要。警告の内容は不明だが問題なく動いた。

gcc -Wall -g -Dlinux -DPREFIX=\"/usr/local\" noip2.c -o noip2
noip2.c: 関数 ‘dynamic_update’ 内:
noip2.c:1595:6: 警告: 変数 ‘i’ が設定されましたが使用されていません [-Wunused-but-set-variable]
  int i, x, is_group, retval, response;
      ^
noip2.c: 関数 ‘domains’ 内:
noip2.c:1826:13: 警告: 変数 ‘x’ が設定されましたが使用されていません [-Wunused-but-set-variable]
         int x;
             ^
noip2.c: 関数 ‘hosts’ 内:
noip2.c:1838:20: 警告: 変数 ‘y’ が設定されましたが使用されていません [-Wunused-but-set-variable]
         int     x, y, z;
                    ^


DDNS Clientをサービスとして登録

下記のファイルを作成する
vi /etc/systemd/system/noip2.service

下記の内容を書き込む

[Unit]
Description=No-IP update daemon
Wants=network-online.target
After=network-online.target

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

[Install]
WantedBy=multi-user.target


サービスに登録・起動

# systemctl enable noip2.service 
# systemctl start noip2.service 


サービスの状態確認

# systemctl status noip2.service 
● noip2.service - No-IP update daemon
   Loaded: loaded (/etc/systemd/system/noip2.service; enabled; vendor preset: disabled)
   Active: active (running) since ***
  Process: 1065 ExecStart=/usr/local/bin/noip2 (code=exited, status=0/SUCCESS)
 Main PID: 1069 (noip2)
    Tasks: 1
   CGroup: /system.slice/noip2.service
           └─1069 /usr/local/bin/noip2


参考記事

なんでもやー日記: No-IP(DDNS) にグローバル IP を自動登録する設定

EOF