固定IPを持っていないので、ドメインを取得してDynamic DNSを設定します。
ドメインを取得する
とりあえず何でもいいのでドメインを取得します。
ちなみに僕はRaspberry Pi用に下記のドメインを取得しました。
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アドレスの更新ができた。
自宅から自宅サーバー(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でアクセスしましょう。
>基本的に自宅から自宅サーバーのドメインにはアクセスできません
多分、お使いのルーターが内側から自分のWAN側アドレスへのアクセスを許していないからではないでしょうか?
(NECのAtermとかはそんな制限があるようで、我が家でも困っています)
Planexの一部のルーターだとOKなようですが、そういうのって外箱やマニュアルのどこにも書いてないんですよね。困ったことに・・・
たしかにルーターで何かしらの設定があってもおかしくないと思うのですが、うーん、調べてみたら、pepeさんが指摘したとおり、Atermでは普通にはできないらしいです。(うちでもAtermを使っています)
コレガあたりは何もせずにできるようです。というか自宅から自宅サーバーにアクセスできないのはAtermだけっぽいです。
さらに調べてみたところ下記の人が無線LANアダプタで変則的につながるようにしていました。
http://forester.jnz-photo.com/blog/2010/06/nec2.html
無線LANアダプタでアクセスポイントを作ってごちゃごちゃやって、無理やりつなげてる感じ。。ここまでするなら安いコレガのルータを買って試してみたほうがいい気がします。
参考にさせていただきました。ありがとうございます。