はじめに
Dynamic DNS(DDNS)サービスとは?
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サービスを使うには?
下記を実施する必要がある。
- noip.com に利用登録する
- CentOS7にDDNS Clientを設定する
1.noip.com に利用登録する
noip.com にアクセスする
https://www.noip.com/
右上の「Sign up」をクリック
メールアドレス、パスワード、ホスト名、取得したいドメイン名を入力し、
「Free Sign up」をクリック
※無料で使う場合は「Free Sign up」を選択すること。
無料で使えるかわりに30日毎に更新が必要。
Confirm Your Account と表示され、仮登録のメールが通知される
メールを確認し、「Confirm Account」をクリック
「You account is now active!」と表示され、有効になる
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