Windows TIPS
[Network] |
nslookupの基本的な使い方(SOAレコード編)
デジタルアドバンテージ 打越 浩幸
2005/07/16 |
|
対象OS |
Windows 2000 |
Windows XP |
Windows Server 2003 |
|
|
 |
■ |
ドメインの起点となる情報はSOAレコードで定義されている。 |
■ |
SOAレコードの情報は、nslookup -type=soaで取得できる。 |
|
|
nslookupは、DNSサーバの動作をチェックするために使われる非常に基本的なコマンドである。ここでは、SOAレコードの取得方法とその意味について解説する。
SOAレコードとは
SOA(Start Of Authority。「権威の開始」)レコードとは、DNSゾーンの起点となる情報が記録されたレコードであり、各DNSゾーンごとに1つずつ存在する。ここには、DNS情報の検索のルートとなる重要な情報(ネーム・サーバ情報やSOAレコードのTTL情報など)が記録されている。クライアントは、ここに記録された情報から順番に辿ることにより、ドメイン内の各種レコード情報を取得することができる。
SOAレコードには、ドメインのDNSのルート情報が記録されている。具体的には、次のような情報が定義されている。
 |
ドメインのSOAレコードの定義 |
これはDNS管理ツールで、DNSゾーンのSOAレコードを表示させたところ。ドメイン名を右クリックして、[プロパティ]メニューを選択すると表示される。 |
|
 |
SOAレコードのシリアル番号。内容を変更したときに増加させる。Windows OSのDNSサーバでは、レコード内容に変更があると、自動的に増加させる。シリアル番号が増加していると、クライアント側ではSOAレコードの内容に変更があったとみなし、レコードの内容を再取得する。 |
|
 |
このドメインのマスタとなるプライマリのDNSサーバ名。 |
|
 |
ドメインの管理者のメール・アドレス。本来のメール・アドレス表記では「admin@syslab.d-advantage.jp」のようになるが、DNSレコード中では「@」文字は「.(ピリオド)」に置き換えることになっているので(@は特別な意味を持つので使用できない)、このように表記する。 |
|
 |
SOAレコードのTTL(最小生存時間)およびエラー時の再試行時間間隔。 |
|
SOAレコード情報の確認
DNSを利用する側では、まずこのSOAレコードの情報が正しく取得できないと、ドメイン内の各種レコード情報を取得することができない。そのため、SOAレコードが正しく定義され、それが外部からアクセスできるかどうかを確認することは、DNSドメインの正しい運用において非常に重要なことである。
SOAレコードの内容を確認するには、クライアント・コンピュータ上で「nslookup -soa」コマンドを実行する。引数にはDNSのドメイン名を指定する。
C:\>nslookup -type=soa syslab.d-advantage.jp. …SOAレコードの表示
Server: sysserver01.syslab.d-advantage.jp
Address: 10.30.2.11
syslab.d-advantage.jp …結果のSOAレコード
primary name server = sysserver01.syslab.d-advantage.jp …DNSサーバ名
responsible mail addr = admin.syslab.d-advantage.jp
serial = 62 …シリアル番号
refresh = 900 (15 mins) …再試行時間間隔
retry = 600 (10 mins)
expire = 86400 (1 day) …レコードの有効期間
default TTL = 3600 (1 hour) …TTL
sysserver01.syslab.d-advantage.jp internet address = 10.30.2.11 …DNSサーバのIPアドレス
|
インターネットのDNSサーバ
以上の例は、イントラネット上のDNSサーバの例であったが、インターネット上のDNSサーバでも操作方法は同じである。ドメインの管理者情報(メール・アドレス)などを調べたりする場合には、この方法を使うことができる。
C:\>nslookup -type=soa atmarkit.co.jp …@ITのSOAレコードの検索
Server: sysserver01.syslab.d-advantage.jp
Address: 10.30.2.11
Non-authoritative answer: …Non-authoritativeな結果
atmarkit.co.jp
primary name server = ns1.i2ts.ne.jp
responsible mail addr = postmaster.i2ts.ne.jp
serial = 2001060130
refresh = 3600 (1 hour)
retry = 1200 (20 mins)
expire = 604800 (7 days)
default TTL = 3600 (1 hour)
ns1.i2ts.ne.jp internet address = 210.131.XXX.XXX …DNSサーバのIPアドレス |
この例では、「Non-authoritative answer:」と表示されているが、これは、ドメインのSOAを定義しているプライマリのDNSサーバの結果ではなく、クライアント側でキャッシュされたSOA情報であるということを表している。キャッシュされた結果だと、最新のSOAレコードではない可能性があるので、可能ならば検索対象のDNSサーバを直接指定して(上の結果で、「primary name server」と表示されているサーバ)、nslookupコマンドを実行するとよい。nslookupで検索先のDNSサーバを指定するには、2番目の引数としてDNSサーバ名(もしくはDNSサーバのIPアドレス)を指定する。
C:\>nslookup -type=soa atmarkit.co.jp ns1.i2ts.ne.jp …DNSサーバを指定して検索
Server: ns1.i2ts.ne.jp …検索対象のDNSサーバ
Address: 210.131.XXX.XXX
Aliases: XXX.XXX.131.210.in-addr.arpa
atmarkit.co.jp …結果(Non-authoritativeではない)
primary name server = ns1.i2ts.ne.jp
responsible mail addr = postmaster.i2ts.ne.jp
serial = 2001060130
refresh = 3600 (1 hour)
retry = 1200 (20 mins)
expire = 604800 (7 days)
default TTL = 3600 (1 hour)
atmarkit.co.jp nameserver = ns1.i2ts.ne.jp …このドメインのDNSサーバ一覧
atmarkit.co.jp nameserver = dns1.i2ts.ne.jp
atmarkit.co.jp nameserver = dns2.i2ts.ne.jp
ns1.i2ts.ne.jp internet address = 210.131.XXX.XXX …DNSサーバのIPアドレス
dns1.i2ts.ne.jp internet address = 210.131.XXX.XXX
dns2.i2ts.ne.jp internet address = 202.215.XXX.XXX |
SOAレコードの情報はDNSのクライアント側でキャッシュされるため、例えばドメインの移転(IPアドレスの変更)などを計画している場合は、このSOAレコードのTTLを段階的に短くして、SOAレコードが更新された場合に、すぐに各クライアントに反映されるようにする(TTLが長いと、SOAレコードの内容が変更されても、クライアントはそれに気が付かず、古い情報を参照してしまう)。そのような場合には、このコマンドを使って、SOAレコードの内容が正しく更新され、クライアント側で取得できているかどうかを確認するとよい。
Windows Server Insider フォーラム 新着記事
Windows Server Insider 記事ランキング
本日
月間