帶有自定義埠的 SRV DNS 記錄。我是否誤解了 SRV 應該做什麼?
我已經閱讀了 SRV 記錄,並認為我理解它們的含義,我想實現以下目標:
簡而言之:將主機名綁定到另一個主機名,但更改埠。
即考慮到,我有一個 aaa.bbb.com 的主機名。
在 aaa.bbb.com 上,我在埠 5000 上轉發了一個 RDP 服務埠。
因此,使用 RDP,我需要連接到 aaa.bbb.com:5000。
我希望創建
newhostname.bbb.com IN SRV 1 0 5000 aaa.bbb.com
,以便我可以連接到newhostname.bbb.com
,而不指定 5000 埠。我希望為我在多個域上的所有服務創建這樣的自定義映射。
我用 Dyn.com 創建了 SRV 記錄,但它們似乎不起作用。據我了解,協議本身必須“支持/尋找” SRV 記錄?那是對的嗎?
問題:
- 以上能實現嗎?
- 我錯過了 SRV 的意義嗎?
- 如果可以實現,是不是只對某些協議可用?
必須設計協議(以及實現它們的應用程序)以利用 SRV 記錄。
以 Outlook 為例。當它嘗試自動查找您的 Exchange 伺服器時,它將根據電子郵件地址 (
_autodiscover._tcp.{domain}
) 的域部分查找 SRV 記錄。如果找到,它將連接到 SRV 記錄中指定的伺服器和埠(因此 SRV 記錄可用於允許 SRV 感知應用程序在非標準埠上執行,對使用者透明)。大多數協議(例如 RDP、HTTP、各種電子郵件協議等)都沒有被設計為利用 SRV 記錄(而且看起來它們中的大多數也不會這樣做)。
當您 RDP 到 newhostname.bbb.com 時,RDP 客戶端只是嘗試獲取 newhostname.bbb.com 的 A 記錄,並在預設埠上連接到該記錄,除非您手動指定不同的埠。
您需要的是 RDP 客戶端為您輸入的主機名查找 SRV 記錄(很可能類似於
_rdp._tcp.example.com
,因為所有 SRV 記錄都遵循某種_service._protocol.aaa.bbb
格式),然後連接到該 SRV 中指定的主機/埠記錄。這顯然需要更改 RDP 客戶端應用程序。