외부 네트워크에서 DNS에 액세스 할 수 없습니다. 인터넷을 통해

CentOS 6.5에서 MaraDNS 인스턴스를 설정했습니다. MaraDNS가 설치된 로컬 컴퓨터에서 DNS 레코드에 액세스 할 수 있습니다. nslookup 다른 컴퓨터의 인터넷에서 DNS 서버 레코드에 액세스 할 수 없습니다.

인터넷을 통해 다른 컴퓨터에서 nslookup을 실행하면 얻을 수있는 것 :

연결 시간이 초과되었습니다; 서버에 도달 할 수 없음

iptables를 다음과 같이 설정했습니다.

iptables -I INPUT -p udp --dport 53 -j ACCEPT



답변

을 체크 해봐 bind_address 너의 /etc/marac 파일 여기에 설명 된대로 :

프로세스를 특정 인터페이스에 연결하려면 bind_address 매개 변수. 이 기본값은 0.0.0.0으로 모든 것을 의미합니다.
  인터페이스. 재귀 적이며 신뢰할 수있는 DNS가 필요한 경우 (즉
  영역 파일 추가) 특정 IP 주소로 변경해야합니다.
  듣기 위해 마라 던이 필요한 곳. 그렇지 않으면 시작할 수 없습니다.

그래서 네가 bind_address 에 설정 됨 127.0.0.1 그러면 로컬 호스트 연결에 엄격하게 바인딩됩니다. 따라서 인터페이스를 로컬 호스트 연결 외부에서 네트워크에 연결하려면 다음과 같이 설정하십시오. 0.0.0.0.

나는 MaraDNS를 사용하지 않으므로 나는 100 % 확신 할 수 없다. bind_address 매개 변수, 하지만 여기에 더 많은 정보 이름이 param을 가리킴 ipv4_bind_addresses:

ipv4_bind_addresses : MaraDNS 서버에 부여 할 IP 주소입니다. 이
  점으로 구분 된 십진수로 하나 이상의 ipv4 IP를 허용합니다 (예 : “127.0.0.1”).
  표기법을 지정하고 MaraDNS 서버가 어떤 IP 주소를 지정하는지
  잘 들어라. 여러 바인드 주소는 다음과 같이 쉼표로 구분됩니다.
  이 : “10.1.2.3, 10.1.2.4, 127.0.0.1”


답변