Raspberry Piのドメインを取得してDynamic DNSを設定する

固定IPを持っていないので、ドメインを取得してDynamic DNSを設定します。

ドメインを取得する

ムームードメイン

とりあえず何でもいいのでドメインを取得します。
ちなみに僕はRaspberry Pi用に下記のドメインを取得しました。

kintarofish.com

MyDNSとムームードメインでDynamic DNSを設定する

ドメインを取ったらDynamic DNSを設定します。

ここでは無料のダイナミックDNSのMyDNS.JPを使います。

JOIN US
氏名などを埋めてユーザ登録します。
なんで住所なんか必要なのか知りませんが、まぁ適当でいいんじゃないかなと思います。SSLじゃないし。

ユーザー登録するとメールが届きます。
そのメールの中にMasterIDとPasswordがあるので、MyDNS.JPの左側にあるフォームからMasterIDとPasswordを入力してログインします。

DOMAIN INFOをクリックします。

ネームサーバ
Primary DNS : 210.197.74.200 (ns0.mydns.jp)
Secondary DNS : 210.197.74.201 (ns1.mydns.jp)
Secondary DNS : 210.197.74.202 (ns2.mydns.jp)

MyDNS.JPのネームサーバーをムームードメインに設定します。

ネームサーバ設定変更
弊社サービス以外 のネームサーバ
ネームサーバ1 ns0.mydns.jp
ネームサーバ2 ns1.mydns.jp
ネームサーバ3 ns2.mydns.jp

MyDNS.JPのDOMAIN INFOに戻ってきて下のほうにMyDNSのDOMAINの設定項目があります。

Domain : kintarofish.com
MX : kintarofish.com

Checkボタンをクリックして保存してください。

IP ADDR DIRECTをクリックしてCheckして今のIPアドレスを知らせします。

しばらくすると、(数十分くらい?)
新しく取得したドメイン(kintarofish.com)にアクセスすることができるようになっています。

Raspberry Piにddclientを設定する

自動的にIPアドレスをMyDNSに更新するddclientをRaspberry Piに設定します。

Raspberry Piから

sudo apt-get install ddclient

自動的に設定画面に切り替わります
server other ipv4.mydns.jp
protocol 適当に入れる
Username 自分のMasterID
Password 自分のパスワード
Network interface よくわからないので空欄
fully qualified domain names 空欄

どうもMyDNSはddclientに対応していないらしいので適当に埋めればいいらしいです。

設定を編集します

sudo vim /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
# /etc/ddclient.conf
protocol=mydns
use=web
server=ipv4.mydns.jp
login=Your MasterID
password='Your Password'
daemon=600

daemonは600秒に一回更新する

sudo vim /etc/default/ddclient
run_daemon="true"
daemon_interval="600"

なんかここにもdaemonがあったので一応600に設定しておく。

sudo service ddclient restart
[....] Restarting Dynamic DNS service update utility: ddclientWARNING:  file /etc/ddclient.conf, line 5: Invalid Value for keyword 'protocol' = 'mydns'
. ok

プロトコルがおかしいと文句言われているけど、okとなっているからok何だろう??
そして、待てど暮らせどip addressが更新されません・・・。

MyDNSってddclient使えないんじゃないかな?
cronに任せてみることにする

cronでip addressを更新する

MyDNSはddclientだと更新されないー。

ということでcron使って更新してみることにします。

ddclientはうざいので削除

sudo apt-get remove ddclient
crontab -e
*/10 * * * * wget -q -O /dev/null http://YourMasterID:YourPassword@www.mydns.jp/login.html

あっけなくIPアドレスの更新ができた。

参考:DynDNSからMyDNSに乗換

自宅から自宅サーバー(Raspberry Pi)のドメインにアクセスできない場合

基本的に自宅から自宅サーバーのドメインにはアクセスできません。理由はよくわかりませんが、そういうものです。

ただし、この問題の回避方法があります。

いくつか回避方法があるのですが、一番安定して使える方法は自分が使っているパソコンのhostsを変更することです。

hostsの変更の仕方はOSによって異なりますが、
ここではWindows 7を基準に話を進めていきます。

まず最初にメモ帳を管理者として実行します。ココ重要。
すべてのプログラム → アクセサリ → メモ帳を右クリック、管理者として実行

メモ帳が起動します。
ファイル → 開く
hostsの場所までいきます。

Windows 7だと
C:\Windows\System32\drivers\etc
にhostsがあります。

テキスト文書だと見つからないので、
すべてのファイルに変更します。
hostsを選択して開きます。

hotstに下記のようなコードを1行追加します。

192.168.0.121		kintarofish.com

192.168.0.121はRaspberry Piのローカルアドレスです。
各自で変更してください。

kintarofish.comは自分のドメインです。
各自で変更してください。

保存して閉じます。

これで自分のパソコンから自宅サーバー(Raspberry Pi)のドメインにアクセスすることができるようになります。再起動は必要ありません。ちなみにiOSデバイス等は基本的にhostsを変更できないのでWifiじゃなくてLTEや3Gでアクセスしましょう。

Raspberry Piのドメインを取得してDynamic DNSを設定する” への1件のコメント
  1. pepe より:

    >基本的に自宅から自宅サーバーのドメインにはアクセスできません
    多分、お使いのルーターが内側から自分のWAN側アドレスへのアクセスを許していないからではないでしょうか?
    (NECのAtermとかはそんな制限があるようで、我が家でも困っています)
    Planexの一部のルーターだとOKなようですが、そういうのって外箱やマニュアルのどこにも書いてないんですよね。困ったことに・・・

    • kyosuke より:

      たしかにルーターで何かしらの設定があってもおかしくないと思うのですが、うーん、調べてみたら、pepeさんが指摘したとおり、Atermでは普通にはできないらしいです。(うちでもAtermを使っています)

      コレガあたりは何もせずにできるようです。というか自宅から自宅サーバーにアクセスできないのはAtermだけっぽいです。

      さらに調べてみたところ下記の人が無線LANアダプタで変則的につながるようにしていました。

      http://forester.jnz-photo.com/blog/2010/06/nec2.html

      無線LANアダプタでアクセスポイントを作ってごちゃごちゃやって、無理やりつなげてる感じ。。ここまでするなら安いコレガのルータを買って試してみたほうがいい気がします。

  2. Saga Shumpei より:

    参考にさせていただきました。ありがとうございます。

pepe へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください