トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

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



DNSサーバ:BIND


ここでやること
■ DNSサーバであるBIND9をインストールする

 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サーバを設定しています。

コマンド: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