멀티 홈 서버에서 SLES10 (현재 바인드 9.6)에 DNS 서버를 설정했습니다. 이 서버는 모든 내부 네트워크에서 쿼리 할 수 있으며 모든 내부 네트워크에 대한 답변을 제공합니다. 두 개의 개별 DNS "마스터"영역이 있습니다. 이러한 각 영역에는 여러 신뢰할 수있는 Windows-DNS 서버가 제공됩니다.
이제 내 linux-server는 이러한 영역 중 하나 (개인 내부 영역)의 보조 DNS 서버이며 다른 영역 (공용 내부 영역)의 전달자 역할을합니다.
최근까지이 설정은 문제없이 작동했습니다. 이제 공개 내부 영역을 쿼리하면 (예 : host
Linux 클라이언트 의 명령으로) 오류 메시지가 표시됩니다.
;; TCP 모드에서 잘려서 재시도
wireshark-dump는 그 원인을 밝혔습니다. 첫 번째 쿼리는 UDP 모드에서 나오고 응답은 신뢰할 수있는 NS의 긴 목록으로 인해 UDP에 맞지 않으며 TCP 모드에서 다시 시도하여 올바른 답을 제공합니다.
이제 질문 : UDP를 먼저 시도하지 않고 TCP 모드에서 전달자를 쿼리하도록 바인드를 구성 할 수 있습니까?
업데이트 : ASCII 아트에 손을 대는 중 ...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client|
+------+ +------+
host
명령을 실행하는 호스트 와 어떤 쿼리가 전송되는지는 아직 확실하지 않지만 다소 나아 집니다.
minimal-responses: yes
SLES 10의 BIND 구성에 추가 하는 것이 좋습니다 . 응답 크기가 줄어들 수 있습니다. 어쨌든 대부분의 일반 쿼리는 512 바이트 제한을 초과하지 않습니다.