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.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アドレスからホスト名検索
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"; :余計な情報を公開しない
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";
};
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に接続
@ 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に接続、語尾に「.」を付ける
@ 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
# 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 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