33.DDNSによる独自ドメイン運用(2004/05/06)
33.1.DDNS選択と設定
前回、ドメインを取得しましたが、取得しただけじゃもちろん使えません。
使えるようにネームサーバの設定が必要です。
もちろん、自鯖でDNSサーバを立てるのが一番でしょうが、外向きのDNSサーバを動かすとなると、それなりのリスクを負います。
そんなわけで、せっかく無料のDNSサーバが世の中にはたくさんあるので利用させていただきましょう。
その辺の情報は、やはりDiCEで調べるのが一番。
この中で一番いろいろと細かい設定ができるところを探します。(上記サイトは、表分けしてあり、非常に見やすいでごわす)
ワシは、EveryDNSを選択。
理由は単純に、一番いろんなサービスをサポートしてたから。(爆)
サーバの安定性は、あまり芳しくないみたいだけど、今のところ特に問題は起きてないと思われ。
あっ、英語が苦手な方は、miniDNSなどの日本語で設定できるサイトを選んだほうが無難。
で、EveryDNSの設定ですが、ココやココに詳しく書いてあるので、ここでは省略。
上記の2サイトでは、Windows版DiCEを使ったIPアドレス設定方法も書いてあるが、とりあえずは必要ないです。
(後ほど、Linux版DiCEを使って設定します)
そんな感じでEveryDNSでのアカウント取得&各設定を終えます。
IPは隠してます。(まぁ、動的IPだからそのうち変わるんだけど)
次に、MuuMuuDomainにログインして『DNS設定変更』を行います。
ログインして『コントロールパネルメニュー』から『DNS設定変更』を選択し、『DNS設定変更』ボタンを押します。
ここで、EveryDNSのDNSサーバ名を入力。
ちなみに、EveryDNSは『ns1.everydns.net』〜『ns4.everydns.net』の4つありますが、ns3とns4の2つを登録しませう。
ns1とns2は不安定という情報をあちこちで見かけるんで。
これで、一応は完了。
DNSの設定が伝播するまで数日かかることもあるらしいんで、2、3日待ちましょう。
それから、4つのネームサーバが登録できるため、人によってはDDNSを分けて登録している人もいます。
例えば、ネームサーバ1、2はEveryDNSのサーバで3、4はminiDNS とか。
しかし、個人的には、このやり方はあまりお薦めしません。
理由はSAO氏のサイトの下の方に詳しく書いてあるので、一読をお薦めします。
33.2.Linux版DiCEインストールと設定
さて、これでashiyu.netでIPが引けるようになりました。
ただし、Yahoo!BBは固定IPじゃないので、IPが変わったときに自動的にEveryDNSへ反映してくれるソフトが必要です。
No-IPは、自動更新ソフトが用意されてます(以前まとめたものはこちら)が、EveryDNSには無いようです。
そんなソフトの有名どころも、実はDiCEに用意されています。
Windows版もありますが、もちろんLinux版を使います。
Linux版もCUI版とGUI版がありますが、CUI版で十分。(telnetやSSH経由での設定ができるし)
インストールは、配布サイトにも書いてあるので、特になし。
(そこに書かれてあるように、/usr/local/bin に展開したとして話を進めます)
配布されているtarファイルを展開すると、dicedというバイナリファイルが現れるので、そいつを叩くと設定画面となります。
しかし、バイナリってことは、完全にLinuxでしか使えないのか・・・。(惜しいなぁ)
$ /usr/local/bin/DiCE/diced ← 起動
=-=-=- 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<EventNo> 指定のイベントを実行して終了します
*** コマンド一覧 ***
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 ← 自動検出
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n ←必要ないのでNo設定
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y ← テスト結果が以下に表示される(ちなみに以下は実際のIPではないです)
検出IPアドレス>111.22.333.4
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>n ← 2回も不要
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:>
(N)変更しない (P)戻る
>10 ← この辺は好みで
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分) 設定可能範囲は10分から1440分です
<現在:30>
(N)変更しない (P)戻る
>30 ← これも好みだけどデフォルトの30で構わないでしょ。
=================================================
設定を保存しますか? (Y/N)
(P)戻る
>y ← 保存して終了
設定を保存しました
=================================================
:
|
これで、初期設定は完了。
あとは、利用しているDDNSによって違ってきます。
ワタシは、EveryDNSとNo-IPを利用しているので、その設定を行います。
とりあえず、EveryDNSの設定をば!!
:add ← イベント追加設定
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>? ← 対応している全サービスを一覧表示
ZENNO.COM livedoor MyDNS.JP pcc.jp JPN.ch MyIP.US
@nifty StaticCling MyServer ddns.ca p2p did.expoze.com
Dynamx WebReactor unicc Earth DNS2Go EveryDNS
Now.nu dynDNS.it onamae.com DION ODN Netservers
todd cjb dnip my-domain ZoneEdit ZiVE
yi theBBS SelfHOsT No-IP nicolas miniDNS
Microtech instat ieServer HAMMERNODE GetmyIP Dynup
Dynu dyns DynDSL DynDNSdk dyndns Dyn.ee
DtDNS dnsQ dhs ddo.jp DDNS.nu cheapnet
changeIP ARTofDNS VALUEDOMAIN ODS JSPEED IPDYN
DnsTokyo
DnsTokyo ZENNO.COM
=================================================
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>EveryDNS ← 上で表示された一覧表示の名前と同じように
-------------------------------------------------
<< EveryDNS.net >>
URL: http://www.everydns.net/
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>net ← 取得したドメイン名を入力
=================================================
ホスト名を入力してください
(P)戻る
>ashiyu ← 取得したホスト名を入力
=================================================
ログインユーザ名を入力してください
(P)戻る
>******** ← EveryDNSのログイン名を入力(伏せてます)
=================================================
ログインパスワードを入力してください
(P)戻る
>******** ← EveryDNSログイン時のパスワードを入力(伏せてます)
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
> ← そのままEnterで自動検出してくれる
=================================================
このイベントに題名を付けてください
(P)戻る
>EveryDNS ← 適当な名前で良し
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>5 ← 10分おきにIPアドレスチェックしてるので、変化時で十分でしょう
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
(4)35日毎 (5)56日毎 (6)84日毎
(P)戻る
>0 ← 7日毎で問題なし
=================================================
詳細オプションを設定します
-------------------------------------------------
[ 更新モード ]
(0)ホスト更新 (1)グループ更新
番号>0 ← よく分からんけど0でOK
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y ← もちろん有効に
=================================================
イベントを保存しますか? (Y/N)
>y ← 保存
イベント"EveryDNS"を保存しました
=================================================
:exit ← 終了
|
以上で設定完了です。
No-IPも同様に行います。
設定したイベントの一覧はlistコマンドで表示できるし、各イベントの詳細はeventコマンドで確認できます。
これで、
/usr/local/bin/DiCE/diced -d -l
で、イベント起動&ログ取得が可能になります。
ただし、マシンを立ち上げ直したときには、再度上記コマンドを入力する必要があり、意外と面倒なのでサービスに登録しちゃいましょう。
方法としては、
- /etc/rc.local にコマンド記述
- /etc/rc.d/init.d 以下にdiced起動スクリプトを作成
が考えられますが、今回はこちらのサイト(5.DiCEを自動的に起動するようにする)に起動スクリプトがあったので、これを利用させてもらいます。
あとは、このスクリプトの属性を755に変えて、ntsysv(chkconfigでもよい)コマンドでブート時に起動するようにチェックすればOK。
これで、再起動時もdicedが起動します。
IPアドレスが変わらない場合は、7日に1回しかIP再登録のアクセスを行わないけど、たまにはちゃんと動いているかログを確認してみましょう。
ログは、/usr/local/bin/DiCE/log/events.log に記録されます。
ちなみにログを見ると、EveryDNSだけIPアドレスが変わらなくとも、毎回、更新したというメッセージになります。
No-IPは、本当に更新されたときだけ「更新されました」って出るのになぁ〜。
★あとがき★
鷹の巣氏のサイトがDNSについて非常にまとまっています。
読むべきサイトへのリンクなどの情報が満載なので、上記サイトに書かれているリンク先は一度読まれることをお薦めします。
特に、ITmediaのページはよくまとまってて必見!!
管理人の戯言トップ |
ホームに戻る |