Postfix+Dovecotで外部からのメールを受信できない
解決済
回答 2
投稿
- 評価
- クリップ 0
- VIEW 757
前提・実現したいこと
VMware上のCentOS6にて、サーバ構築練習の一環として、PostfixとDovecotで初めてメールサーバを構築している者です。
内部での送信・受信、内部→外部への送信はできるのですが、外部(GmailやYahoo!メールなど)→内部への受信ができず、詰まってしまっています。
ドメインの取得、MXレコード等についてはMyDNSで行なっています。
発生している問題・エラーメッセージ
Gmailから数時間~1日後に返送されてくるエラーメッセージ
配信未完了
testuser@example.mydns.jp へのメールの配信中に一時的な問題が発生しました。Gmail は XX 時間再試行し、配信できなかった場合はお知らせします。
応答:
The recipient server did not accept our requests to connect. Learn more at https://support.google.com/mail/answer/7720 [testuser@example.mydns.jp 192.168.x.xxx: timed out]
該当のソースコード
postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 1
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
lmtp_tls_loglevel = 2
local_recipient_maps =
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = example.mydns.jp
myhostname = mail.example.mydns.jp
mynetworks = 127.0.0.0/8, 192.168.0.0/24
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost = [smtp.gmail.com]:587
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_loglevel = 1
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_loglevel = 1
unknown_local_recipient_reject_code = 550
doveconf -n
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
listen = *
log_path = /var/log/dovecot.log
mail_debug = yes
mail_location = maildir:~/Maildir
mbox_write_locks = fcntl
passdb {
driver = pam
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
}
ssl = no
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
driver = passwd
}
netstat -nat(ポート25番の開放チェック)
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
dig example.mydns.jp
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.7 <<>> example.mydns.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13988
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.mydns.jp. IN A
;; ANSWER SECTION:
example.mydns.jp. 300 IN A 192.168.x.xxx
;; Query time: 408 msec
;; SERVER: xxx.xxx.xx.xxx#53(xxx.xxx.xx.xxx)
;; WHEN: Fri Jun 12 20:35:36 2020
;; MSG SIZE rcvd: 51
dig example.mydns.jp mx
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.7 <<>> example.mydns.jp mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42672
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.mydns.jp. IN MX
;; ANSWER SECTION:
example.mydns.jp. 300 IN MX 10 mail.example.mydns.jp.
;; Query time: 73 msec
;; SERVER: xxx.xxx.xx.xxx#53(xxx.xxx.xx.xxx)
;; WHEN: Fri Jun 12 20:37:27 2020
;; MSG SIZE rcvd: 56
補足情報
SSLに関しては、送受信ができてから設定する予定なので、今のところ何も設定していません。
maillogには何も記録されていないことから、そもそもGmail側からサーバに到達していないのではないかと考えています。
MXレコードの設定方法などがよく理解できておらず、そのあたりの設定がおかしいのかもしれません。
IPアドレスをプライベートIPアドレスで登録してしまっているのも怪しい気がします。内部→外部へ送信できていたので、問題ないのかと思っていたのですが…。ただ、MyDNSにグローバルIPアドレスで登録しても状況は変わらなかったので、よくわかりません…。
サーバは25番ポートを開放できているようなので、ルータのポートも開放しているのですが、それでもうまくいきませんでした。チェックテストを行うと、「ポート開放されていません」「到達できませんでした」といった内容の結果が出ます。
telnetでメールの送受信はできています。が、TLSで自分のGmailから送ると、一見問題なく送信完了しますが、結局メールは届きません。ログにも何も残らないので、何が問題なのかがわかりません。
数日間詰まってしまい、どうしても自分の力では解決できそうにないので、お力をお借りしたいです。
エラー内容などで検索しても、「DNSの更新情報の反映に時間がかかる」という意見もあり、しばらく様子を見るべきなのか、こちらで直せるところがあるのかをはっきりさせたいです。
不勉強で恐縮ですが、どなたかご教示いただければ幸いです。よろしくお願いいたします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
>IPアドレスをプライベートIPアドレスで登録してしまっているのも怪しい気がします。
プライベートIPアドレスがどういうものなのか、もう一度勉強してください。
で、グローバルIPに設定し直したとして…
利用しているISPは外部からISP管理下のIPに対しての25番ポートの接続をブロックしていないでしょうか?
https://ja.wikipedia.org/wiki/Inbound_Port_25_Blocking
相手がGMailとかなら大丈夫なのかもしれませんが。
>VMware上のCentOS6にて
仮想ネットワークアダプタの設定は正しくやられていますかね?
ブリッジ設定にする必要があるかと思いますが。
NATの場合はホストOS側でポートフォワードさせる必要がある。
もちろかルータての設定も必要ですし、ホストマシン/ゲストマシンともに起動している必要がありますが。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
private network環境に構築しているのなら、
グローバルIPとのnatやipマスカレードをルーターなどに設定しないと外からサーバへアクセスすることはできません。
メールの配送の流れとそれに関わるDNSレコードについてもう少し理解してから進めてはどうでしょうか。
また、今から勉強するなら最低でもcentos7、出来ればcentos8がいいと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.21%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2020/06/13 17:16
2020/06/13 20:46
以前、内部向けのWebサーバを作ったのですが、その頃からネットワークの仕組みについて理解があまり進んでいなかったようです。
プライベートIPアドレスをグローバルIPアドレスに変換しないことには接続ができないような…?と色々疑問に思っていたのですが、だんだん混乱してきてしまい、あやふやになっていました。
仮想ネットワーク等、全く触っていないのでそちらを先に勉強してから、メールの受信設定を調整していくことにします。
自分がどこを理解すべきかはっきりさせられたので、質問してためになりました。
お世話になりました。