このページでは固定IPアドレス一個で運用するDNSサーバーのポートフォワーディングの動作確認についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
固定IPでDNSサーバー構築

固定IPでDNSサーバー構築

ブートファイルの基本設定

WAN用ゾーンファイルの作成

ポートフォワーディングの設定

WAN空間からのDNSチェック

スレーブDNSサーバーの設置

DNSサーバとドメイン名の登録

レコードの書き換えについて


スレーブDNSサーバーを設置する前の動作チェック

ルーター に ポートフォワーディング の設定を行って、 WAN 空間からの 名前解決 が可能な状態になったら、スレーブDNSサーバーを設置したり 構築中のLinuxサーバー を正式なDNSサーバーとして登録したりする前に、 WAN側からの名前解決テストを行うようにします 。

自宅で複数の ISP とインターネット契約を行っていて、 構築中のLinuxサーバー の入っている サブネット とは別のサブネットからインターネット接続が可能な場合には、そこからアクセスして確認するのが簡単ですが、そういう通信環境がない場合は勤め先や学校、インターネットカフェなどから確認することになります。

テストの内容は名前解決ですから、テストを行う クライアント は LinuxOS である必要はありません。

Windows2000 以降の WindowsOS であれば、 コマンドプロンプト から nslookup コマンド が利用できますし、 MacOSX で ターミナル が利用できればLinuxOSと同じように、更に host や dig コマンドを利用することも出来ます。

ここではWindowsOSのコマンドプロンプト上で nslookup コマンド使った例を紹介しますが、同じコマンドでも OS によって使い方が微妙に異なりますので、詳しくはそれぞれのOSのコマンドリファレンスを参照してください。

また、「チェックだけのためにわざわざ外出したくない。」という方のためにこのパートの後半に お便利サーバーからチェックを行う スクリプト を設置していますので、よろしれけばご利用ください。

「権威ある回答」動作の確認

"/etc/named.conf" に WAN 側用に追加した ゾーン名 WAN/LAN用ブートファイル/etc/named.confの作成 と、そのゾーンが指し示しているゾーンファイル WAN側用のゾーン設定 の内容が、WAN側から 「権威ある回答」 として 名前解決 されることを確認します。

この場合は nslookup コマンド に詳細表示のオプションスイッチを付けて、

nslookup -type=any [ゾーン名( ドメイン名 )] [自宅のWAN側 IPアドレス ]

と実行します。

もしも "211.183.111.3x" に ISP から逆引きの FQDN が設定されていないときは、その代わりに ルートサーバー の情報が盛大に表示されます。もちろん異常ではありませんので驚かないでください。
C:\> nslookup -type=any obenri.com 211.183.111.3xEnter
Server:  ["211.183.111.3x"の逆引きのFQDN]
Address: 211.183.111.3x

obenri.com
    primary name server = web1.obenri.com
    responsible mail addr = dnsadmin.obenri.com
    serial = 2007022601
    refresh = 120 (2 mins)
    retry  = 900 (15 mins)
    expire = 604800 (7 days)
    default TTL = 120 (2 mins)
obenri.com   nameserver = web1.obenri.com
obenri.com   MX preference = 10, mail exchanger = mail.obenri.com
web1.obenri.com internet address = 211.183.111.3x
mail.obenri.com internet address = 211.183.111.3x


C:\>

このように、 WAN側用のゾーン設定 で設定した "/var/named/obenri.com.wan.zone" の内容が正しく返ってくればOKです。

ここでLAN側用のゾーンファイルの内容が表示されてしまうときは、 "/etc/named.conf" WAN/LAN用ブートファイル/etc/named.confの作成 の "view" キーワードの記述方法に誤りがありますので修正が必要です。

また、現在も ダイナミックDNS を利用中でそのパラメータが表示されるときは、 "/etc/named.conf" WAN/LAN用ブートファイル/etc/named.confの作成 のWAN側用のゾーンの記述に誤りがあり、なおかつWAN側に対して DNSキャッシュ が有効になっていますのでこれらを修正してください。

さて、この方法で名前解決が正常に行わない場合には色々な原因が考えられます。

1. ポートフォワーディング が正しく設定されていない。

ルーター の設定を確認します ポートフォワーディングの設定 。これに間違いがあると、いくら 構築中のLinuxサーバー をいじっても状況は変わりませんので真っ先にチェックしましょう。

2. 構築中のLinuxサーバー 上にファイヤーウォールが設置されている。

この コンテンツ に従って WBEL や CentOS の インストール が行われていればファイヤーウォールは設置されていないはずですが ファイヤーウォールの設定(WBEL3) ファイヤーウォールの設定(CentOS3) ファイヤーウォールの設定(WBEL4) ファイヤーウォールの設定(CentOS4) ファイヤーウォールの設定(CentOS5) 、心当たりのある方(例えば他の ディストリビューション をご利用の方)はチェックが必要かもしれません。

3. named が稼動していない。

DNSサーバーの構築に、
とても役に立った一冊です
↓

こういうウッカリミスもあるかもしれませんので確認してみましょう namedのコントロール 。

4."/etc/named.conf"の"view"キーワードの記述ミス。

WAN側と LAN 側のゾーン記述の振り分け方法を間違えると、WAN側には何のゾーンも提示されず、結果的にnamedは動作していない場合と同じ振る舞いをしますので、記述内容をきちんと確認します。

5."/etc/named.conf"の中に指定したゾーンファイル"/var/named/obenri.com.wan.zone"が実際は存在していない。

稀なケースかもしれませんが、こういう場合namedは「ゾーンが存在しない」と判断したうえでそのゾーン情報を無視して正常に稼動してしまいますので、意外にミスに気付きにくいものです。例えばゾーンファイルの作成の最初のテンプレート作成のときに WAN側用ゾーンファイルの作成 コピー先の パス やファイル名を間違えるとこういう状態になりますので、確認が必要かもしれません。

こういうケースでは問題点の切り分けが難しくなりますが、例えば意図的にWAN側でDNSキャッシュを有効に設定してみて recursionの設定 、次の DNSキャッシュ動作の確認 の確認を行ってみる、というのも一つの方法といえます。

DNSキャッシュ動作の確認

WAN側でのDNSキャッシュの動作について の説明のとおり、 構築中のLinuxサーバー は WAN 側では DNSキャッシュ を動作させない設定を行ってるはずですから、 nslookup コマンド で、

nslookup [実在する適当な FQDN ] [自宅の グローバルIPアドレス ]

と実行します。

ここでは某国の国営放送のFQDNを拝借してます。
C:\> nslookup www.nhk.or.jp 211.183.111.3xEnter
Server:  ["211.183.111.3x"の逆引きのFQDN]
Address: 211.183.111.3x

*** ["211.183.111.3x"の逆引きのFQDN] www.nhk.or.jp: Non-existent domain
C:\>

このように、

「211.183.111.3xはFQDN(www.nhk.or.jp)を見つけられず、回答できない。」

という答えが返ってくればOKです。

もしも、

C:\> nslookup www.nhk.or.jp 211.183.111.3xEnter
Server:  ["211.183.111.3x"の逆引きのFQDN]
Address: 211.183.111.3x

Non-authoritative answer:
Name:  www.nhk.or.jp
Address: 202.214.202.101


C:\>

と言う具合に、

「Non-authoritative answer(権威のない回答=DNSキャッシュの回答)として、202.214.202.101に名前解決した。」

という答えが返ってくるときは、WAN側に対してDNSキャッシュが有効になっていることになりますので、もう一度 "/etc/named.conf" の内容を確認し、修正を行ってください WAN側でのDNSキャッシュの動作について 。

関連セクションへ 関連セクション・ 自宅内DNSサーバーの構築


このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System