TOP(サイトマップ)

DNSの設定

(はじめに)
はじめに
Solarisって・・・
SunのセミナーとSDC
Solaris 10概要
資格(SCSA,SCNA)
Solarisフォーラム
管理人に連絡

(Solaris基本)

Solarisのインストール
システムの起動と停止
ファイルシステム
オートマウントとマウント
パッケージとパッチ
ユーザの追加と削除
ファイル権限(セキュリティ)
バックアップとリストア
CDE環境
プロセス管理/監視

(ネットワーク管理)

OSIを理解してみる
TCP/IPの設定
(TCP/IP入門)
DNSの設定
NISの設定
NFSの設定(WebNFS,CacheFS)
(NIS、NIS+、DNS違い)
DHCPの設定
1つのNICで複数IP設定

(IO関連)

インタフェース概要
SAFの管理
プリンタ管理概要
プリンタコマンド
SunSolve Online
SCSI情報(KEY,ASC,ASCQ)

(ソフトウェア関連)

Bash
Apache
Solstice DiskSuite
(SDS OSミラー回復)
Veritas VxVM

(OBPについて)

PROM(OBP)の概要
OBPでのキーボード操作
一般的なOBPコマンド
SolarisでOBPの設定
OBPに関するFAQ


(トラブル時の対応)

基本情報
エラーメッセージ
(主要メッセージ一覧)
性能関連コマンド
トレースコマンド
クラッシュダンプ
SunSolve Online

(その他)

小技集
UNIXコマンド
(manマニュアル)
システムチューニング
ネットワークチューニング
UltraSPARC T1について

(FAQ)

rootのPASSが不明
ハングアップかな?
ハードトラブル
OSが起動しない(b)
swap領域の拡張方法

(リンク)

Sun関連リンク
その他リンク
アバウトなJava入門
Perlメモ(逆引き用)

DNS(BIND)の解説・設定

《DNSの主な機能》

DNSでは、ネットワークの接続領域をドメインという範囲に分けて管理する。インターネット等ではドメインのツリー構造のどこかに位置付けられ、ドメイン名使ってインターネット内で一意に識別できる。管理しやすいように空間をゾーンに分割し、ゾーンには最低1台のネームサーバーが必要で下位のゾーンのサーバーの情報を持つ。これにより階層的にアドレスを上位から下位へたどることができる(ツリー構造)。
(1)TCP/IPのユーザーアプリケーションがサーバーのIPアドレスを問い合わせる
(2)メール配送プログラムがメールの配送先を問い合わせる
(3)TCP/IPのサーバーがIPアドレスからドメイン名を問い合わせる

DNSのサービスは、リゾルバ・ネームサーバー・データベースの3つで構成されている。
リゾルバ・・・・アプリケーションからの要求に応じてネームサーバーに情報を問い合わせる。この設定ファイルは/etc/resolv.confファイルに設定する。
ネームサーバー・・・・リゾルバや別のネームサーバーからの問い合わせに応じて情報をサービスする。また、別のネームサーバーからの問い合わせを受けた場合、情報(IPアドレスや、別ネームサーバー情報)を伝える。
・データベース・・・・ホスト名からIPアドレスを見つけるため(逆もある)のデータベース。

インターネットの世界でドメイン名(www.aaa.co.jpみたいな形)のIPアドレスを手動で調べる場合、nslookupコマンドを使用する。このコマンドが失敗するようであればサーバーの指定が間違っているなどの切り分けができる。 (DNS)は分散データベースである。DNSのクライアントサーバメカニズムのサーバ部分はネームサーバ(name server)と呼ばれるプログラムで構成されている。ネームサーバは、データベースの一部分の情報を管理し、リゾルバ(resolver)と呼ばれるクライアントにその情報を提供している。

サーバーにはプライマリネームサーバー、セカンダリネームサーバー(又はスレーブサーバー)、キャッシュネームサーバーがある。それぞれの詳細な設定は/etc/named.confで設定する。DNSクライアントの設定は/etc/resolv.conf(ドメイン、DNSサーバーアドレス、プライマリサーバーアドレスなど)で設定する。クライアントは他にも/etc/nisswitch.confの内容もチェックする。

設定が終了するとサーバーの起動になるが、起動は/usr/sbin/in.namedを起動する。なお、デフォルトでは/etc/rc2.d/S72inetsvcから自動的に起動される。

BINDはSolarisを含め、ほとんどのUNIXのバージョンに移植されており、Windowsシステムも移植されている。

(1)BINDの歴史

BIND(Berkeley InternetName Domain)はKevin Dunlap氏によってバークレーの4.3 BDS UNIXオペレーティングシステムのために作成されたもので、現在はInternet Software Consortium(ISC:*1)がBINDの開発にあたっている。また、同サイトからソースのダウンロードが可能となっている。

(2)SolarisでのBIND

Solaris8リリースには、ユーザーの便宜を図るため、コンパイル済みの BIND8.1.2 が付属されている。コンパイルにあたっては、このコンパイル済みの BIND が要件に合わない場合は、公開されているソースコードから独自にコンパイルすることができます。

*社内でDNSを使用する場合、よくあるトラブルでtelnetやftpなどで、LOGINの処理に時間がかかるケースがある。LOGIN後はスムーズに使用できる。この場合、DNSが逆引き処理を行っており、登録されてないホストの場合やDNSの設定が間違ってる場合タイムアウトを検出するまで止まってしまうためである。

【フリーソフトのBINDをインストールしよう】
BIND(DNS)はセキュリティー問題が多く発見されており、設定でふせぐこともできるが、バージョンアップも1つの手だと思うので、ここで紹介します。まずは、ソフトをダウンロードします。URLは・・・
ダウンロードするファイル(h2nは必要に応じてダウンロード)
BIND本体(ソースのみ)   :http://www.isc.org/products/BIND/bind8.html
BINDドキュメント       :http://www.isc.org/products/BIND/bind8.html
h2nツール           :http://www.jpsdomain.org/public/public.html

h2nツールとは、DNSで必要なDBファイルを自分の/etc/hostsファイルから作成しようというツールで、結構ありがたいツール。ただし、perlで動作するので、perlがもし入ってなかったらそちらをインストールする必要がある。
# gunzip bind-src.tar.gz
(この時点で、BINDとは別にGNUzipをインストールしておく必要がある)

# tar xvf bind-src.tar
: (省略)
x src/port/unixware212/include/sys/bitypes.h, 1460 bytes, 3 テープブロック
x src/port/unixware212/include/sys/cdefs.h, 5751 bytes, 12 テープブロック
x src/port/unixware212/include/Makefile, 3629 bytes, 8 テープブロック
x src/port/unixware212/include/paths.h, 35 bytes, 1 テープブロック
x src/port/unixware212/include/port_after.h, 4879 bytes, 10 テープブロック
: (省略)

INSTALLファイルの内容は必ず確認しよう。OS毎のインストール方法が記述してるよ

# cd src/port
# cd solaris
# ls
Makefile Makefile.set.gcc bin noop.c
Makefile.set Makefile.set.sun include probe
# cp Makefile.set.gcc Makefile.set
# cd ../..
# make stdlinks
:(省略)
# make clean
# make depend
# make all
# rm .settings
# make install
はい、終わり!!!

# domainname
solaris_sv.org
# hostname
dns.solaris_sv.org
# cat /etc/resolv.conf
domain solaris_sv.org

次はdbファイルと/etc/named.confの設定なんですが・・・・dbファイルはh2nしか使ったことないので、嫌な人は手動でやるのかな??/etc/named.confファイルも雛形みたいのは存在するけど、テスト用で簡単なのを紹介。

# cat /usr/local/etc/db.127.0.0
@ IN SOA dns.solaris_sv.org. root.dns.solaris_sv.org. ( 1 10800 3600 604800 86400 )
IN NS dns.solaris_sv.org
1.0.0.127.IN-ADDR.ARPA. IN PTR localhost.

# cat /usr/local/etc/db.172.17.127
@ IN SOA dns.solaris_sv.org. dns.solaris_sv.org. ( 1 10800 3600 604800 86400 )
IN NS dns.solaris_sv.org.

113.127.17.172.IN-ADDR.ARPA. IN PTR dns.solaris_sv.org.
111.127.17.172.IN-ADDR.ARPA. IN PTR aaa1.solaris_sv.org.

# cat /usr/local/etc/db.dns
@ IN SOA dns.solaris_sv.org. root.dns.solaris_sv.org. ( 1 10800 3600 604800 86400 )
IN NS dns.solaris_sv.org.

localhost IN A 127.0.0.1
aaa1 IN A 172.17.127.23
aaa1 IN MX 10 aaa1.solaris_sv.org.
dns IN A 172.17.127.113
loghost IN CNAME dns.solaris_sv.org.
dns IN MX 10 dns.solaris_sv.org.

# cat /usr/local/etc/named.conf
options {
directory "/usr/local/etc" ;
};

zone "dns.org" in {
type master ;
file "db.dns" ;
};

zone "127.17.172.in-addr.arpa" in {
type master ;
file "db.172.17.127" ;
};

zone "0.0.127.in-addr.arpa" in {
type master ;
file "db.127.0.0" ;
};

まあ、テスト用なので、あまり参考にならないかも(^^;)遊びでやってみてくれい。named.confはすんごく奥深いから省略します。っていうかそれで本1冊出てるくらいなんですよね。

じゃあ動かしてみます・・・・
# /usr/local/sbin/ndc start
で、うまくいかなかったら/var/adm/messagesファイルを見て検討しよう

じゃあ、ローカル内でDNSがうまくいってるかやってみよう
# /usr/local/bin/nslookup aaa1.solaris_sv.org
Server: dns.solaris_sv.org
Address: 0.0.0.0

Name: aaa1solaris_sv.org
Address: 172.17.127.111

はい、見れました!!次は他のSolarisマシンから
# nslookup pc.dns.org (クライアント側はnsswitch.conf,resolv.confの設定要)
Server: dns.solaris_sv.org
Address: 172.17.127.113

Name: aaa1.solaris_sv.org
Address: 172.17.127.111
とりあえず、動きました〜

Google
WWW を検索 Solarisでいきましょか?」内を検索




Copyright (C) 2008 Solarisでいきましょか? All rights reserved