Wir haben einen OSX-Host und eine Ubuntu 10.04 Vagrant-Instanz, die auf Virtualbox läuft. Beim Versuch, eine E-Mail an emailtests.com zu senden (zu Testzwecken), stellten wir fest, dass die DNS-Auflösung nicht richtig war.
Also haben wir versucht, den folgenden Befehl unter OSX und unserer Vagrant-Instanz auszuführen: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
Landstreicher
; <<>> 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
Wie Sie sehen, werden die MX-Einträge nicht auf dieselbe Weise aufgelöst. Ich habe online nachgesehen und Antworten gefunden, die uns raten, der Vagrant-Datei Folgendes hinzuzufügen:
config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
config.vm.customize ["modifyvm", :id, "--natdnspassdomain1", "on"]
Das hatten wir bereits. Wir können diese Adresse und wahrscheinlich auch viele andere Adressen immer noch nicht richtig auflösen. Irgendwelche Ideen, wie man das Problem lösen oder eingrenzen kann?
Hinweis: Wir können E-Mails an Gmail senden und einige Domänen anpingen/auslesen.
UPDATE, ifconfig von Vagrant
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)
Antwort1
Offenbar ist der konfigurierte DNS-Server 10.0.2.3 nicht für rekursive Suchvorgänge konfiguriert. Sie erhalten überhaupt keine Antwort. Verwenden Sie einen DNS-Server, der rekursive Suchvorgänge ausführen kann, oder konfigurieren Sie Ihren Server so, dass er dazu in der Lage ist.
Antwort2
Ich bin heute Morgen beim Betrachten desselben Problems darüber gestolpert und habe nach langem Googeln und Grübeln die folgende Lösung gefunden. Ich werde sie für alle posten, die in Zukunft dieses Problem haben und nicht weiterkommen.
Die natdns Vagrantfile-Einstellungen, die bei uns funktionieren (Vagrant 1.6.3, getestet unter OSX (mit VirtualBox 4.3.14) und Windows 8 (mit Virtual Box 4.3.15 r95286 – mein Kollege hatte ein anderes, nicht damit zusammenhängendes Problem bei der Verwendung von 4.3.14 mit Windows 8 und verwendet daher eine Betaversion, die mit Vagrant einwandfrei zu funktionieren scheint)
config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "off"]
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "off"]
config.vm.customize ["modifyvm", :id, "--natdnspassdomain1", "off"]
(auf jeden Fall die erste Zeile, die folgenden beiden brauchen Sie vielleicht nicht, ich habe sie nur für den Fall eingefügt, dass Sie sie beim Experimentieren eingeschaltet haben – ich habe gerade --natdnsproxy1
und --natdnshostresolver1
in meiner Vagrant-Datei beide auf „Aus“ gesetzt).
Der Grund scheint zu sein, dass Vagrant standardmäßig aktiviert ist --natdnsproxy1
und der geproxte DNS von VirtualBox für MX-Lookups fehlerhaft/defekt/unzuverlässig zu sein scheint – wenn Sie es deaktivieren, verwendet die VM die IP-Adressen, die der Host für den DNS verwendet, anstatt zu versuchen, sie über 10.0.2.3 zu proxyen – et voilà, Sie erhalten die vollständigen MX-Einträge vom DNS (zumindest wir).
(Um ein wenig bei der Google-Suche zu helfen: Der Grund, warum ich auf all das gestoßen bin, war, dass von Vagrant mit Centos 6.5 keine E-Mails an bestimmte Domänen gesendet wurden. Wir konnten sehen, dass sendmail mit dem Fehler antwortete: 503 „Dieser Mailserver erfordert eine Authentifizierung beim Versuch, an eine nicht lokale E-Mail-Adresse zu senden …“, und dann stellten wir fest, dass beim Ausführen von sendmail dig mydomain.com mx
der A-Eintrag der Domäne zurückgegeben wurde und nicht die erwarteten MX-Mail-Einträge, was auf ein DNS-Lookup-Problem mit Vagrant/VirtualBox hindeutete.)