中小規模の会社ネットワーク その3
こちらの続きです。
DNS (ドメインネームサービス)
DNSは、コンピュータの名前とIPアドレスを変換する役割を担いますが、機能上3つに分けられます。
- イントラネット上のPCの名前を解決する
- インタネット上のホストの名前を解決する
- 自ドメインのホストの名前解決をインタネットに対して提供する
例えば、(1)は隣りの机のパソコンとファイル共有したりする場合、(2)はウェブサーフィンをする場合、(3)は自ドメインでサービスを提供する場合に必要になります。
この内で、スモールオフィスのDNSは(1)と(2)の機能を実装します。(3)はドメインのレジストラが提供してくれます。また、ゲートウェイポリシーで「何も通さない」のときは、(2)は必要がありません。
使うソフトウェアはbindというDNSサーバ(named)で、ゲートウェイ上で稼働します。PCのDNSはゲートウェイのIPアドレスを設定します。
インタネットのDNS
Bindの"forwarders"(転送)機能を使うのが簡単です。ISPの、もしくは近い(応答が速い)公開DNSサーバを幾つか転送設定します。DNSはサーバ上のキャッシュが効きますので、直接解決してくれる上位のDNSサーバを捜すよりも速度的にも有利になります。
forwardersの設定
named.confに以下の記述を加えます。実際に試してみて、応答が速いDNSサーバを4〜5コメントを外して下さい。通常はISPのものがあると思いますが、応答が遅くなければそれを使うということで良いでしょう。
なお、一番下のものはGoogleのものです。少し前に高速なネームサーバという触れ込みで提供されたものですが、私のドメインがあるネットワークからは、他のものよりも4倍程度の時間が掛かります。
forwarders {
202.248.2.201; / ns.web.ad.jp /
// 203.139.160.19; / pns.ocn.ad.jp /
202.248.0.3; / ns1.hyper.web.ad.jp /
143.90.130.11; / ns2.odn.ne.jp /
219.188.193.75; / DNS03.bbtec.net /
// 202.248.2.226; / ns001.ppp.web.ad.jp /
// 202.248.0.42; / ns1.ppp.web.ad.jp /
// 202.248.0.72; / ns2.ppp.web.ad.jp /
// 210.131.113.126; / ns3.ppp.web.ad.jp /
// 202.248.0.42; / Nifty primary /
// 202.238.95.24; / So-net primary /
202.238.95.26; / So-net secondary /
// 202.225.94.247; / Biglobe primary /
// 210.147.240.193; / Biglobe secondary /
// 143.90.130.165; / ODN primary /
143.90.130.39; / ODN secondary /
// 8.8.8.8; / Google primary /
// 8.8.4.4; / Google secondary /
};
イントラネットのDNS
DHCPと組み合わせて、DDNS( Dynamic DNS)を構築します。これにより、ネットワーク上のPCを名前でアクセスできるようになります。イントラネット上のどこで接続しても、部署間を移動しても、PCの設定を変更する必要はありません。
DDNSの設定
DDNSでは、DNS側の設定とDHCPD側の設定があります。
動作としては、PCがDHCPクライアントとして、ホスト名を指定してDHCPでIPアドレスをリクエストします。DHCPDはこのリクエストへのレスポンスとしてIPアドレスを振り出しますが、同時に、ホスト名と振り出したアドレスの対をDNSに登録することになります。
DNSの設定(named.conf)
key dhcpddynupdate {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxx";
};
-----
zone "localdomain" {
type master;
file "named.localdomain";
allow-query { localhosts; };
allow-transfer { localhosts; };
allow-update { key dhcpddynupdate; };
};
zone "7.168.192.in-addr.arpa" {
type master;
file "named.7.168.192";
allow-query { localhosts; };
allow-transfer { localhosts; };
allow-update { key dhcpddynupdate; };
};
ここで、"secret"のところには、以下を実行すると"Kdhcpddynupdate.+xxx+xxxxx.key"というファイルが作成されるので、その中身を記入します。
% dnssec-keygen -a hmac-md5 -b 128 -n USER dhcpddynupdate
dhcpdの設定(dhcpd.conf)
ddns-updates on;
ddns-update-style interim;
ddns-domainname "localdomain";
key dhcpddynupdate {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxx";
}
zone localdomain {
primary 127.0.0.1;
key dhcpddynupdate;
}
zone 7.168.192.in-addr.arpa {
primary 127.0.0.1;
key dhcpddynupdate;
}
ここで、"secret"のところには、named.confに記入したものと同じものを記入する。(共通鍵のセキュリティです)
これで、各PCで設定されたホスト名で、他のPCからアクセスすることができます。