Postfix는 자신의 호스트 이름을 모릅니다

Postfix는 자신의 호스트 이름을 모릅니다

내 postfix 로그에는 levinus에 대한 DNS 레코드가 없기 때문에 postfix가 root@levinus [내 호스트 이름]으로 이메일을 보내지 못한 것을 자주 볼 수 있습니다. 하지만 내 /etc/hosts에는 levinus에 대한 항목이 있습니다(--> 127.0.0.1 및 내 고정 IP). ping을 사용하면 levinus에 도달할 수 있고, 그런 다음 나 자신에게 ping을 보냅니다. 그런데 왜 postfix가 /etc/hosts 항목을 허용하지 않습니까?

postfix 로그의 일부:

BC59A2FE000B: to=<root@levinus>, relay=none, delay=0.03,    
delays=0.01/0/0.02/0, dsn=5.4.4, status=bounced (Host or domain name not   
found. Name service error for name=levinus type=AAAA: Host not found)
Oct 11 14:47:29 levinus postfix/qmgr[29217]: BC59A2FE000B: removed

/etc/hosts의 일부:

[STATIC IP] levinus
127.0.0.1 localhost.localdomain localhost levinus

시스템은 Ubuntu 14.04 LTS입니다.

//postfix의 main.cfg에서 inet_protocols = ipv4로 편집합니다. 오류 메시지만 다른 메시지입니다(유형 = A). /etc/hosts의 IPv6 항목 ::1에 levinus를 추가하면 동일합니다(유형 = AAAA).

// levinus호스트 이름이 포함된 경우에도 접미사 로그 2개를 편집합니다.

Oct 12 14:40:33 levinus postfix/smtpd[10103]: connect from levinus[127.0.0.1]
Oct 12 14:40:33 levinus postfix/smtpd[10103]: disconnect from levinus[127.0.0.1]

그러나 root@levinus를 포함하는 모든 메일은 여전히 ​​반송됩니다.

/etc/nsswitch.conf를 편집하더라도 hosts: filespostfix만 자신의 호스트 이름을 알지 못합니다. 으로 설정되기 전입니다 hosts: files dns.

답변1

문제는 IPv4 주소에 있는 것이 아니지만 IPv6에 AAAA기록이 없기 때문입니다.

이 문제는 IPv4만 사용하도록 postfix를 전환하여 해결할 수 있습니다. sudo postconf -e 'inet_protocols = ipv4'그런 다음 postfix를 다시로드하십시오.

관련 정보