更新日:

2008年09月15日
 新サイト開設




DNSサーバ:BIND


 DNSとは「192.168.0.xxx」などといった数字だけのIPアドレスを「http://www.siruko.dyndns.org」 といった覚えやすいアドレスに変換してくれるソフトです。
 WEBサーバにアクセスするとき外部からは「http://siruko.dyndns.org/kuro」でアクセスできたのに内部LANから 同アドレスでアクセスすると LAN内のルータのパスワード入力の画面が出てきてしまい、 アクセスできません(IPアドレス指定ならアクセスできますが)。今までは玄箱のWEBサーバ、 メールサーバにアクセスするにはIPアドレスを使って(メールサーバは内部からしかアクセスしないし)いましたが ここは玄人っぽく玄箱にアドレスを設定していこうと思います。

 ここでの設定では内部LANから内部LANの名前解決しか設定しません。外部からのアクセスは設定せず、 外部へのアクセスにはプロバイダから収得しているDNSサーバを設定しています。

我が家のサーバ名とアドレス表

ホスト
IPアドレス
ドメイン名
WEBサーバ
FTPサーバ
メールサーバ
192.168.0.101
alpha.siruko.dyndns.org
www.siruko.dyndns.org
ファイルサーバ
プリンタサーバ
192.168.0.102
beta.siruko.dyndns.org
テスト用玄箱
192.168.0.103
gamma.siruko.dyndns.org
ルータ
192.168.0.1
router.siruko.dyndns.org




コマンド:BIND9のインストール
BINDのインストールを行います
# apt-get install bind9

/etc/bind/ディレクトリに以下の設定ファイルがあります
db.root  :ルートDNSサーバが登録  :変更しない
db.local  :ローカルホスト用  :変更しない
db.127  :ローカルホスト用  :変更しない
db.0  :ブロードキャスト用  :変更しない
db.255  :ブロードキャスト用  :変更しない
db.empty  :変更しない
zones.rfc1918  :変更しない
named.conf  :BINDの基本設定ファイル、named.conf.localをインクルードしている
named.conf.local  :named.confからインクルードされている
named.conf.option :内部DNS用に外部のDNAサーバのアドレスを登録

↓今回新規追加するファイル
db.siruko.dynds.org  :ホスト名からIPアドレス検索
db.192.168.0  :IPアドレスからホスト名検索
ファイル編集:/etc/bind/named.conf.options
allow-query { 192.168.0.0/24; localhost; }; :内部用DNS設定
allow-recursion { 192.168.0.0/24; localhost; }; :内部用DNS設定
allow-transfer { none; }; forwarders { xxx.xxx.xxx.xxx; xxx.xxx.xxx.xxx; }; :プロバイダから提供されているDNSサーバ2つを記述
version "unknown"; :余計な情報を公開しない
ファイル編集:/etc/bind/named.conf.local
このファイルはnamed.confからインクルードされている
zone "siruko.dyndns.org" { :無料ドメインから収得したドメイン名を記述
 type master;
 file "/etc/bind/db.siruko.dyndns.org";
};

zone "0.168.192.in-addr.arpa" { :LAN内ネットワークが192.168.0.xxxの場合
 type master;
 file "/etc/bind/db.192.168.0";
};
ファイル編集:/etc/bind/db.siruko.dyndns.org
ドメインアドレス名 → IPアドレスへの正引き変換
$TTL 86400
@ IN SOA siruko.dyndns.org. root.siruko.dyndns.org. (自分のドメイン名の後にメールアドレス (@の代わりに「.」と表記、語尾に「.」を付けるのを忘れずに)
 2005052905 ; Serial
 10800 ; Refresh
 3600 ; Retry
 604800 ; Expire
 86400 ) ; Negative Cache TTL
;

IN NS alpha.siruko.dyndns.org. :DNSサーバのアドレスを設定、語尾に「.」を付ける
IN MX 10 alpha.siruko.dyndns.org. :メールサーバのアドレスを設定、語尾に「.」を付ける

対応させたいアドレス名とIPアドレスを表記(1つのIPアドレスに複数のドメインアドレス名を登録できます)
www IN A 192.168.0.101 :www.siruko.dyndns.orgにアクセスすると192.168.0.101に接続
alpha IN A 192.168.0.101 :alpha.siruko.dyndns.orgにアクセスすると192.168.0.101に接続
beta IN A 192.168.0.102 :beta.siruko.dyndns.orgにアクセスすると192.168.0.102に接続
gamma IN A 192.168.0.103 :gamma.siruko.dyndns.orgにアクセスすると192.168.0.103に接続
router IN A 192.168.0.1 :router.siruko.dyndns.orgにアクセスすると192.168.0.1に接続
ファイル編集:/etc/bind/db.192.168.0
IPアドレス → ドメインアドレス名への逆引き変換
$TTL 86400
@ IN SOA siruko.dyndns.org. root.siruko.dyndns.org. (自分のドメイン名の後にメールアドレス (@の代わりに「.」と表記、語尾に「.」を付けるのを忘れずに)
 2005052905 ; Serial
 10800 ; Refresh
 3600 ; Retry
 604800 ; Expire
 86400 ) ; Negative Cache TTL
;

IN NS alpha.siruko.dyndns.org. :DNSサーバのアドレスを設定、語尾に「.」を付ける

101 IN PTR alpha.siruko.dyndns.ort. :192.168.0.101にアクセスするとalpha.siruko.dyndns.orgに接続、語尾に「.」を付ける
102 IN PTR beta.siruko.dyndns.org. :192.168.0.102にアクセスするとbeta.siruko.dyndns.orgに接続、語尾に「.」を付ける
103 IN PTR gamma.siruko.dyndns.org. :192.168.0.103にアクセスするとgamma.siruko.dyndns.orgに接続、語尾に「.」を付ける
1 IN PTR router.siruko.dyndns.org. :192.168.0.1にアクセスするとrouter.siruko.dyndns.orgに接続、語尾に「.」を付ける
コマンド:ファイアウォール設定
サーバのファイアウォールの53番のポートを空けておく
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 53 -j ACCEPT
# iptables -A INPUT -p udp -i eth0 -s 192.168.0.0/24 --dport 53 -j ACCEPT
コマンド:動作テスト
# apt-get install dns-browse

内部のテスト
 #dig @localhost -x 192.168.0.xxx
 #dig @localhost xxx.siruko.dyndns.org

外部へのテスト
 #dig @localhost yahoo.co.jp
クライアント側:Windowsの設定
DNSサーバの設定が終わったらクライアントの設定をします。 Windowsですと「コントロールパネル」→「ネットワーク接続」→「使用しているネットワーク接続」→「プロパティ」 → 「インターネットプロトコル(TCP/IP)」→「次のDNSサーバのアドレスを使う」の設定で

優先DNSサーバ:今回設定したDNSサーバのIPアドレス
代替DNSサーバ:ルータのIPアドレス(玄箱のDNSサーバがダウンしたときの代替用。ルータにプロバイダから収得したDNSサーバが登録している場合のみ有効)


Windowsのコマンドプロンプトでnslookupを実行してチェックする

nslookup 192.168.0.1 :内部逆引きテスト
ルータのドメインアドレス名が表示されればOK

nslookup www.siruko.dyndns.org :内部正引きテスト
玄箱のWEBサーバのIPアドレスが表示されればOK(192.168.0.xxxと表示されるはず)

nslookup yahoo.co.jp :外部正引きテスト
YahooのIPアドレスが表示されればOK


玄箱で遊ぼう!!―玄箱/玄箱HG対応
玄箱で遊ぼう!!―玄箱/玄箱HG対応
玄箱の本
玄箱の本
玄箱をハックしよう!―ハックキットで夢のVine Linuxホームサーバー
玄箱をハックしよう!―ハックキットで夢のVine Linuxホームサーバー