ポート53は、DNS(Domain Name System)が名前解決に使う基本的なポートです。
DNSは、example.com のような人が読みやすいドメイン名を、コンピュータが通信に使うIPアドレスへ変換する仕組みです。
たとえば、ブラウザでWebサイトを開くとき、まずDNSがそのサイトのIPアドレスを調べます。
このとき中心的に使われるのが53番ポートです。
つまりポート53は、インターネット上で「名前を調べるための入口」といえます。
DNSは、ドメイン名とIPアドレスを対応づける仕組みです。
たとえば人は www.example.com のような名前は覚えやすいですが、実際の通信では 93.184.216.34 のようなIPアドレスが必要です。
DNSはこの変換を担っています。
よく「インターネットの電話帳」と説明されますが、実際には単に名前とIPアドレスを対応づけるだけではなく、メール配送先、ネームサーバー情報、認証用テキスト情報など、さまざまな情報も扱います。
ポート53では、主にDNSの問い合わせと応答が行われます。
たとえば次のような確認です。
www.example.com のIPアドレスは何かexample.com のメールサーバーはどこかこのように、Webサイト表示、メール送受信、API接続などの前提になる「名前解決」が、ポート53を通じて行われます。
DNSの大事なポイントは、UDP 53とTCP 53の両方を使うことです。
「DNSは53番ポートを使う」と聞くと1種類だけに見えますが、実際には通信方式が2つあると理解したほうが正確です。
DNSでは、昔からUDP 53が広く使われてきました。
UDPは接続の準備が不要で、短い問い合わせと短い応答を軽く処理しやすいため、通常の名前解決に向いています。
そのため、一般的なDNS問い合わせの多くはUDPで行われます。
たとえば次のような場面です。
一方で、DNSはTCP 53も使います。
ここは非常に重要です。
昔は「DNSは基本的にUDPで、TCPは特殊な場合だけ使う」と説明されることが多くありました。
これは入門向けには大きく外れていませんが、少し単純化しすぎです。
より正確には、
DNSは歴史的にはUDP中心で使われてきたが、TCPも正式で重要な通信手段である
と理解するのが適切です。
つまり、TCP 53は「例外用の補助」ではなく、DNSの運用においてきちんと意味のある仕組みです。
TCPが必要になる代表的な場面のひとつは、応答が大きい場合です。
DNSの問い合わせ結果は、内容によっては大きくなることがあります。
そのとき、UDPでは扱いにくくなり、TCPが必要になります。
また、DNSサーバー同士で情報を同期するゾーン転送でも、TCPが重要です。
そのため、DNSを正しく理解するには、
という2段構えで覚えるのがよいです。
DNSサーバー同士では、ゾーン情報を同期するためにゾーン転送が行われます。
ここでよく出てくるのが次の2つです。
ゾーン全体をまとめて転送する方式です。
これはTCPを使うものとして理解しておくとよいです。
変更差分だけを転送する方式です。
入門説明では「ゾーン転送はTCP」とまとめられることが多いですが、厳密にはAXFRほど単純ではなく、少し細かい扱いになります。
そのため、初心者向けにはまず
フルゾーン転送であるAXFRはTCPを使う
と押さえておくと混乱しにくいです。
Webサイトにアクセスするときの流れを簡単に書くと、次のようになります。
つまりDNSのポート53は、Web通信そのものではなく、その前段階で必要になる名前解決を支えています。
DNSでは、さまざまな種類のレコードが使われます。
代表的なものは次の通りです。
ドメイン名をIPv4アドレスに対応づけます。
ドメイン名をIPv6アドレスに対応づけます。
別名を正規の名前へ向けます。
メールの配送先サーバーを示します。
そのドメインを管理するネームサーバーを示します。
テキスト情報を保持します。
SPF、DKIM、DMARCなどの設定でも重要です。
逆引きに使われます。
IPアドレスからホスト名を調べるときに使います。
ポート53でのDNS通信が正常にできないと、ネットワークそのものはつながっていても、実際には多くのサービスが使えなくなります。
よくある症状は次のようなものです。
このとき、ユーザーからは「ネットがつながらない」と見えますが、実際にはDNSの問題であることが少なくありません。
一般的なPCやスマートフォンは、DNSサーバーに対して宛先ポート53へ問い合わせを送ります。
一方、DNSサーバーとして公開する側は、UDP 53だけでなくTCP 53も必要になることがあります。
ここでよくある誤解は、
DNSだからUDP 53だけ開ければよい
という考え方です。
通常問い合わせだけを見るとそう見えますが、実際にはTCPも必要になるため、UDP 53だけでDNSを理解したつもりになるのは不十分です。
ポート53は重要なぶん、セキュリティ面でも注意が必要です。
誰でも再帰問い合わせできるDNSサーバーを公開してしまうと、外部から悪用されるおそれがあります。
特に増幅型の攻撃に利用されることがあります。
ゾーン転送を無制限に許していると、内部構成に関する情報が漏れる可能性があります。
DNS通信に見せかけて不正なデータ通信を行う手法です。
ポート53は通りやすいことが多いため、悪用されることがあります。
つまり、ポート53は「開ければよい」ではなく、どう制御するかが大切です。
最近では、従来の53番ポートを使うDNS以外に、暗号化されたDNSもあります。
DNSをTLSで暗号化して送る方式です。
既定ではTCP 853が使われます。
DNSをHTTPS上で送る方式です。
一般にはHTTPS通信と同じく443番ポートで使われます。
このため、最近のDNSは必ずしも53番だけではありません。
ただし、DNSの基本を理解するうえでは、まずポート53が中心だと考えて問題ありません。
Web運用やインフラ運用では、ポート53の理解はかなり重要です。
たとえば次のようなトラブルに直結します。
これらは一見するとWebサーバーやメールサーバーの問題に見えても、実際にはDNSが原因であることがよくあります。
DNSの確認では、次のようなコマンドがよく使われます。
nslookup example.com
dig example.com
dig example.com +tcp
dig @8.8.8.8 example.com
dig example.com MX
意味は次の通りです。
nslookup example.comdig example.comdig example.com +tcpdig @8.8.8.8 example.comdig example.com MXDNSのポート53は、名前解決のための基本ポートです。
そして重要なのは、DNSがUDP 53だけでなくTCP 53も使うことです。
整理すると、次の理解が最も実用的です。
一言でいえば、ポート53はDNSの土台であり、インターネット通信の前提を支える重要なポートです。
以上、DNSのポート53についてでした。
最後までお読みいただき、ありがとうございました。