Tôi đã thiết lập máy chủ DNS trên SLES10 (hiện đang liên kết 9.6) trên máy chủ đa homed. Máy chủ này có thể được truy vấn từ tất cả các mạng nội bộ và đưa ra câu trả lời cho tất cả các mạng nội bộ. Chúng tôi có hai vùng "chính" DNS riêng biệt. Mỗi khu vực này đang được phục vụ bởi một số máy chủ Windows-DNS có thẩm quyền.
Bây giờ máy chủ linux của tôi là máy chủ DNS thứ cấp cho một trong những vùng này (vùng bên trong riêng) và đóng vai trò là người chuyển tiếp cho vùng khác (vùng bên trong công cộng).
Cho đến gần đây thiết lập này hoạt động mà không có vấn đề. Bây giờ tôi nhận được - khi truy vấn vùng bên trong công cộng (ví dụ: bằng host
lệnh trên máy khách linux) thông báo lỗi
;; Cắt ngắn, thử lại trong chế độ TCP
một wireshark-dump đã tiết lộ nguyên nhân của việc này: Truy vấn đầu tiên xuất hiện ở chế độ UDP, câu trả lời không phù hợp với UDP (do danh sách dài của NS có thẩm quyền), sau đó nó được thử lại trong chế độ TCP, đưa ra câu trả lời đúng.
Bây giờ câu hỏi: Tôi có thể định cấu hình liên kết của mình để truy vấn các bộ chuyển tiếp trong chế độ TCP mà không cần thử UDP trước không?
Cập nhật: Thử sức với ASCII-art ...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client|
+------+ +------+
host
lệnh này và truy vấn nào đang được gửi.
minimal-responses: yes
vào cấu hình BIND trên SLES 10 - nó có thể làm giảm kích thước phản hồi. Trong mọi trường hợp, hầu hết các truy vấn bình thường sẽ không vượt quá giới hạn 512 byte.