Sunny.st,

日記とかばかりになった サーバ屋のはしくれのブログ。

DNS

[Tech] tinydnsをipv6に対応した

パッチ当ててコンパイルするだけだが、
備忘録として。


o 環境
OS: CentOS 5


o ソースとパッチのダウンロード
# cd /usr/local/src/
# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
# wget http://www.aburami.net/dev/djbdns-1.05-test23.diff
パッチはどこかで拾いました。
ありがとうございます^^


o パッチあてとコンパイル
# tar xvzf djbdns-1.05.tar.gz
# patch -p0 < djbdns-1.05-test23.diff
# cd djbdns-1.05
# make setup check

o バイナリコピー
# svc -d /service/tinydns/
# cp -ip tinydns /usr/local/djbdns/bin/tinydns
# cp -ip tinydns-data /usr/local/djbdns/bin/tinydns-data
# svc -u /service/tinydns/
tinydnsを止めてあげないとバイナリコピー出来ないよよよTT


あとは
# host -t aaaa [引きたいipv6なやつ] [tinydns(自分)のサーバ]
で引けたらOKなんではないかと。


しかしIPv6のあの記号みたいなやつには
ロマンが無いね。機械チックで。


数字のが覚えやすいしカコイイ★



o 参考にさせていただいたところ
http://hasiru.net/IPv61.html

レジストラとZONEの両方にNSサーバを登録する理由?

今日はちょっとお話を・・・

ずっと疑問に思ってたんですが


レジストラ(ムームードメインとかVALUE DOMAINとかに
sunny.comのネームサーバはns.sunny.comですよ
とか登録するじゃないすかー。


でもns.sunny.comのZONEの中にも
sunny.com IN NS ns.sunny.com
みたいな記述をしなきゃならんわけどぇす。


レジストラにネームサーバは登録してあるのにいらなくない?


と考えてたがいろいろ調査の結果

・レジストラへの登録        -->  NSサーバまでの道案内
・サーバでZONEへの登録 --> おれがsunny.comのネームサーバだ!という"証明"

らしい。





レジストラに登録してあるネームサーバにたどりついて
さらにそのネームサーバのZONEの中にNSレコードという"証明"があって
初めてZONEの中にあるレコードが引ける(らしい)。


実際ZONEからNSレコード消したらなんにも引けなくなったw


参考元
http://qanda.rakuten.ne.jp/qa4244375.html
の"ANo.4"の回答あたり・・・

DiCEでIPアドレスが自動検出できない

非固定IPのためDDNSに登録。
そしてDDNSの情報を自動で更新するために
DiCEを導入。

▼DDNS・・・
非固定IPであってもDHCPで割り当てられた動的IPと
ドメイン名を結びつけるシステム(と思う)

▼DiCE・・・
変更された動的IPを検知して自動でDDNSへ
登録してくれるツール(と思う)

そんな設定手順はDiCEのページ
「DiCE DDNS」てな感じでグーグル先生で検索。
調子よくもりもりやっていたのだがDiCEの設定で

-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y






返事が返ってこない・・・
なんでだー!

とりあえずそれっぽいキーワードでググるググる
するとDiCEでのIP検出は

/usr/local/bin/DiCE/ipcheck.dat
※/usr/local/bin にてDiCEのソースファイルを展開した場合

にて行っている(らしい)
ちなみに中身は
=========
#cat /usr/local/bin/DiCE/ipcheck.dat
http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/ip_chk.cgi
http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/ip_check.cgi
http://hpcgi3.nifty.com/sarad/ip_check.cgi
http://checkip.dyndns.org/
=========
となっている。

これをGETしてみたところ
=========
#GET http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/ip_chk.cgi
Error!!
#GET http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/ip_check.cgi
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>403 Forbidden</TITLE>
</HEAD><BODY>
<H1>Forbidden</H1>
You don't have permission to access /cgi-bin/user/yoshihiro_e/ip_check.cgi
on this server.<P>
</BODY></HTML>
#GET http://hpcgi3.nifty.com/sarad/ip_check.cgi
Error!!
#GET http://checkip.dyndns.org/
<html><head><title>Current IP Check</title></head><body>Current IP Address: 219.98.xxx.xxx</body></html>
=========

となり、まともにIPアドレスが表示されたのは
http://checkip.dyndns.org/
だけだった。

そのためIPアドレスを下記のように
スクリプト(URL)を指定して検出
=========
:setup
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:2>
(N)変更しない (P)戻る
>2
-------------------------------------------------
スクリプトのURLを入力してください
<現在:>
(N)変更しない (P)戻る
>http://checkip.dyndns.org/
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y
検出IPアドレス>219.98.xxx.xxx
=========

おおっ!でけたー!検出したよー!

ちなみに自分はVALUE DOMAINにてドメイン取得 & DDNSを登録しているのだが
ちゃんとそのサイト内にIP検出スクリプト(URL)
があったのでそれを使うことにしました〜


ちなみに ipcheck.dat を編集して問題無かった
http://checkip.dyndns.org/
だけ残して再度試してみたが
やっぱダメでした・・・

4つのスクリプト(URL)で検出したIPアドレスが
すべて同一とかそういうルールで動いたりしてるんかな
(完全予想ベース)
記事検索
パシフィカン
プロ野球データFreak
パリーグ順位表
Categories
アーカイブ
わたくし

てぃーだ§(TiidaS)

  • ライブドアブログ