1. 概要

このチュートリアルでは、さまざまな種類のDNSレコードについて説明します。 最後に、DNSレコードを別のポートにリダイレクトする方法について説明します。

2. DNSの概要

コンピュータネットワークでは、IPアドレスを使用してデバイスを識別できます。 一方、人間は単語ベースのアドレスを使用するのが簡単だと感じています。 したがって、google.comのようなドメイン名を簡単に覚えることができます。 ただし、IPアドレス86.112.245.76を覚えるのは困難です。

したがって、これらのドメイン名をサーバーのIPアドレスにマップするディレクトリを保持する必要があります。 ドメインネームシステム(DNS)は、ドメイン名の電話帳のように機能します。 さらに、特定のドメイン名のサーバーのIPアドレスを提供します。 サーバーアドレスには、IPアドレスとポート番号の2つの部分があります。

ドメイン名のIPアドレスを見つけるために、デバイスはローカルキャッシュメモリのDNSレコードを検索します。 したがって、エントリが見つからない場合、要求はリゾルバISPキャッシュサーバーに送信されます。 さらに、それでもISPキャッシュでレコードが見つからない場合は、ルートサーバーにドメインのIPアドレスを取得するタスクが与えられます。 トップレベルドメイン(TLD)およびネームサーバーを使用してIPアドレスを解決するのに役立ちます。

DNSレコードは、ドメイン名情報をIPアドレスにマップするレコードです。 DNSレコードはIPアドレスに限定されず、他のいくつかの情報も含まれています。 一般的なDNSレコードタイプは、A、CNAME、Mx、SPF、Txt、DKIM、NS、CAA、およびSRVレコードです。

正規名レコード(CNAME)を使用して、あるドメインまたはサブドメイン名を別のドメインにマップします。 メールエクスチェンジャーレコード(MxRecord)は、ドメイン名のメールサーバーのレコードです。 たとえば、ドメイン名にホストが提供するサーバー以外の別のメールサーバーがある場合、DNS情報はMxRecordを介して提供できます。 SPFおよびDKIMレコードは、メールサーバーにとって重要です。 さらに、認証や電子メールのなりすましの防止など、電子メールのセキュリティ面でも役立ちます。

3. SRVレコード

DNSを別のポートにリダイレクトするには、サービスレコード(SRV)が重要な役割を果たします。 SRVレコードは、特定のサービスの場所に関する情報を含むDNSレコードの一種です。さらに、SRVレコードには、そのサービスに接続するためのサーバーアドレスが含まれています。

SMTP VoIP 、インスタントメッセージングなどのさまざまなサービスは、SRVレコードを使用して構成できます。 さらに、 SRVレコードには、IPアドレス、ポート、および存続時間(TTL)が含まれます。SRVレコードのすべてのフィールドについて説明します。

SRVレコードの名前フィールドはドメイン名を示し、ドットで終わる必要があります。 サービスは、目的のサービスの短縮形を表示します。 プロトコルフィールドは、サービスで使用される特定のプロトコルに関する情報を提供します。 一般に、最も一般的なプロトコルはTCPおよびUDPです。 存続時間(TTL)は、DNSレコードをキャッシュメモリに保持する時間を示します。 したがって、DNSレコードの変更は、TTLを超えた後に反映されます。

優先度は、ホストに与えられた優先度を表す数値です。 値が小さいほど、優先度が高くなります。 AとBの2つのサーバーがあると仮定します。 したがって、サーバーAの優先度の値がサーバーBよりも低い場合、要求トラフィックは常にサーバーAに送信されます。

重みフィールドは、ホストに与えられる重みを表します。 同じ優先順位が与えられると、特定のホストの重みが高い場合、着信トラフィックに選択される可能性が高くなります。 さらに、2つのサーバーの優先度の値が同じである場合、要求トラフィックはサーバー間で分割されます。 したがって、優先度の値が最も高く、重みが高いサーバーは、比較的多くの要求を受け取ります。

ポートは、サーバーが接続できるポートのタイプを表します。 一般に、ポートはTCPまたはUDPポートのいずれかです。 最後に、フィールドターゲットは、特定のサービスを提供するマシンのホスト名を示します。 さらに、さらに2つのフィールドがあります。DNSクラスを示すINと、レコードのタイプを表すSRVです。

それでは、 SRVレコードの一般的なスタンド形式を見てみましょう:

_Service._Protocol.Name. TTL IN SRV Priority Weight Port Target.

SRVレコードのいくつかの例は次のとおりです。

_testservice._tcp.example.com. 18000 IN SRV 10 40 5555 tar1.example.com.

4. DNSを別のポートにリダイレクトする

それでは、SRVレコードの応用についてお話しましょう。 ドメインの異なるサブドメインを異なるサーバーまたはポートに接続する問題を解決したい:

ドメインexample.comの複数のサブドメインをIPアドレスの異なるポートに接続するとします。

同じパブリックIPアドレスで実行されている複数のサーバーは、異なるポートを介して公開されます。 さらに、3つの異なるサブドメインを異なるポートに割り当てたいと思います。 したがって、このようにして、さまざまなサブドメインのリクエストがそれぞれのサーバーに確実に送信されるようにすることができます。 したがって、これはSRVレコードを作成することで実現できます。 サブドメインの場合、サービスレコード(SRV)を作成できます。

_xyzservice._tcp.example.com. 18000 IN SRV 10 40 5555 sub1.example.com.
_xyzservice._tcp.example.com. 18000 IN SRV 10 30 5556 sub2.example.com.
_xyzservice._tcp.example.com. 18000 IN SRV 10 30 5557 sub3.example.com.

したがって、異なるサブドメインに対する異なる要求は、パブリックIPアドレスの異なるポートに送信されます。 異なるサーバーが異なるポートを介して公開されている場合、特定のサブドメインに対する要求は対応するサーバーに送信されます。 さらに、上記の SRVレコードには、特定のサーバーのIPアドレスを指定するためのAレコードが必要です。したがって、Aレコードのエントリを見てみましょう。

sub1.example.com. 18000 IN A <IP Address>
sub2.example.com. 18000 IN A <IP Address>
sub3.example.com. 18000 IN A <IP Address>

このように、SRVレコードは、さまざまなサブドメイン要求をさまざまな物理サーバーまたはポートに分割することにより、DNSアドレスをリダイレクトできます。

5. 結論

このチュートリアルでは、いくつかの種類のDNSレコードについて説明します。 SRVレコードを詳しく調べました。 最後に、SRVレコードがDNSをさまざまなポートにリダイレクトするのにどのように役立つかを説明しました。