サービスロケーションレコード
DNS とレコード
DNS ルックアップ あらゆるドメインのすべての DNS レコード A レコードルックアップ ドメインの IPv4 アドレス AAAA レコードルックアップ ドメインの IPv6 アドレス MX ルックアップ ドメインのメールサーバー NS ルックアップ 権威ネームサーバー TXT ルックアップ TXT レコード、SPF、検証 CNAME ルックアップ 正規名(エイリアス)レコード SOA ルックアップ Start of Authority レコード SRV ルックアップ サービスロケーションレコード CAA ルックアップ どの CA が証明書を発行できるか 逆引き DNS(PTR) IP アドレスからホスト名へ DNSSEC チェック ドメインは署名され検証されているか? DNS ヘルスチェック 委任と DNS の総合診断レポートメール到達性
SPF チェック Sender Policy Framework レコードを検証 DMARC チェック DMARC ポリシーを検査・評価 DKIM チェック DKIM 公開鍵を検索・検証 ブラックリストチェック IP をメールブロックリスト(DNSBL)と照合 SMTP テスト メールサーバーに接続し STARTTLS をチェック MTA-STS チェック 受信メールに対する強制 TLS ポリシー BIMI チェック メール用のブランドロゴレコード TLS-RPT チェック SMTP TLS レポートポリシーネットワークとウェブ
SSL 証明書チェック サイトの TLS 証明書と有効期限を検査 HTTP ヘッダーチェック レスポンスヘッダー、リダイレクト、セキュリティを検査 Ping(TCP) TCP 経由での到達性と遅延 ポートチェック どの一般的なポートが開いているかドメイン
WHOIS ルックアップ ドメイン、IP、ASN の登録データSRV(Service)レコードは、特定のサービス(SIP、XMPP、LDAP、Microsoftのautodiscoverなど)のホスト名とポートを、負荷分散のための優先度と重みとともに広告します。Aレコードと異なり、サービスがどこにあるかだけでなくどのポートにあるかも伝えるため、アプリケーションはハードコードされた設定なしにサービスを見つけられます。_service._proto.domainの形式で照会します。
SRVレコードは特徴的なパターンで名付けられます。_service._proto.domain、例えば_sip._tcp.example.comです。アンダースコアは通常のホスト名との衝突を防ぎます。レコードのデータは4つの値を保持します。優先度、重み、ポート、ターゲットです。優先度はMXのように機能し、数字が小さいほど先に試されます。重みは同じ優先度のターゲット間で負荷を分散し、重みが大きいほど比例して多くのトラフィックを受けます。ポートはサービスが待ち受けるTCPまたはUDPポートで、ターゲットはそれを提供するホスト名であり、独自のAまたはAAAAレコードを持つ必要があります。
IPeekは、照会したサービス名に対する各SRVレコードの優先度、重み、ポート、ターゲットホストを返します。まず優先度を読みます。クライアントは優先度の低いターゲットを、高いものへフォールバックする前に使います。優先度が等しい中では、重みが各ターゲットが受けるトラフィックの割合を決めます。ポートが期待するサービスと一致することを確認してください。SIPは5060、LDAPは389、多くのautodiscoverは443です。各ターゲットが有効なホストに解決されることを確認します。結果が空なら、そのサービスはその名前でドメインに広告されていません。
SRVレコードは、クライアントが固定設定に頼るのではなくサービスを自動的に発見しなければならないときに重要です。Microsoft Teams、Skype for Business、SIPプロバイダーは、音声やプレゼンスのサーバーを見つけるためにこれらを使います。XMPPチャット、LDAPディレクトリ検索、Minecraftサーバー、Kerberosもすべて、SRVによる発見に依存します。大きな利点は柔軟性です。サービスを新しいホストやポートへ移したり、複数のサーバーに分散させたりしても、クライアントは再設定なしにSRVレコードに従います。サービスが特定の_service._proto名を要求する場合は、対応するSRVレコードを公開しないとクライアントは見つけられません。
このパターンは、SRVレコードが記述するサービスとプロトコルによってレコードを名付けます。_serviceはサービスラベル(_sipや_ldapなど)、_protoはトランスポート(_tcpまたは_udp)、domainはあなたのドメインです。例えば、_sip._tcp.example.comはTCP上のSIPを広告します。先頭のアンダースコアは、これらのラベルが通常のホスト名と衝突しないようにします。
優先度と重みは、クライアントがどのターゲットを選ぶかを制御します。優先度はMXレコードのように機能し、クライアントは優先度の低いターゲットを最初に試し、大きい番号へフォールバックします。優先度を共有するターゲット間では、重みが各ターゲットが受けるトラフィックの割合を設定するため、重みが大きいほど多くの接続を引き寄せます。両者を合わせて、フェイルオーバーと負荷分散の両方を可能にします。
Aレコードはホスト名をIPアドレスにマッピングしますが、SRVレコードはさらにポートを指定し、名前付きサービスに対する優先度と重みを追加します。SRVは、サービスがどこで、どのポートで稼働するか、そして負荷をどう分散するかをクライアントが発見できるようにします。これは単なるAレコードでは表現できません。SRVのターゲットは、解決のために依然Aレコードに依存します。
SIPやVoIPシステム、XMPPチャット、LDAPやActive Directory、Kerberos、Microsoft TeamsやSkype for Business、さらにはMinecraftサーバーがSRVレコードをよく使います。ハードコードされたホストとポートの設定なしに自動的なサービス発見から恩恵を受けるプロトコルは、どれも候補です。クライアントは該当する_service._proto名を照会するよう書かれている必要があります。
空のSRV結果は通常、その正確な_service._proto.domain名でレコードが公開されていないことを意味します。サービスラベル、プロトコル、ドメインがアンダースコアを含めて正しく綴られているか確認してください。サービスが期待と異なる名前を使っているか、レコードが単に存在しない可能性があります。クライアントアプリケーションが必要とする正確な名前を確認してください。