Thêm một bản ghi SRV vào vùng của bạn không dạy bất kỳ máy khách VPN nào cách tra cứu nó. Máy khách phải biết nhãn, quyết định gửi truy vấn và hành động theo những gì trả về, còn DNS không thể cung cấp hai điều đầu tiên. Vì vậy phần lớn các kế hoạch SRV thất bại là vấn đề máy khách khoác áo DNS. Hãy đọc hành vi khám phá của máy khách trước, rồi chỉ công bố đúng nhãn mà nó thực sự truy vấn.

Một bản ghi không ai truy vấn thì không thể giúp ai

SRV công bố vị trí của một dịch vụ; nó không loan báo dịch vụ. Không có gì đẩy một bản ghi về phía máy khách, và không trình phân giải nào tự đề xuất một cái tên chưa từng được hỏi. Việc tra cứu bắt đầu khi ứng dụng quyết định thực hiện nó, nên nhãn phải đến từ tài liệu của sản phẩm hoặc từ việc quan sát phần mềm trên mạng. Ở nơi máy khách không có bước khám phá nào, một bản ghi chỉ thay đổi vùng và không thay đổi gì khác.

Đó là lý do một sản phẩm trên mạng có thể bắt đầu hoạt động trong khi sản phẩm khác không bị ảnh hưởng bởi cùng thay đổi đó. Biến số là phần mềm, và máy chủ DNS làm đúng những gì được bảo. Hãy đọc lại vùng sau khi sửa, vì một nhãn gõ sai dễ ẩn mình giữa những bản ghi trông giống hệt nhau.

Đọc các trường trước khi ghi chúng

Một bản ghi mang bốn giá trị, và mỗi giá trị trả lời một câu hỏi khác nhau: mức ưu tiên sắp xếp các đích mà máy khách có thể thử, trọng số chia tải giữa các đích cùng mức ưu tiên, cổng đặt tên cổng vận chuyển, và đích đặt tên máy chủ. Đặc tả cũng cho phép một đích là . để nghĩa là dịch vụ cố ý không sẵn có, đó là một câu trả lời hữu ích chứ không phải hỏng.

Không trường nào trong số đó mang thông tin xác thực, chính sách chứng chỉ hay phiên bản ứng dụng, và máy khách bỏ qua trọng số vẫn kết nối, chỉ là không có sự cân bằng dự định. Đích cần các bản ghi địa chỉ của riêng nó, và nó nên là tên chuẩn tắc chứ không phải bí danh. Công bố một bản ghi trỏ tới máy chủ không có trình lắng nghe tạo ra lỗi kết nối đọc như lỗi DNS, và đó là kiểu gây nhầm lẫn đắt nhất. Hãy công bố toàn bộ chuỗi hoặc không công bố gì.

Tìm nhãn mà máy khách thực sự gửi

Xác lập nhãn từ bằng chứng chứ không phải từ phỏng đoán về tên sản phẩm. Hoặc tài liệu nêu tên dịch vụ, hoặc một bản ghi bắt gói cho thấy truy vấn rời máy khách khi nó khởi động. Cả hai đường đều kết thúc ở cùng một chỗ: một tên và kiểu chính xác để thử với trình phân giải.

dig +short SRV _vpn._tcp.gw.example
dig +short A edge2.gw.example
tcpdump -ni any udp port 53

So sánh câu trả lời với bản ghi bạn đã công bố, từng ký tự một, vì dấu gạch dưới và dấu chấm cuối là một phần của tên. Một câu trả lời rỗng cho truy vấn thực sự được gửi chỉ về vùng, trong khi hoàn toàn không có truy vấn chỉ về máy khách, và những phát hiện đó đưa bạn tới các nhóm khác nhau. Một câu trả lời thật giống dòng bên dưới, nơi mức ưu tiên 20 thua bất kỳ bản ghi nào có mức ưu tiên thấp hơn và máy khách quay số cổng 8443 trên đích được nêu tên.

_vpn._tcp.gw.example. 600 IN SRV 20 10 8443 edge2.gw.example.

Đích cũng phải tồn tại

Một đích phân giải được không giống một dịch vụ trả lời. Hãy kiểm tra các bản ghi địa chỉ của đích, rồi kiểm tra rằng có thứ gì đó đang lắng nghe trên cổng và giao thức đã công bố. Một bản ghi TCP trỏ tới trình lắng nghe chỉ UDP là sự không khớp mà không việc sửa vùng nào chữa được. Giữ TTL ngắn trong khi đích còn biến động, và kéo dài nó khi cái tên ngừng di chuyển.

Các máy khách thực sự triển khai khám phá khác nhau ở mức độ tôn trọng bản ghi. Một số chỉ dùng mức ưu tiên, một số coi trọng số là lời khuyên, và một vài máy bỏ qua cổng và giả định một giá trị mặc định. Những khác biệt đó thuộc về ghi chú của bạn bên cạnh nhãn, vì chúng giải thích hành vi mà nếu không sẽ trông như lỗi của trình phân giải.

Khám phá không phải xác thực

Một câu trả lời SRV nói nơi cần kết nối, và nó không nói gì về việc tin ai sau khi bạn tới. Hãy để việc kiểm tra chứng chỉ và kiểm tra danh tính máy chủ ở máy khách y nguyên như cũ, vì một bản ghi mà người khác có thể làm giả không nên trở thành quyết định tin cậy. Các câu trả lời DNS có thể được lưu đệm và chỉnh sửa bởi bất kỳ ai kiểm soát vùng, khiến chúng thành nơi tồi để mã hóa chính sách.

Với máy khách không hỗ trợ khám phá, hãy phân phát hồ sơ hoặc URL cổng mà nó chấp nhận, và ghi lại sản phẩm nào dùng phương thức nào. Ghi chú đó ngăn người quản trị tiếp theo thêm một bản ghi và mong nó hoạt động ở mọi nơi. Đặc tả SRV mô tả việc chọn giữa các đích, và đọc nó như một cơ chế ủy quyền chính là cách một bản ghi hữu ích trở thành một giả định bảo mật. Hãy công bố có chủ đích, nêu tên nhãn trong tài liệu của bạn, và coi máy khách là thành phần quyết định liệu tất cả những điều này có ý nghĩa hay không.

Bài viết liên quan