全部のマシンの hosts を編集とかテラダサスwwwぷぷpとか言われたので (脳内変換です)、DNS サーバ立てて一元管理することにした。
サーバは ubuntu 6.06 LTS。普通に BIND を使うことにした。
BIND のインストール。sudo apt-get install bind。終了
ubuntu (というか Debian) は設定ファイルが分かれていて、基本的に named.conf は編集しないみたい? とりあえず自分の場合は named.conf.options と named.conf.local だけ編集した。
named.conf.options
// 最初に // アクセスコントロールリストの設定 acl lan { 127.0.0.1; 192.168.0.0/16; }; // options セクション内に // 内側からのだけクエリに答える allow-query { lan; }; // キャッシュサーバを使う // そして内側に限定 recursion yes; allow-recursion { lan; }; // スレーブとかない allow-transfer { none; }; // 自分に登録されてないとき丸投げする先 // ルータが DNS Proxy になっているのでルータの IP だけ forwarders { 192.168.0.1; };
named.conf.local
// 正引き zone "lab.lowreal.net" { type master; file "/etc/bind/db.lab.lowreal.net"; }; // 逆引き zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.0"; };
正引き DB (db.lab.lowreal.net)
$TTL 1d @ IN SOA lab.lowreal.net. root.lab.lowreal.net. ( 2006070901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.lab.lowreal.net. IN MX 10 lab.lowreal.net. @ IN A 192.168.0.250 ns IN A 192.168.0.250 charlotte IN A 192.168.0.250 nina IN A 192.168.0.251 trac IN CNAME charlotte svn IN CNAME charlotte
逆引き DB (db.192.168.0)
$TTL 1d @ SOA lab.lowreal.net root.lab.lowreal.net. ( 2006070901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.lab.lowreal.net. IN PTR lab.lowreal.net. IN A 255.255.255.0 1 IN PTR gateway.lab.lowreal.net. 250 IN PTR lab.lowreal.net.
これで再起動 (sudo /etc/init.d/bind restart) して一通り DNS ひけるようになった。
しかしながら、LAN 内のホストをフルネーム (nina.lab.lowreal.net) で呼ぶのがだるいので、各 PC に DNS サフィックスを設定する。
Linux の場合は /etc/resolv.conf に以下のように書けばいいらしい。
search lab.lowreal.net nameserver 127.0.0.1
Windows の場合は該当インターフェイスのプロパティから、TCP/IP のプロパティを開いて、詳細設定、DNS タブにある「以下の DNS サフィックスを順に追加する」を選択、lab.lowreal.net を追加してあげればいいっぽい。
C:\>nslookup Default Server: lab.lowreal.net Address: 192.168.0.250 > nina Server: lab.lowreal.net Address: 192.168.0.250 Name: nina.lab.lowreal.net Address: 192.168.0.251
なんかキモイことになったので、ワイルドカードをやめた。今日もまた IRC でひたすらお世話になりっぱなしです。