DNS設定 · 1 min read · Oct 02, 2025
ISPConfigを使用した独自の名前サービス(DNS)の設定

インターネットはIP番号で動作し、ドメイン名からそのIP番号アドレスに移動するためにドメインネームシステム(DNS)が使用されます。独自の名前サービスを設定するか、たとえばホスティングプロバイダーの名前サービスを使用することができます。どちらにしても、完全修飾ドメイン名(FQDN)からIP番号へのマッピングを設定します。たとえば、FQDN mail.howtoforge.comはアドレス78.46.214.220です。
このチュートリアルでは、ドメイン名xyzzy.tldを使用します。ホスト名はホストに付けられた名前で、たとえばfoobarです。ホスト名とドメイン名を組み合わせると、完全修飾ドメイン名(FQDN)が得られます。たとえば、foobar.xyzzy.tldです。
ドメインが自組織の外で使用される場合、ドメインを登録する必要があります。レジストラは2つのネームサーバーを要求します。少なくとも一部のレジストラは、最初に登録を許可し、ネームサーバーは後で提供できる場合がありますが、最大で1か月後までです。しかし、レジストラは2つの稼働中のネームサーバーを取得しない限り、ドメイン名を取り消すと脅迫します。
独自のネームサーバーを運用したい場合、2つのネームサーバーホストが必要です。ホストが1つしかない場合、そのホストをウェブサイト、メール、データベースなどと名前サービスを実行するように設定できますが、その場合、2つ目のネームサーバーを何らかの方法で手配する必要があります。
自組織内でのみ名前サービスを提供する場合、ドメインを登録する必要はなく、1つのネームサーバーだけを持つことができます。
このチュートリアルのISPConfig部分は、名前サービス以外のすべてを持つ1つのホストと、名前サービス用の2つのホストを持つマルチサーバーセットアップがインストールされていることを前提としています。合計で3つのホストです。ホスト名はweb、ns1、ns2です。webが名前サービスも実行する場合は、2つのホストのみを使用できます。
名前サービスには、いくつかの種類のレコードがあります。AレコードをホストのIP番号に設定します。IPv6が使用されている場合は、AAAAレコードです。ホストが3つある場合は、3つのAレコードを設定します。ネームサーバーホスト名に2つのNSレコードを設定します。
必要な情報を次のように収集します:
| ホストまたはドメイン | IPアドレス | 使用目的 |
|---|---|---|
| xyzzy.tld | 192.168.260.71 | ウェブページアドレス |
| web | 192.168.250.71 | ウェブサーバー |
| ns1 | 192.168.250.73 | ネームサーバー |
| ns2 | 192.168.258.75 | ネームサーバー |
1.1 ISPConfig 3.xの使用
マルチサーバーセットアップを使用して、3つのホストとISPConfigをインストールします。このチュートリアルをテストする際に、Debian GNU/Linux 9.5とISPConfig 3.1.12を使用しました。
複数のドメインを持つ予定がある場合、DNSテンプレートを設定する方が簡単です。ISPConfigマニュアルの第4.8.1.3章「テンプレート」を参照してください。ここでは1つのドメインのみが追加されるため、テンプレートは使用されません。
DNSタブに移動し、「新しいDNSゾーンを手動で追加」を押します。このゾーンはドメインの設定ファイルであり、使用したいドメインとほぼ同じものと考えることができます。
スクリーンショットはDNSゾーンフォームの記入方法を示しています。このゾーンを顧客のために設定している場合は、フォームに顧客を入力します。自分のためにこのゾーンを設定する場合やISPConfigで顧客を作成したくない場合は、空のままにしておくことができます。

保存して、レコードタブに移動します。

レコードタブでは、希望するレコードの緑のボタンを押してレコードを追加します。たとえば、Aレコードを取得するには、Aの緑のボタンを押します。FQDNホスト名を書く際は、名前の末尾にドット「.」を追加することを忘れないでください。ISPConfigのDNSフォームのいくつかのフィールドでは、正しく動作する名前サービスエントリを作成するために必要です。必要ない場所を覚えるよりも、常に書く方が簡単です。
必要に応じて、さらにレコードを追加できます。
ISPConfigパネルウィンドウの上部にある番号付きの赤いボールは、ディスクへの保存が進行中であることを示しています。番号は、まだ書き込まれていないレコードの数を示しています。テストする前に2分待つか、赤いボールが消えるまで待ってください。そうしないと、古い設定をテストしている可能性があります。
さらにネームサーバーが必要な場合、またはISPConfigをインストールしたホストが1つしかない場合は、ISPConfigセットアップにホストを追加できます。名前サービスのみを実行するホストには、小さなホストでも十分です。ホストにLinuxとISPConfigをインストールでき、静的IPアドレスがある場合は、それをネームサーバーとして使用できます。オフィスや自宅で実行できますが、静的IPアドレスを取得するのは難しいか高価な場合があります。ホスティングプロバイダーには小さくて安価なオファーがあり、静的IPアドレスを取得できます。1つのホストがどこかにあり、もう1つのホストが別の場所にあるISPConfigマルチサーバーセットアップを設定できます。
混乱している場合は、ISPConfigマニュアルを読んでください。
1.2 プロバイダーの名前サービスの使用
ISPConfigを使用して名前サービスを設定した場合は、これをスキップしてください。
ホストがホスティングプロバイダーにある場合、彼らはおそらくホスティング顧客のためにDNSサービスを提供しています。または、DNSサービスプロバイダーを見つけることができるかもしれません。
これらのサービスを使用する方法については、正確なアドバイスを提供するのは難しいです。おそらく、すべてのプロバイダーには異なるシステムがあります。ただし、すべてのプロバイダーは、最初に収集した情報を入力する必要があります。
前の章を読み、プロバイダーの入力フォームに適応してください。
ホスティングプロバイダーまたはDNSプロバイダーは、おそらく一連のネームサーバーを運営しており、すべてのDNS顧客がそれらを使用しています。ネームサーバーはおそらくns1.yourprovider.com、ns2.yourprovider.comと名付けられています。プロバイダーはグルーレコードを提供するかもしれませんので、ネームサーバーがns1.xyzzy.tld、ns2.xyzzy.tldとして表示されるようになります。グルーレコードが利用可能かどうか、またそれを使用する方法については、プロバイダーの指示を確認してください。
1.3 テスト
名前サービスが正しく動作していることを確認してください。ns1またはns2ホストにログインしてテストを開始します。この例はDebian GNU/Linux 9.5 Stretchで実行されており、私の推測ではUbuntuもほぼ同じです。他のオペレーティングシステムは異なる場合があります。Windowsでテストする場合、hostコマンドはありませんので、代わりにnslookupを使用してください。
root@ns1:~# host web.xyzzy.tld 192.168.250.73
Using domain server:
Name: 192.168.250.73
Address: 192.168.250.73#53
Aliases:
web.xyzzy.tld has address 192.168.250.71
root@ns1:~#上記のテストは、使用されているネームサーバーが192.168.250.73であり、web.xyzzy.tldをIP番号192.168.250.71に解決することを示しています。これはこの場合に望ましい結果です。このようにテストすることは有用です。
- hostコマンドは名前サービスをテストします。ホスト名をpingすると、最初に/etc/hostsファイルで検索される可能性があり、したがって名前サービスを全くテストしない可能性があります。
- FQDNの後のhostコマンドのIP番号は、クエリが送信されるネームサーバーのアドレスです。この方法で、私たちが設定したばかりのネームサーバーをテストしていることが確実です。
- 名前サービスが機能していない場合、名前が意図したIP番号に解決されない可能性があるため、ホスト名の代わりにIP番号を使用します。したがって、IPアドレスを直接使用する方が良いです。
同様の方法で設定した他のホスト名も確認してください。
- 返されたIPアドレスが間違っている場合は、修正してください。
- 見つからない場合は、スペルを確認してください。
- ISPConfigで名前を書いたFQDNの末尾にドットがあるか確認してください。
- 「接続がタイムアウトしました。サーバーに到達できませんでした」と表示された場合:ネームサーバーが実行されていないか、ネットワーク接続が失われています。たとえば、IP番号をpingしてネットワークを確認してください。ホストが実行されているか確認してください。DebianおよびUbuntuでは、
systemctl status bind9.serviceで名前サービスが実行されているか確認してください。 - 上記のすべてが機能しない場合は、ツールの章に進んでください。
ゾーン情報、特にネームサーバーを次のように確認してください:
root@ns1:~# dig @192.168.250.73 xyzzy.tld
; <<>> DiG 9.10.3-P4-Debian <<>> @192.168.250.73 xyzzy.tld
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64352
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xyzzy.tld. IN A
;; ANSWER SECTION:
xyzzy.tld. 3600 IN A 192.168.250.71
;; AUTHORITY SECTION:
xyzzy.tld. 3600 IN NS ns1.xyzzy.tld.
xyzzy.tld. 3600 IN NS ns2.xyzzy.tld.
;; ADDITIONAL SECTION:
ns1.xyzzy.tld. 3600 IN A 192.168.250.73
ns2.xyzzy.tld. 3600 IN A 192.168.250.75
;; Query time: 0 msec
;; SERVER: 192.168.250.73#53(192.168.250.73)
;; WHEN: Fri Aug 10 15:41:53 EEST 2018
;; MSG SIZE rcvd: 122
root@ns1:~#digは、クエリを送信するネームサーバーを@パラメータから取得します。そこにネームサーバーのIP番号を入力してください。
digがNSレコードを正しく表示し、Aレコードのネームサーバーの正しいIP番号が表示されている場合、状況は良好です。
次に、他のネームサーバーを使用して上記のテストを行います。ns2にログインする必要はなく、再度コマンドを実行しますが、他のサーバーのIP番号を使用します。これは、他のネームサーバーも正常に動作していることを確認するためです。
これらの新しいネームサーバーを使用するようにワークステーションを設定することで、さらにテストできます。ワークステーションのDNSサーバーを変更する必要があります。オペレーティングシステムのマニュアルやインターネットで調べてください。Linuxでは、ファイル/etc/resolv.confを編集できます。Windowsでは、ネットワーク設定にあります(IPアドレスを自動的に取得する設定を行う場所と同じです)。
1.4 逆名前サービス
逆名前サービス(PTRレコード)が必要ない場合は、これをスキップしてください。
逆名前サービスは、IPアドレスが与えられたときに名前を解決します。これは通常の名前サービスの逆操作です。
組織内で名前サービスを設定した場合、同じネームサーバーで逆名前サービスを設定できます。ISPConfigを使用する場合、最初に逆ゾーンを作成し、そのゾーン内で各IP番号のPTRレコードを作成します。
逆名前サービスがパブリックインターネットから機能する必要がある場合、独自のネームサーバーを使用することはできません。なぜなら、それはIP逆ゾーンの権威あるネームサーバーではないからです。もしそうであれば、あなたはそれを知っているはずです。サービスプロバイダーまたはIP番号を提供した会社に連絡し、逆名前サービスを設定するように依頼してください。必要なPTRレコードを伝えるか、逆名前サービスを使用するためにホスティング会社が提供するウェブユーザーインターフェースの使用方法を調べてください。
ISPConfigで逆名前サービスを設定するには、逆サービスのDNSゾーンを作成します。これは、IP番号の最初の3つのオクテットを逆順にし、最後に「.in-addr.arpa」を追加して名付ける必要があります。この場合、IP番号はサブネット192.168.250/24からのものであるため、逆ゾーンは250.168.192.in-addr.arpaと名付けられます。逆ゾーンにもNSレコードを追加することを忘れないでください。

その逆ゾーン内で、次のようにPTRレコードを作成します:

テストはhostコマンドを使用して簡単に行えます。
root@ns1:~# host 192.168.250.71 192.168.250.73
Using domain server:
Name: 192.168.250.73
Address: 192.168.250.73#53
Aliases:
71.250.168.192.in-addr.arpa domain name pointer web.xyzzy.tld.同じIP番号に対して多くのPTRレコードを設定することが可能です。その場合、逆クエリはすべてのレコードを返します。これを望まない場合は、知っている場合を除いて行わないでください。
たとえば、メールサーバーmail.xyzzy.tldを設定する場合、PTRレコードを設定する必要があります。ほとんどのメールサーバーは、送信IP番号がメールサーバーが使用するホスト名に解決されることを確認します。
1.5 ツール
名前サービスが開始されていないと思われる場合は、次のコマンドで確認してください。
systemctl status bind9.service「Active: active (running) …」と表示されれば、名前サービスは動作しています。「network unreachable resolving … AAAA 」の行が表示されても気にしないでください。これが表示される場合、IPv6ネットワークが利用できないことを意味します。
名前サービスが実行されているが、hostコマンドでテストしても回答が返ってこない場合、ゾーンファイルが不良である可能性があります。bindがゾーンを受け入れない場合は、named-checkzoneを使用してください。不良なゾーンファイルは(Debian GNU/Linuxの場合)/etc/bind/pri<ゾーン名>.errファイルにあります。ファイル名の末尾に.errが追加されています。次のように確認してください。
root@ns1:~# named-checkzone 250.168.192.in-addr.arpa /etc/bind/pri.250.168.192.in-addr.arpa.err
zone 250.168.192.in-addr.arpa/IN: has no NS records
zone 250.168.192.in-addr.arpa/IN: not loaded due to errors.
root@ns1:~#エラーを修正し、ISPConfigを使用して設定した場合はISPConfigパネルで修正してください。
ログファイルにエラーがある場合、名前サービスを停止して再起動し、/var/log/syslogファイルに何が記録されているかを確認してください。たとえば、次のようにします。
grep named /var/log/syslog名前サービスの設定を確認するウェブサイトがあります。インターネット検索エンジンを使用して見つけることができます。zonecheck.org、mxtoolbox.com、zonemaster.netを知っています。
1.6 ヘルプを得る
フォーラムで助けを求める場合、ドメイン名を隠すと助けるのが難しくなります。ドメインが何であるかを明らかにすれば、設定を確認し、何かが間違っている場合にアドバイスを提供するのが簡単です。ドメイン名を公に明らかにできず、このチュートリアルやインターネットの文書が役に立たない場合は、ドメイン名を信頼できる誰かに尋ね、その人にドメインの助けを求めてください。
1.7 ドメインの登録
名前サービスがゾーンに対して正常に機能している場合、登録できます。または、以前に登録されていた場合は、登録にネームサーバーを追加でき、ドメインはインターネットから利用可能になります。名前サービス情報が世界中を移動するのに4〜48時間かかります。
xyzzy.tldを登録し、ネームサーバーns1.xyzzy.tldがある場合、ネームサーバーのIP番号をホスト名の代わりに提供します。ホスト名ns1.xyzzy.tldのみを提供した場合、ネームサーバーはどのように見つけられるのでしょうか?IP番号が利用できる唯一の場所はns1.xyzzy.tldですが、IP番号を知らずにアクセスするにはどうすればよいのでしょうか?このジレンマを解決する別の方法は、グルーレコードを使用することです(前述の参照)。これにより、ネームサーバーのIP番号の代わりに名前を使用できます。
別のドメインplugh.tldを登録する場合、xyzzy.tldドメインがすでに適切に登録されており、ネームサーバーが知られているため、ネームサーバーをホスト名ns1.xyzzy.tldおよびns2.xyzzy.tldとして提供できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。