DynDNSでドメインネームの所得とDiCEによるダイナミックDNSの設定

自宅サーバへのアクセスするには、やはりドメインネームでアクセスするのが一般的でありまた簡単であります。

Thank you for reading this post, don't forget to subscribe!

一般的に、プロバイダに加入した場合はグローバルIPアドレスは動的アドレスとなっており、ちょくちょくIPアドレスが変化します。自宅サーバを構築する場合IPアドレスが変わってしまうと非常に困ります(なんと言ってもIPアドレスが変わってしまうとアドレスが判らなくなり外からアクセスできなくなってしまうからです)。その場合固定IPアドレスをプロバイダーにもらうこともできますが、もらえたとしてもそれなりの料金がかかります。TAKAの入っているプロバイダの場合固定グローバルIPアドレスの料金は初期設定料 8,400円(税込) 、月額料金3,675円(税込) と高額であり、ドメインネームも210円(税込)/月となってしまいます。確かに自分の好きなドメイン名が付けられるのは魅力はありますが、自分の様なサイトでははっきり言ってもったいないです。

そこでダイナミックDNS(DDNS)の登場です。

ダイナミックDNSとは、固定されたドメイン名に対しプロバイダから動的に付与されたIPアドレスをドメイン名に反映し、常にそのドメイン名からアクセスができるというサービスで、多くの場合無料でサービスが提供されています。但し、完全に好きなドメイン名を付けることはできず△△△.×××.○○○の△△△が自由に設定でき.×××.○○○の部分は多くの場合選択肢はありますがサービス会社により決められてしまいます。

でも無料!このサイトもダイナミックDNSを使用しております。

ダイナミックDNSを使うには2つやることがあります。一つはダイナミックDNSサービスに登録すること。もう一つはサーバからグローバルIPアドレスが変化したことをダイナミックDNSサービスに通知する設定をすることです。(通知はルーターに機能がある場合と、サーバーにソフトをインストールして使う場合と2通りあります。)

  1. ダイナミックDNSサービスへの登録。
    色々ありますので検索して自分にあったサービスを選択してください。
    ここではDynDNSについて書き留めておきます。(アメリカのサービスですが問題ありません。TAKAは英語が全くだめですが何とかなりました)まず何故DynDNSを選択したのか。
    理由は単純で、ダイナミックDNSサービスの中では老舗且つ大手であることと、TAKAのルータの標準機能でDynDNSにIPアドレスの変化を通知できたからです。但し現在はソフトで通知しています。
  2. DynDNSへの登録
    下記サイトに行き右上のCreate Accountをクリックします。
  3. ここでユーザ名(ログイン用)、E-MAIL、パスワードに入力します。
    オプション関係は入力する必要はありませんが気が向いたら入力してください。
    I agree to the AUP:□とI will only create one (1) free account:□にチェックを入れ右下のcreate accountボタンを押すと仮登録できます。
    そして登録したメールアドレスに本登録用のメールが来ます。メールの中にhttps://で始まる長いアドレスが入っていますのでそこをクリックし48時間以内に本登録をしてください。(ユーザー名とパスワードは忘れないように!)
    DynDNSアカウント作成
    ドメイン名は無料では5個まで登録できますので色々試してください。
    チェックを入れるのは基本的には Host with IP addressのところだけです。
    後は適当にいじってください。(^^;)
    自宅サーバ若しくは自宅サーバと同一のネットワークでルーターを共用しているPCからはUse auto detected IP address XXX.XXX.XXX.XXX.という項目をクリックすると、現在割り当てられている動的IPアドレスがホスト名に割り当てられます。
  4. 次は動的IPアドレスが変化したときのダイナミックDNSサービスへの通知です。
    ここまででは、IPアドレスが変化したときにDynDNSまで行き変更されたIPアドレスを登録し直さなければなりません。だいたいいつIPアドレスが変わるか判らないのでこれは非常に問題です。(ルーターとWAN回線が切れて再度つなげたときは確実に変わりますけど)そこで登場するのがWindows版では有名なDiCE for Linuxです。
    DiCE for Linuxからダウンロードしサーバ上で展開します。因みに今回はCUI版です。GUI版は自分がトライした上ではdebian上では動きませんでした。コンソール画面上でDiCEフォルダに入り、./diced と入力しエンターを押します。因みにこのソフトはeuc-jpでできているので場合によっては文字化けするかもしれません。
    文字化けした場合はターミナル上で文字コードをeuc-jpに変えればokです。

    ソフトを実行すると、
    =-=-=- DiCE DynamicDNS Client -=-=-=
    Version 0.19 for Japanese
    Copyright(c) 2001 sarad

    :
    とでるので
    :?
    とします。
    :?
    *** 起動オプション ***
    diced [-s|-d|-h|-e] [-b] [-l]

    -s 起動と同時に開始します
    -d 起動と同時にバックグラウンドで開始します
    -h コマンドオプションを表示します
    -b イベント実行時にビープ音を鳴らします
    -l ログを作成します
    -e 指定のイベントを実行して終了します

    *** コマンド一覧 ***

    exit DiCEを終了します
    start DiCEを開始します
    startd DiCEをバックグラウンドで開始します
    setup DiCEの環境設定を行います
    list 登録済のイベント一覧を表示します
    add イベントを追加します
    ed[it] <番号> イベントを編集します
    del <番号> イベントを削除します
    en[able] <番号> イベントを有効にします
    dis[able] <番号> イベントを無効にします
    ev[ent] <番号> イベントの情報を表示します
    ex[ec] <番号> イベントを今すぐ実行します
    logcr ログをクリアします
    :
    ここで:setupを行い
    :setup
    IPアドレスの検出方法を指定してください
    (0) 自動検出
    (1) ローカルのネットワークアダプタから検出
    (2) 外部のスクリプトから検出
    <現在:0>
    (N)変更しない (P)戻る
    >0
    ————————————————-

    2009/12/06追記
    DDNSがDynDNSで後述のIPアドレスの検出テストでIPアドレスが適正に検出できない場合は下記赤文字の方法で外部IPアドレスの所得を行ってください。
    ————————————————-
    IPアドレスの検出方法を指定してください
    (0) 自動検出
    (1) ローカルのネットワークアダプタから検出
    (2) 外部のスクリプトから検出
    <現在:2>
    (N)変更しない  (P)戻る
    >n
    ————————————————-
    スクリプトのURLを入力してください
    <現在:>
    (N)変更しない  (P)戻る
    >http://www.dyndns.org/cgi-bin/check_ip.cgi
    ————————————————-

    ————————————————-
    プライベートIPアドレスも検出対象ですか?
    (Y/N) <現在:いいえ> (P)戻る
    >n
    ————————————————-
    IPアドレスの検出をテストしますか?
    (Y/N) (P)戻る
    >y 検出IPアドレス>×××.×××.×××.×××←アドレスが合っていればok
    ————————————————-
    IPアドレスの検出をテストしますか?
    (Y/N) (P)戻る
    >p

    次にaddで所得したドメイン名に対する設定を行います。
    内容は割愛させていただきますが簡単です。(^^;)
    スケジュールとしてはIPアドレス変化時で変化しなくても7日毎に通知するようにすればよいです。DDNSサービス会社によっては一定期間アクセスがないと登録を抹消されてしまうところもあるので注意が必要です。また、頻繁に通知すると乱用と思われ停止処分が来ますので7日位が良いと思います。

    :list とやって(No.)とスケジュールを確認します。
    そして、
    :ev <番号>   (番号は:listの時に出てくる(No.)です)とやって内容に問題がなければokです。

    最後に
    :startd
    としDiCEをバックグラウンドで開始します。

    最終的にはサーバの方でサーバースタート時の自動起動の設定を行った方がよいでしょう。
    その時のコマンドはDiCEのパスを入れ/diced -dとします。

    これでダイナミックDNSを使用したドメイン名でのアクセスができるようになります。

Technorati タグ: ,,,,,,,,,

Leave a Reply