dovecot이 죽으면 postfix가 메일을 못 받아요.

시지프스의 이미지

제목 그대로 dovecot이 죽으면 postfix가 메일을 거부하네요.
다른 서버에서 postfix가 작동하는 서버로 보내는 메일을 못 받습니다.

특징은 hostname이 없고, 외부에서는 ip를 직접 쳐서 전송합니다.

postfix 설정을

myhostname = gajja.domain # 가짜 주소입니다. (진짜가 없습니다.)
# gajja.domain의 IP는 정상인데, 보안상 555.555.555.555로 적겠습니다.
mydomain = domain # 이건 진짜 도메인입니다.
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks_style = host
relay_domains = $mydestination, hash:/etc/postfix/relay
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject_unauth_destination

이렇게 해두었습니다. 그러면 permit_auth_destination 때문에
destination이 555.555.555.555인 경우에는
sasl과는 관계 없이 받아야 하지 않나요?

물론,

smtpd_sasl_auth_enable = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

로 설정해두면, 메일을 제대로 받습니다.

디버그 모드를 켜고 로그를 보면

Apr 17 14:33:16 ssl postfix/smtpd[10452]: mynetworks: 127.0.0.1/32 127.0.0.2/32 <555.555.555.555> [::1]/128 [서버ip6]/128

이렇게 mynetworks는 잘 나오는 것 같습니다.

그리고 다른 서버가 접속하는 부분입니다.

Apr 17 14:33:16 ssl postfix/smtpd[10452]: connect from mail.domain[777.777.777.777] # 같은 도메인의 다른 메일 서버
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match mail.domain: no match
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match 777.777.777.777: no match
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match mail.domain: no match
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match 777.777.777.777: no match
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostname mai.domain ~? domain
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostname mai.domain ~? 127.0.0.1/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostaddr 777.777.777.777 ~? 127.0.0.1/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostname mai.domain ~? 127.0.0.2/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostaddr 777.777.777.777 ~? 127.0.0.2/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostname mai.domain ~? 555.555.555.555/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_hostaddr 777.777.777.777 ~? 555.555.555.555/32
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match: mail.domain: no match
Apr 17 14:33:16 ssl postfix/smtpd[10452]: match_list_match: 777.777.777.777: no match
# 여기서 mathch는 sender만 처리합니다. destinaiton은 match 안 해봅니다.
Apr 17 14:33:16 ssl postfix/smtpd[10452]: auto_clnt_open: connected to private/anvil
Apr 17 14:33:16 ssl postfix/smtpd[10452]: event_enable_read: fd 22
Apr 17 14:33:16 ssl postfix/smtpd[10452]: event_extend: fd 22
Apr 17 14:33:16 ssl postfix/smtpd[10452]: send attr request = connect
Apr 17 14:33:16 ssl postfix/smtpd[10452]: send attr ident = smtp:***
Apr 17 14:33:16 ssl postfix/smtpd[10452]: vstream_fflush_some: fd 22 flush 41
Apr 17 14:33:16 ssl postfix/smtpd[10452]: vstream_buf_get_ready: fd 22 got 25
Apr 17 14:33:16 ssl postfix/smtpd[10452]: private/anvil: wanted attribute: status
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute name: status
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute value: 0
Apr 17 14:33:16 ssl postfix/smtpd[10452]: private/anvil: wanted attribute: count
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute name: count
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute value: 1
Apr 17 14:33:16 ssl postfix/smtpd[10452]: private/anvil: wanted attribute: rate
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute name: rate
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute value: 1
Apr 17 14:33:16 ssl postfix/smtpd[10452]: private/anvil: wanted attribute: (list terminator)
Apr 17 14:33:16 ssl postfix/smtpd[10452]: input attribute name: (end)
Apr 17 14:33:16 ssl postfix/smtpd[10452]: > mail.domain[***]: 220 ***.domain ESMTP Postfix
Apr 17 14:33:16 ssl postfix/smtpd[10452]: xsasl_dovecot_server_create: SASL service=smtp, realm=(null)
Apr 17 14:33:16 ssl postfix/smtpd[10452]: name_mask: noanonymous
Apr 17 14:33:16 ssl postfix/smtpd[10452]: xsasl_dovecot_server_connect: Connecting
Apr 17 14:33:16 ssl postfix/smtpd[10452]: warning: SASL: Connect to private/auth failed: No such file or directory
Apr 17 14:33:16 ssl postfix/smtpd[10452]: fatal: no SASL authentication mechanisms
Apr 17 14:33:17 ssl postfix/master[10429]: warning: process /usr/lib/postfix/smtpd pid 10452 exit status 1
Apr 17 14:33:17 ssl postfix/master[10429]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling

이런 식으로 나오는데, permit_auth_destination에서 먼저 처리되는 부분은 안 보이고, 바로 sasl을 시도하다가 실패합니다.

궁금한 것은
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject_unauth_destination
라고 적었으면, permit_auth_destination이 먼저 처리되어야 하는거 아니냐는 것입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.