地方在住IT系ニート

bkds

自宅サーバにDDNSを設定するメモ【No-IP + Linux】

はじめに

No-IPとはダイナミックDNSを提供するサービスです。 ダイナミックDNSとは、固定IPを持てない自宅環境でも、動的に変わるIPアドレスとドメインを紐付けてアクセスできるようにする仕組みです。

自宅サーバやRaspberry Piに外部からアクセスしたい場合に便利です。 今回はNo-IPの無料プランを使用しています。

No-IPの登録手順

  1. No-IP公式サイトにアクセスし、アカウントを作成する
  2. ログイン後、「DDNS & Remote Access」→「DNS Records」からホスト名を作成する
  3. ホスト名(例:yourname.ddns.net)と紐付けるIPアドレスを設定する

無料プランではホスト名を3つまで作成できます。 ただし30日ごとに更新確認メールが届くため、リンクをクリックして継続する必要があります。

No-IP DUC(Dynamic Update Client)のインストール

DUCはIPアドレスが変わった際にNo-IPのドメインを自動更新するクライアントです。

# クライアントをダウンロード
wget --content-disposition https://www.noip.com/download/linux/latest
tar xf noip-duc_3.3.0.tar.gz

# インストール
cd noip-duc_3.3.0/binaries/
apt install ./noip-duc_3.3.0_amd64.deb

# 動作確認
systemctl status noip-duc

認証情報の準備

No-IPのDDNS Keysのページに行き、以下の手順で認証情報を作成します。

  1. 「Add Group」でグループを作成する
  2. Group NameとGrouped Hostnamesを指定する
  3. 「Add DDNS Key」からDDNS Keyを作成する

作成した以下の3つはあとで使用するため控えておきます。

  1. Username
  2. Password
  3. Hostname

noip_ddns_key

自動起動の設定

サービスファイルは以下の内容になっています。

[Unit]
Description=No-IP Dynamic Update Client
After=network.target auditd.service

[Service]
EnvironmentFile=/etc/default/noip-duc
ExecStart=/usr/bin/noip-duc
Restart=on-failure
Type=simple

[Install]
WantedBy=multi-user.target

/etc/default/noip-ducに先ほど控えたUsername、Password、Hostnameを記述します。

NOIP_USERNAME=xxxxxxx
NOIP_PASSWORD=xxxxxxxxxxxx
NOIP_HOSTNAMES=xxx.xxxxxxx.xxx

設定ファイルが準備できたら、サービスを有効化・起動してステータスを確認します。

systemctl enable noip-duc
systemctl start noip-duc
systemctl status noip-duc

update successfulが表示されていれば設定完了です。

トラブルシューティング

update successfulが表示されない場合

認証情報が間違っている可能性があります。/etc/default/noip-ducの内容を再確認してください。

IPアドレスが更新されない場合

DUCはIPアドレスの変化を検知して自動更新しますが、反映まで数分かかる場合があります。 以下のコマンドでサービスを再起動すると即時更新されます。

systemctl restart noip-duc

まとめ

No-IPを使えば固定IPなしで自宅サーバに外部からアクセスできます。 DUCをsystemdで自動起動しておけば、IPアドレスが変わっても自動で更新されるため手間がかかりません。

<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへ PVアクセスランキング にほんブログ村