ネームサーバ
ネームサーバ(DNS サーバ)についてまとめています。
目次
ネームサーバの設定パターン
独自ドメインをサーバへ設定する場合にネームサーバの設定を行いますが、
大きく 2 種類の設定方法があります。
ホスト名を指定する
ホスト名の場合はドメインを登録・管理しているサービスで設定します。
通常が管理メニュー上からでしょう。
この実態は NS レコード を設定しています。
例: さくらインターネット
ネームサーバ |
---|
ns1.dns.ne.jp |
ns2.dns.ne.jp |
【ドメイン設定】他社で取得・管理中のドメインを利用 | さくらのサポート情報
🎈 さくらのレンタルサーバ・さくらのメールボックス | ふうせん🎈 FU-SEN
レコードを設定する
最近はこれもドメインを登録・管理しているサービスで設定できる事が多いですが、
上項目のホスト名を変更する事で他のネームサーバサービスを使用する事もできます。
ドメイン登録・管理サービスによってはこれを提供していません。
例: 🎈 Google サイト などの Google サービス
サブドメイン | 種類 | 値 |
---|---|---|
www | CNAME | ghs.googlehosted.com. |
www 以外のサブドメインも設定できます。
Google Cloud Platform を除き、サブドメインなし は設定できません。
例: Google Workspace の MX レコード
サブドメイン | 種類 | 優先度 | 値 |
---|---|---|---|
@・空白・ドメイン名 | MX | 1 | ASPMX.L.GOOGLE.COM. |
@・空白・ドメイン名 | MX | 5 | ALT1.ASPMX.L.GOOGLE.COM. |
@・空白・ドメイン名 | MX | 5 | ALT2.ASPMX.L.GOOGLE.COM. |
@・空白・ドメイン名 | MX | 10 | ALT3.ASPMX.L.GOOGLE.COM. |
@・空白・ドメイン名 | MX | 10 | ALT4.ASPMX.L.GOOGLE.COM. |
Google Workspace の MX レコードの値 | Google Workspace 管理者 ヘルプ
レコードの種類
ネームサーバによって微妙に仕様が異なっている場合があります。
- 対応しているレコードの種類
@
または サブドメイン 部分のみをいれる または ホスト名をフル表記- サブドメインなしの表記(
@
・なし・ドメイン名フル のいずれか) - 値のホスト名末尾
.
の有無 - TXT レコード
"~"
囲み有無 - サブドメインなしの CNAME・ANAME・ALIAS 提供
A
IP アドレスを設定します。IP アドレスは IPv4 です。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | A | 10.15.41.1 |
www | A | 10.15.41.1 |
sub | A | 172.21.15.1 |
一つのサブドメインに複数の値を設定する事ができます。
複数のサーバを割り当てる事で負荷分散を行います。
AAAA
IPv6 の IP アドレスを設定します。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | AAAA | 2001:db8::a1 |
www | AAAA | 2001:db8::a1 |
sub | AAAA | 2001:db8::a2 |
一つのサブドメインに複数の値を設定する事ができます。
複数のサーバを割り当てる事で負荷分散を行います。
CNAME
ホスト名を設定します。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | CNAME | example.net. |
www | CNAME | example.net. |
sub | CNAME | example.net. |
末尾 .
はネームサーバによって不要な場合があります。
通常 CNAME は @・空白・ドメイン名
に対して設定できないのですが、
ネームサーバサービスにより例外があります。(下項目 ANAME・ALIAS 参照)
ANAME・ALIAS (CNAME)
ホスト名を設定します。
ネームサーバそのものとして ANAME・ALIAS レコードは存在せず、
ネームサーバサービスが値に設定している ホスト名 を参照し、
A レコードまたは AAAA レコードの IP アドレスで返す仕組みです。
したがって、nslookup や sig では A・AAAA レコードで表示されます。
これは @・空白・ドメイン名
の CNAME レコードを実現させるために
ネームサーバサービスで付加されている機能です。
@・空白・ドメイン名
で CNAME が設定できる場合も同じ動作になります。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | CNAME | example.net. |
@・空白・ドメイン名 | ALIAS | example.net. |
@・空白・ドメイン名 | ANAME | example.net. |
末尾 .
はネームサーバによって不要な場合があります。
MX
メールサーバを設定します。
サブドメイン | 種類 | 優先度 | 値 |
---|---|---|---|
@・空白・ドメイン名 | MX | 10 | mail1.example.net. |
@・空白・ドメイン名 | MX | 20 | mail2.example.net. |
MX には優先度があります。値が小さいホストが優先されます。
NS
ネームサーバを設定します。通常 2 ヶ所以上です。
これにより他のネームサーバを参照させます。
サブドメイン | 種類 | 値 |
---|---|---|
sub | NS | ns1.example.org. |
sub | NS | ns2.example.org. |
末尾 .
はネームサーバによって不要な場合があります。
ホスト名を指定する は NS レコードを設定している事になります。
TXT
任意の文字列を設定します。最近はドメイン認証や SPF に使われます。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | TXT | “v=spf1 mx include:spf.example.net -all” |
sub | TXT | “_acme-challenge.example.net” |
"~"
囲みはネームサーバによって不要な場合があります。
SPF は現在 SPF レコードの定義があります。下項目 SPF を参照して下さい。
SPF
メール送信のドメイン認証に使われる SPF を設定します。
まだ普及していないため、同じ値を TXT レコードで設定して下さい。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | SPF | “v=spf1 mx include:spf.example.net -all” |
@・空白・ドメイン名 | TXT | “v=spf1 mx include:spf.example.net -all” |
"~"
囲みはネームサーバによって不要な場合があります。
通常 "V=spf1 ~"
と記載します。~
は次の種類を複数記載します。
複数のホストを記載する場合、1 つの SPF レコードおよび TXT レコードにすべて含めて下さい。
一つのサブドメインで複数の SPF レコード・TXT レコードにまたがって異なる値を入れないで下さい。
種類 | 意味 |
---|---|
all | デフォルト動作。一番最後に記載 |
include:ホスト名 | ホスト名 の情報を参照 |
a:IP アドレス | IP アドレス に一致 |
mx | 現ホスト名の MX レコードを参照 |
mx:ホスト名 | ホスト名の MX レコードを参照 |
ip4:IP アドレス | IP アドレス に一致。IP アドレスは IPv4 |
ip6:IP アドレス | IP アドレス に一致。IP アドレスは IPv6 |
exists:ホスト名 | ホスト名 の A レコードを参照 |
種類の前に次の限定子を付加する場合があります。
all
は通常 -all
または ~all
です。
限定子 | 意味 |
---|---|
+ または 省略 | 認証許可 |
- | 認証拒否 |
~ | 認証公開 |
? | 認証非公開 |
これを用いて、このドメイン名ではメールサーバを運用していない事を記載できます。
サブドメイン | 種類 | 値 |
---|---|---|
@・空白・ドメイン名 | SPF | “v=spf1 -all” |
@・空白・ドメイン名 | TXT | “v=spf1 -all” |
Sendguid はこの方法をしていませんが、
docomo・au 向けに配信する場合、別途この設定が必要です。
SRV
サービスを割り当てているポート番号を設定します。
通常複数指定し、サーバの負荷分散に使用します。
一部サービスの認証で使われる場合もあります。
サブドメイン | 種類 | 優先度 | Weight | ポート | ホスト名 |
---|---|---|---|---|---|
_http._tcp | SRV | 1 | 0 | 80 | http.example.org. |
_ftp._tcp | SRV | 1 | 0 | 21 | ftp.example.org. |
Weight = 負荷分散の値。0~65535 で 0 は負荷分散なし
CAA
SSL サーバ証明書を制限します。証明書の偽造を防ぎます。
サブドメイン | 種類 | フラグ | タグ | ホスト名 |
---|---|---|---|---|
@・空白・ドメイン名 | CAA | 0 | issue | “letsencrypt.org” |
sub | CAA | 0 | issue | “letsencrypt.org” |
@・空白・ドメイン名 | CAA | 0 | issue | “mailto:[email protected]” |
@・空白・ドメイン名 | CAA | 0 | issue | “https://iodef.example.net/” |
SSL サーバ証明書の発行元(CA)がこの情報を公開しています。
PTR
IP アドレスからホスト名を返します。逆引きの設定です。
サブドメイン | 種類 | 値 |
---|---|---|
1.15.168.192.in-addr.arpa. | PTR | www.example.net. |
上は 192.168.15.1
の参照で www.example.net
を返します。
プロバイダやサーバ業者などが設定します。
大手ネットワークなどで内部割り当てのために設定する場合があります。
個人レベルで通常 PTR レコードを設定する機会はほとんどありません。
他のレコード
他にも次のレコードが存在します。
- CERT
- DNSKEY
- DS
- LOC
- NAPTR
- SMIMEA
- SSHFP
- TLSA
- URI
TTL (Time To Live)
レコードの設定が反映されるまでの秒数を設定します。
TTL | 意味 |
---|---|
1 | 1 秒 |
600 | 10 分 |
1800 | 30 分 |
3600 | 1 時間 |
86400 | 24 時間 |
通常レスポンスをはやくするため、数時間単位の TTL にします。
Google 推奨は 3600=1 時間 です。
DNS に関する基本ガイド - TTL(Time To Live)| G Suite 管理者ヘルプ
レコードを変更する時に反映がすぐに行われるように TTL を 1 など、
短時間の値にする場合があります。
ネームサーバサービス・アプリケーション
通常ドメイン登録・管理サービスがネームサーバも提供しているので、
そちらで設定して完結できますが、
他のネームサーバサービスを使用して安定度工場・レスポンス高速化などを実現できます。
ドメイン登録・管理専門、レンタルサーバはこの一覧から外しています。
Amazon Route 53
Amazon Route 53 | Amazon Web Services
Amazon Web Services(AWS)の 1 サービス。無料枠がなく完全課金ですが、
使用ケースは多く、ブログ記事などは検索ででてきやすいです。
Azure DNS
MIcrosoft Azure の 1 サービス。無料枠がなく完全課金です。
BIND (named)
BIND 9 | Internet Systems Consortium
BIND | ISC Open Source Projects
世界で最も利用されている DNS サーバです。そのため資料も多いです。
アプリ・ディレクトリ・設定ファイルが named なので、named とも言われます。
BIND は Berkeley Internet Name Domain の略称です。
(旧定義は Berkeley Internet Name Daemon)
Cloud DNS
Cloud DNS | Google Cloud Platform
Google Cloud Platform の 1 サービス。無料枠はなく、完全課金です。
Cloudflare
Cloudflare
🎈 Cloudflare | ふうせん🎈 FU-SEN
Cloudflare は CDN サービスですが、ネームサーバも提供しています。
CDN を使用せずにネームサーバだけ使用する事もできます。
- ドメイン登録数制限なし
- ネームサーバ制限数なし
無料でも制限がありません。 そのため、Cloudflare はおすすめです。
無料プランでも制限として、必ずドメイン単位
(厳密には 🎈 Public Suffix List の範囲)で登録する必要がありますが、
有料プランでは、サブドメインで Cloudflare へのサイト登録・管理ができます。
ClouDNS
無料で次が使用できます。
ネームサーバだけでなく、Web・メール転送も対応しています。
- 4 ドメイン分のネームサーバ
- 50 レコード
- 月 500000 クエリー
- 1 メール転送
- ダイナミック DNS
- Web 転送
- チャットサポート
NS1
Free Developer Plan として無料で次が使用できます。
- 月 500000 クエリー
- 50 レコード
- 1 モニター
- モニターインターバル 60 秒
- 1 フィルターチぇイン
Vercel
▲ Vercel
🎈 Vercel | ふうせん🎈 FU-SEN
Web サービス ZEIT Now はネームサーバを提供しています。
メールサーバやサブドメインなどを他のサービスに設定できます。
Now CLI のコマンド now dns
でネームサーバの設定を行います。
▲ Now CLI Reference - DNS | Vercel Docs
Dozens(サービス終了)
Dozens は 2019年11月 までにサービスを終了しています。
ネームサーバの設定確認
ネームサーバの設定を確認する方法として dig
または nslookup
があります。
設定内容が正しく反映されているか、また各地に設定内容が反映されているかを確認できます。
dig
Windows 以外の環境ではシェル・ターミナルより dig
を用います。
Windows の場合、🎈 Scoop でインストール可能です。
scoop install bind
インストールしても dig
の動作がおかしい場合は
次のパッケージをインストールしなおしてみて下さい。
Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ | Microsoft
最小限は dig ドメイン名
とします。
dig www.example.com
レコードの種類を追加して、具体的にレコードを参照できます。
dig www.example.com txt
@
の後ろにネームサーバを付けて、そのネームサーバを用いて参照できます。
@8.8.8.8
は Google Public DNS を参照しています。
dig @8.8.8.8 www.example.com
Google によって dig のオンラインツールが公開されています。
nslookup
Windows では Windows 10 でも nslookup
が入っています。
最小限は nslookup ドメイン名
とします。
nslookup www.example.com
-type=種類
でレコードの種類を追加し、具体的にレコードを参照できます。
nslookup -type=TXT www.example.com
後ろにネームサーバを付加できます。
8.8.8.8
は Google Public DNS を参照しています。
nslookup www.example.com 8.8.8.8
携帯キャリアの SPF 設定
docomo・au は From に入っているドメインの SPF(TXT レコード)を参照します。
送信ドメイン認証(Sender ID/SPF)について | NTTドコモ
送信ドメイン認証SPFレコードについて | au
Sendguid の初期設定で行える SPF 設定(Sender Authentication)はサブドメインを用いるため、
別途サブドメインなしに対して SPF 設定に u~.wi~.sendgrid.net
の追加が必要になります。
~
部分はアカウントによって変化します。
また、docomo は From に入っているドメイン名の MX レコードを使用します。