Computer
DNS DHCP

DNSの設定

ドメインを取得し,LAN内にWebサーバを立てた.
このマシンにアクセスするのに,LAN内からはhttp://192.168.1.x/, 外部からはhttp://hoge.net/と別々なのは面倒である.
そこで,DNSサーバを立てることにした.

DNSサーバとしてBIND9を利用した.
インストールはapt-get install bindでよい.

ここで,LAN構成を確認する.
私の環境は,
マシン用途:ホスト名:IP
ルータ:192.168.1.1
サーバ:silvia.satze.net:192.168.1.4
その他クライアント:適当:DHCPより取得
である.
設定ファイルは/etc/named.conf
options {
	directory "/var/named"; //ファイルの格納場所
	allow-query { //BINDの利用を許可する範囲
		127.0.0.1; //自分自身
		192.168.1.0/24; //ローカル
	};
	allow-transfer { //スレーブのDNSのアドレス.(特に必要ない)
		127.0.0.1;
		192.168.1.0/24;
	};
	forwarders { //自分で名前の解決が出来ないとき,プロバイダのDNSに聞きに行く.
		プロバイダのDNSを記述;
	};
};

zone "." { // ルートDNSの情報
	type hint; // ルートDNSの情報であることを明示
	file "named.ca"; //ファイル名
};

zone "localhost" { //localhostの正引き設定
	type master; //MasterDNSであることを明示
	file "localhost.zone"; //ファイル名
};

zone "0.0.127.in-addr.arpa" { //localhostの逆引き設定
	type master;
	file "0.0.127.in-addr.arpa";
};

zone "satze.net" { //satze.netの正引き設定
	type master;
	file "satze.net";
	allow-transfer {
		192.168.1.0/24;
		127.0.0.1;
	};
	allow-query {
		192.168.1.0/24;
		127.0.0.1;
	};
};

zone "1.168.192.in-addr.arpa" { //192.168.1.*の逆引き設定
	type master;
	file "1.168.192.in-addr.arpa";
	allow-transfer {
		192.168.1.0/24;
		127.0.0.1;
	};
	allow-query {
		192.168.1.0/24;
		127.0.0.1;
	};
};
と記述.
ルートDNSの情報は,/var/named/named.caに保存.
named.caはインターネット上で公開されているので,それをダウンロード.
その際,ファイル名をnamed.caに変更します。
# wget ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.root
# cp named.root /var/named/named.ca
localhostの正引き設定は,/var/named/localhost.zoneに記述.
$TTL 86400 ;このファイル情報は他のDNSに86400秒間キャッシュされる.

@	IN	SOA	silvia.satze.net.	root.satze.net.(
	2005011501	;Serial yymmddのあとに2桁の数字
	86400		;Refresh SlaveS erverは86400秒に1回Masterから情報を更新.
	86400		;Retry Slave Serverが情報更新に失敗したら86400秒後に再挑戦.
	604800		;Expire Slave Serverが604800秒の間情報更新に失敗したら応答しなくなる.
	86400		;Minimum 他のDNSがクエリに失敗した時6400秒の間失敗したことがキャッシュされる.
)

	IN	NS	silvia.satze.net. ;Name Serverを指定
localhost.	IN	A	127.0.0.1 ;Aは実際のアドレスを示す
localhosotの逆引き設定は,/var/named/0.0.127.in-addr.arpaに記述.
$TTL 86400

@	IN	SOA	silvia.satze.net.	root.satze.net.(
	2005011501	;Serial
	86400		;Refresh
	86400		;Retry
	604800		;Expire
	86400		;Minimum
)

	IN	NS	silvia.satze.net.
1	IN	PTR	localhost.
satze.netの正引き設定は,/var/named/satze.netに記述.
$TTL 86400

@	IN	SOA	silvia.satze.net.	root.satze.net.(
	2005011501	;Serial
	86400		;Refresh
	86400		;Retry
	604800		;Expire
	86400		;Minimum
)

	IN	NS	silvia.satze.net.
	IN	MX 10	silvia.satze.net. ;メールサーバのホスト名(10は優先順位).

	IN	A	192.168.1.4 ;何も指定が無い場合は192.168.1.4(Aは実際のアドレス)
silvia	IN	A	192.168.1.4 ;silviaも192.168.1.4
www	IN	CNAME	silvia.satze.net. ;CNAMEは別名を示す.これ以降は任意.
research	IN	CNAME	silvia.satze.net.
harada	IN	CNAME	silvia.satze.net.
blog	IN	A	221.186.251.80
192.168.1.*の逆引き設定は,/var/named/1.168.192.in-addr.arpaに記述.
$TTL 86400

@	IN	SOA	silvia.satze.net.	root.satze.net.(
	2005011501	;Serial
	86400		;Refresh
	86400		;Retry
	604800		;Expire
	86400		;Minimum
)

	IN	NS	silvia.satze.net.
4	IN	PTR	silvia.satze.net. ;192.168.1.4の逆引き.先頭の4がIPのホストアドレス部分に対応.

さらに,
/etc/hosts
/etc/resolv.conf
/etc/nsswitch.conf
/etc/host.conf
の4つのファイルを設定する.
まず,/etc/hostsはlocalhostの部分以外をコメントアウト.
/etc/resolv.confは
nameserver 192.168.1.4
nameserver 127.0.0.1
domain satze.net ←もしくは search satze.net
と記述.
/etc/nsswitch.confは内部に
hosts:      files nis dns
このような記述(dns)があればOK.DNSを使って名前解決をするためのものらしい.
/etc/host.confは
order hosts,bind
multi on
となってれば良い.
これで大体設定は終わり.実際に起動して動作確認をする.

参考:
http://www.miloweb.net/bind.html
http://www.kkoba.com/dns/bind.shtml

DHCPの設定

ノートPCとかを自動的に固定ローカルIPにしたいので設定.
基本的には,/etc/dhcp.confに
server-identifier silvia.satze.net;
option domain-name satze.net;
option domain-name-servers 192.168.1.4;
option subnet-mask 255.255.255.0;
ddns-update-style ad-hoc;

shared-network (ネットワーク名を適当に:satze) {
	default-lease-time 600;
	max-lease-time 7200;(この2つは適宜設定)
	subnet (サブネット:192.168.1.0とか) netmask (ネットマスク:255.255.255.0) {
		range (動的に割り当てるIPの範囲:192.168.1.6 192.168.1.8とか);
		option broadcast-address (ブロードキャストのIP:192.168.1.255とか);
		option routers (ルータのIP:192.168.1.1とか);
		host (マシン名) { 
			hardware ethernet (マシンのMACアドレス);
			fixed-address (固定したいIPアドレス range外);
		}
	}
}
としただけ.あとは,host (マシン名)のところを適宜追加.
Valid HTML 4.01 Transitional Valid CSS!
Copyright© Satze.net All rights reserved.