脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

raspberryPi にnoipでDDNSの設定をする方法

raspberryPi3 jessieにnoipでDDNSの設定をする方法です。

no-ipの登録

DDNSサービスを提供している会社は色々ありますが、今回は調べていて割りと名前をよく目にするno-ipを利用することにしました
Free Dynamic DNS - Managed DNS - Managed Email - Domain Registration - No-IP

ユーザ登録

sign upを選ぶと以下のような画面が出てくるので、情報を入力します。
hostnameは後から変更できるので適当でも構いません。
f:id:portaltan:20170207085720p:plain

入力したメールアドレスに確認メールが来るので、そこからログインします。
ログインすると以下のようなGUIの管理画面が表示されます。
f:id:portaltan:20170207090352p:plain

hostname登録

画面の中段あたりのQuick Addというパネルから任意のhostnameを入力し、Add Hostnameボタンをクリックすることでhostnameの登録ができます
f:id:portaltan:20170207090735p:plain

これで登録は完了です。次は実際にサーバで利用するための設定を行います。

noip DUCの設定

DUCとはDynamic Domain Update Clientの略らしいです(それだとDDUCになりそうだけど)
以下の設定はraspberryPi側で行います。

### clientのダウンロード
$ wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
$ sudo tar zxvf noip-duc-linux.tar.gz
$ cd noip-2.1.9-1/

### clientのインストール
$ sudo make
$ sudo make install
  if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
  if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
  cp noip2 /usr/local/bin/noip2
  /usr/local/bin/noip2 -C -c /tmp/no-ip2.conf

  Auto configuration for Linux client of no-ip.com.

  Please enter the login/email string for no-ip.com  # => no-ipに登録したユーザ名を入力します
  Please enter the password for user '*****'         # => 同じく登録したパスワードを入力します

  Only one host [foobar.ddns.net] is registered to this account.
  It will be used.
  Please enter an update interval:[30]  # => 何分毎に設定を確認するかを入力します
  Do you wish to run something at successful update?[N] (y/N)  n

  New configuration file '/tmp/no-ip2.conf' created.

  mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf

### 自動起動の設定
$ sudo cp debian.noip2.sh /etc/init.d/noip2
$ sudo vi /etc/rc.lcal
  # 以下の1行を追加します
  /etc/init.d/noip2 start

### 設定
$ sudo /etc/init.d/noip2 stop
$ sudo /usr/local/bin/noip2 -C # 再度設定
$ sudo /etc/init.d/noip2 start # 起動

### 確認
$ sudo /usr/local/bin/noip2 -S

これで30分毎および起動時にIPを確認して、IPが変わっている場合には自動でno-ipにリクエストを投げてDNS情報を変更してくれるようになりました