세 개의 서로 다른 서브넷에 세 개의 IP 주소가 있는 CentOS 서버(amanda01)가 있습니다.
eth0 = 10.0.2.0 subnet eth0.vlan101 = 10.101.0.0 subnet eth0.vlan107 = 10.107.0.0 subet
(보시다시피 각 IP는 자체 VLAN에 있고 각 VLAN은 상위 인터페이스 eth0에서 나갑니다.)
내 DNS 서버에 3개의 A 레코드가 있습니다.
amanda01.domain.grp IN A 10.0.2.81 amanda01.domain.grp IN A 10.101.0.14 amanda01.domain.grp IN A 10.107.0.14
10.0.2.0 서브넷의 서버에서 호스트 이름을 ping하면 amanda01
DNS 서버가 위에 나열된 세 개의 IP 중 하나를 사용하여 응답합니다. 이는 분명히 순환적인 동작입니다.
내 질문은 다음과 같습니다.
DNS 서버가 원래 요청이 이루어진 서브넷에만 응답하도록 하려면 어떻게 해야 합니까? 즉, ping하려는 서버가 IP 10.0.2.11에 있는 경우 10.0.2.81의 응답만 원합니다.
답변1
분할 수평 또는 분할 보기 DNS라는 것을 사용해야 합니다.
모든 서버가 이 기능을 지원하는 것은 아닙니다. 당신은 사용해야 할 수도 있습니다ISC 바인딩이 목표를 달성하려면 다음과 같은NLnet Labs의 NSD대부분의 다른 최신 재작성에서는 이에 대한 지원을 광고하지 않습니다.
실용적인 관점에서 볼 때 모든 호스트 이름을 포함하는 단일 영역을 생성한 다음 셸 스크립트를 사용하여 원래 영역을 기반으로 분할 영역을 자동으로 생성하는 것을 고려하는 것이 좋습니다(각 분할 보기에 해당하는 서브넷만 선택). 당신은 다음과 같은 것을 사용할 수 있습니다그레이프시델서브넷이 단순한 /24보다 더 복잡한 경우.