DNS가 호스트와 동일하게 확인되지 않음

DNS가 호스트와 동일하게 확인되지 않음

virtualbox에서 실행되는 OSX 호스트와 ubuntu 10.04 vagrant 인스턴스가 있습니다. 이메일 테스트 목적으로 emailtests.com에 이메일을 보내려고 시도하는 동안 DNS가 제대로 확인되지 않는 것을 발견했습니다.

그래서 우리는 OSX와 Vagrant 인스턴스에서 다음 명령을 따르려고 했습니다.dig -tMX emailtests.com

OSX

; <<>> DiG 9.8.3-P1 <<>> -tMX emailtests.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39364
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;emailtests.com.            IN  MX

;; ANSWER SECTION:
emailtests.com.     300 IN  MX  10 litmus-smtp-in-392690123.us-east-1.elb.amazonaws.com.

;; AUTHORITY SECTION:
emailtests.com.     172711  IN  NS  ns-1596.awsdns-07.co.uk.
emailtests.com.     172711  IN  NS  ns-215.awsdns-26.com.
emailtests.com.     172711  IN  NS  ns-1288.awsdns-33.org.
emailtests.com.     172711  IN  NS  ns-964.awsdns-56.net.

;; ADDITIONAL SECTION:
ns-964.awsdns-56.net.   158810  IN  A   205.251.195.196
ns-1288.awsdns-33.org.  158499  IN  A   205.251.197.8
ns-1596.awsdns-07.co.uk. 72461  IN  A   205.251.198.60

;; Query time: 74 msec
;; SERVER: 184.73.189.33#53(184.73.189.33)
;; WHEN: Mon Sep  9 13:15:02 2013
;; MSG SIZE  rcvd: 282

방랑자

; <<>> DiG 9.7.0-P1 <<>> -tMX emailtests.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 2227
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;emailtests.com.            IN  MX

;; Query time: 104 msec
;; SERVER: 10.0.2.3#53(10.0.2.3)
;; WHEN: Mon Sep  9 13:09:42 2013
;; MSG SIZE  rcvd: 32

보시다시피 MX 레코드는 같은 방식으로 확인되지 않습니다. 온라인을 둘러본 결과 다음 방랑자 파일을 추가하라는 답변을 찾았습니다.

  config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
  config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  config.vm.customize ["modifyvm", :id, "--natdnspassdomain1", "on"]

우리는 이미 가지고 있었습니다. 우리는 여전히 해당 주소와 다른 많은 주소를 적절하게 확인할 수 없습니다. 이 문제를 해결하거나 문제의 범위를 좁히는 방법에 대한 아이디어가 있습니까?

참고: Gmail로 이메일을 보낼 수 있고 일부 도메인을 ping/dig할 수 있습니다.

업데이트, 방랑자의 ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:36:71:5f  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe36:715f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38137 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26845 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18987844 (18.9 MB)  TX bytes:6605246 (6.6 MB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:80:07:aa  
          inet addr:192.168.42.3  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe80:7aa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8294812 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4509692 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1871276346 (1.8 GB)  TX bytes:1268188839 (1.2 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:815216 errors:0 dropped:0 overruns:0 frame:0
          TX packets:815216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:371105283 (371.1 MB)  TX bytes:371105283 (371.1 MB)

답변1

구성된 DNS 서버 10.0.2.3이 재귀 조회를 수행하도록 구성되지 않은 것 같습니다. 전혀 답을 얻지 못합니다. 재귀적 조회를 수행할 수 있는 DNS 서버를 사용하거나 그렇게 할 수 있도록 구성하십시오.

답변2

나는 오늘 아침에 같은 문제를 보면서 우연히 이것을 발견했고, 많은 인터넷 검색/머리 긁기 끝에 다음과 같은 해결책을 찾았습니다. 이 해결책은 나중에 이 문제가 있어 막히는 다른 사람을 위해 게시할 것입니다.

우리를 위해 작동하는 natdns Vagrantfile 설정(Vagrant 1.6.3, OSX(VirtualBox 4.3.14 사용) 및 Windows8(Virtual Box 4.3.15 r95286 사용)에서 테스트됨 - 내 동료는 Windows8에서 4.3.14를 사용하여 관련 없는 문제가 있어서 사용 중입니다. vagrant에서 제대로 작동하는 것으로 보이는 베타 빌드)

config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "off"]
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "off"]
config.vm.customize ["modifyvm", :id, "--natdnspassdomain1", "off"]

(확실히 첫 번째 줄은 다음 두 개가 필요하지 않을 수도 있습니다. 실험하는 동안 켜기로 전환한 경우를 대비해 포함시켰습니다. 저는 방금 --natdnsproxy1Vagrantfile --natdnshostresolver1에서 둘 다 꺼짐으로 설정했습니다.)

그 이유는 Vagrant가 기본적으로 켜져 있고 mx 조회를 위한 virtualbox의 프록시된 DNS가 결함/깨진/flakey인 것처럼 보이기 때문인 것 같습니다 --natdnsproxy1. 이를 off로 설정하면 vm은 프록시를 시도하는 대신 호스트가 DNS에 사용하는 IP 주소를 사용하게 됩니다. 10.0.2.3을 통해 - 그리고 짜잔, DNS에서 전체 mx 레코드를 얻습니다(또는 적어도 우리는 얻습니다).

(구글 검색을 통해 제가 이 모든 것을 알게 된 이유는 이메일이 Centos 6.5를 실행하는 방랑자로부터 특정 도메인으로 전송되지 않았기 때문입니다. 우리는 sendmail이 다음 오류로 응답하는 것을 볼 수 있었습니다: 503 "이 메일 서버에는 인증이 필요합니다." 로컬이 아닌 이메일 주소로 보내려고 할 때..." 그런 다음 우리는 a를 수행하는 것이 dig mydomain.com mx예상되는 MX 메일 레코드가 아닌 도메인의 A 레코드를 반환한다는 것을 발견했습니다. 이는 Vagrant /에 대한 DNS 조회 문제를 암시합니다. 버추얼박스).

관련 정보