Exim4 DNS 문제

Exim4 DNS 문제

내 데비안 서버에서 평소 이메일 주소로 이메일을 전달하려고 합니다. 다음 오류 메시지를 찾기 위한 좋은 해결책을 온라인에서 찾을 수 없기 때문에 아마도 중요한 내용을 놓치고 있는 것 같습니다.

dnslookup defer (-1): host lookup did not complete

이 답변을 찾았지만 도움이 되지 않았습니다. https://serverfault.com/questions/370489/exim-cannot-send-to-remote-mail-servers

Debian-exim 사용자가 있습니다.

uid=101(Debian-exim) gid=103(Debian-exim) groups=103(Debian-exim)

내 네트워크에서 포트 25가 필터링되지 않는 것 같습니다. 어쨌든 현재로서는 DNS 문제인 것 같습니다. 여기 있는 다음 서버가 아직 작동하는지 확실하지 않으며 테스트할 다른 ​​주소를 찾을 수 없습니다.

telnet 209.85.225.27 25
Trying 209.85.225.27...
telnet: Unable to connect to remote host: Connection timed out

이것은 작동합니다:

echo "This is a test." | mail -s Testing user@localhost

다음은 수행되지 않습니다.

echo "This is a test." | mail -s Testing [email protected]
echo "This is a test." | mail -s Testing [email protected]

/var/log/exim4/mainlog에서 나는 다음을 얻습니다:

1YDDm0-0007mZ-BS <= [email protected] U=user P=local S=464
1YDDm0-0007mZ-BS == [email protected] R=dnslookup defer (-1): host lookup did not complete
1YDE1X-0007v5-EG <= [email protected] U=user P=local S=456

/etc/resolv.conf에서:

domain home
search home
nameserver 192.168.1.1

마지막으로(재미있는 부분은 마지막에 있는 것 같습니다):

sudo exim -bt -d-resolver [email protected]
[sudo] password for user: 
Exim version 4.80 uid=0 gid=0 pid=31872 D=fbb95cfd
Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.6.3]
Library version: GnuTLS: Compile: 2.12.20
                         Runtime: 2.12.20
Library version: PCRE: Compile: 8.30
                       Runtime: 8.30 2012-02-04
Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
changed uid/gid: forcing real = effective
  uid=0 gid=0 pid=31872
  auxiliary group list: <none>
seeking password data for user "uucp": cache not available
getpwnam() succeeded uid=10 gid=10
changed uid/gid: calling tls_validate_require_cipher
  uid=101 gid=103 pid=31873
  auxiliary group list: <none>
tls_validate_require_cipher child 31873 ended: status=0x0
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00612001
trusted user
admin user
seeking password data for user "mail": cache not available
getpwnam() succeeded uid=8 gid=8
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
sender address = [email protected]
Address testing: uid=0 gid=103 euid=0 egid=103
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
--------> hubbed_hosts router <--------
local_part=my domain=mail.eu
checking domains
expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
hubbed_hosts router skipped: domains mismatch
--------> dnslookup_relay_to_domains router <--------
local_part=my domain=mail.eu
checking domains
mail.eu in "@:localhost:example.dynu.com"? no (end of list)
mail.eu in "empty"? no (end of list)
mail.eu in "! +local_domains : +relay_to_domains"? no (end of list)
dnslookup_relay_to_domains router skipped: domains mismatch
--------> dnslookup router <--------
local_part=my domain=mail.eu
checking domains
cached no match for +local_domains
cached lookup data = NULL
mail.eu in "! +local_domains"? yes (end of list)
R: dnslookup for [email protected]
calling dnslookup router
dnslookup router called for [email protected]
  domain = mail.eu
DNS lookup of mail.eu (MX) gave TRY_AGAIN
mail.eu in dns_again_means_nonexist? no (option unset)
returning DNS_AGAIN
dnslookup router: defer for [email protected]
  message: host lookup did not complete
[email protected] cannot be resolved at this time: host lookup did not complete
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=31872 terminating with rc=1 >>>>>>>>>>>>>>>>

누구든지 나를 도와줄 수 있나요?

감사합니다!

답변1

exim의 표준 dnslookup 라우터는 알고리즘을 사용하여 이메일 주소를 확인하는 방법을 결정합니다(이 내용은 Exim 매뉴얼의 세부 장에 자세히 설명되어 있음).DNS라우터). 발굴 결과를 보면 다음과 같이 괜찮은 것 같습니다.

$ dig mail.eu mx

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mail.eu mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5467
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION:
;mail.eu.           IN  MX

;; ANSWER SECTION:
mail.eu.        86400   IN  MX  10 in1-smtp.messagingengine.com.
mail.eu.        86400   IN  MX  20 in2-smtp.messagingengine.com.

;; ADDITIONAL SECTION:
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.70
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.73
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.72
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.71

;; Query time: 33 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Mon Jan 19 16:51:24 2015
;; MSG SIZE  rcvd: 158

이는 로컬 확인자(192.168.1.1)가 SRV 요청(exim 구성에서 SRV가 활성화되었는지 여부)에 대해 TRY_AGAIN 응답을 반환하거나 실패한 결과(당시 DSL이 다운되었는지 여부)를 "부정적으로 캐시"한다는 의미입니다. ).

리졸버를 테스트하려면 개방형 DNS 서버(예: Google)를 사용하고 다음을 추가하는 것이 좋습니다.

nameserver 8.8.8.8

당신 전에

nameserver 192.168.1.1

문을 실행 resolv.conf하고 테스트를 다시 실행하여 이 파서 응답을 제외해 보세요.exim -bt [email protected]

Google의 DNS 캐시 서버를 사용하여 문제가 해결된 경우 DNS 확인자(192.168.1.1의 장치)를 다시 시작하여 현재 문제가 해결되었는지 확인하세요. 다시 테스트하기 전에 Google 캐시 항목을 주석 처리하는 것을 잊지 마세요!

Google의 DNS 캐싱 서버를 사용해도 여전히 오류가 발생하는 경우(또는 외부 DNS 확인자를 사용하지 않으려는 경우) 이 장에 다른 옵션이 자세히 설명되어 있습니다. 다음 nameserver줄을 추가하면 됩니다.모두해결을 위해 DNS 조회가 Google에 전달됩니다. 이로 인해 DNS 요청 및 전달이 약간 지연됩니다.모두귀하의 호스트는 Google에 DNS 요청을 할 것입니다. 모든 사람이 이것이 "좋은 일"이라고 생각하는 것은 아닙니다.

관련 정보