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.tld192.168.260.71ウェブページアドレス
web192.168.250.71ウェブサーバー
ns1192.168.250.73ネームサーバー
ns2192.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で顧客を作成したくない場合は、空のままにしておくことができます。

ISPConfigのDNSゾーンフォーム

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

DNSレコード

レコードタブでは、希望するレコードの緑のボタンを押してレコードを追加します。たとえば、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レコードを作成します:

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として提供できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。