質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

2回答

7806閲覧

外部からのsmtps(465ポート)が繋がりません。

sasa56563

総合スコア22

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2019/02/26 09:53

編集2019/02/26 10:04

外部からのsmtps(465ポート)が繋がりません。25番smtpはokで、ローカルからはいずれもokです。

LAN内部用メールサーバとしてCentOS+postfix+Dovecot+Opendkimでsmtp(s)&pop3を作ろうとしています。
ところが受信は問題がないのですが、 送信ではsmtp(25ポート)は問題がなく、smtps(465ポート)ではpostfixの手前で立ち往生しています。
ローカルからは465番へは通信できています。

この間、何台かほぼ同じ構成でメールサーバを作っているのですが、理由がよくわかりません。基本的な設定を忘れてしまったのでしょうか。

まずpostfixの設定内容ですが、

# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 home_mailbox = Maildir/ html_directory = no inet_interfaces = all inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man message_size_limit = 10485760 milter_default_action = accept mydestination = name1.email.com,ns.email.com,name2.email.com,localhost myhostname = ns.email.com mynetworks = 192.128.0.0/16,192.118.3.0/24,192.124.0.0/16,127.0.0.0/8,192.120.0.0/16,192.130.0.0/16,192.119.1.0/24,192.116.1.0/24,192.119.8.0/24,192.129.0.0/16 myorigin = $myhostname newaliases_path = /usr/bin/newaliases.postfix non_smtpd_milters = inet:localhost:8891 queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES relayhost = sample_directory = /usr/share/doc/postfix-2.10.1/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtp_tls_loglevel = 1 smtp_tls_security_level = may smtpd_banner = $myhostname ESMTP unknown smtpd_milters = inet:localhost:8891 smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous unknown_local_recipient_reject_code = 550

465番ポート自体はmaster.cfの設定で開いています。

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:10000 *:* users:(("miniserv.pl",pid=4944,fd=5)) udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=4384,fd=1)) udp UNCONN 0 0 ::1:323 :::* users:(("chronyd",pid=4384,fd=2)) tcp LISTEN 0 100 *:110 *:* users:(("dovecot",pid=4711,fd=24)) tcp LISTEN 0 100 *:143 *:* users:(("dovecot",pid=4711,fd=36)) tcp LISTEN 0 128 *:10000 *:* users:(("miniserv.pl",pid=4944,fd=4)) tcp LISTEN 0 100 *:465 *:* users:(("master",pid=4765,fd=18)) tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=4662,fd=3)) tcp LISTEN 0 100 *:25 *:* users:(("master",pid=4765,fd=13)) tcp LISTEN 0 128 127.0.0.1:8891 *:* users:(("opendkim",pid=5103,fd=3)) tcp ESTAB 0 448 192.128.1.111:22 192.124.0.199:4966 users:(("sshd",pid=4768,fd=3)) tcp LISTEN 0 100 :::465 :::* users:(("master",pid=4765,fd=19)) tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=4662,fd=4)) tcp LISTEN 0 100 :::25 :::* users:(("master",pid=4765,fd=14))

また、firewalld並びにselinuxは止めています。

#sestatus SELinux status: disabled
# service firewalld status Active: inactive (dead)

ローカルから465にアクセスするとコネクトし、ログも残ります。

# telnet localhost 465 Trying ::1... Connected to localhost. Escape character is '^]'. 220 ns.email.com ESMTP unknown

smtpには正常にログインし、SSL通信で送信はできているようです。

maillog maillog Feb 26 16:51:16 nsmailsv postfix/smtps/smtpd[5380]: timeout after CONNECT from localhost[::1]

一方外からアクセスすると

telnet 192.128.1.111 465 接続中の状態で何も表示されない maillogには記録なし

25番ポートでは正常です。

Feb 26 16:50:50 nsmailsv postfix/smtp[5390]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c00::1b]:25: Network is unreachable Feb 26 16:50:51 nsmailsv postfix/smtp[5390]: Trusted TLS connection established to gmail-smtp-in.l.google.com[108.177.97.26]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) Feb 26 16:50:52 nsmailsv postfix/smtp[5390]: 330412086CFA: to=<user@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.97.26]:25, delay=2.6, delays=0.1/0.02/1.4/1.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1551167452 o8si11629987plk.273 - gsmtp)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

いただいた回答やそれに関する質問等で絞り込んでいくことで問題がローカル側にあることがわかりました。
当該サーバに他のサーバからはsmtps(465ポート)アクセスはできました。
一方自PCからは
smtp ok
smtps NG
という結果になりました。ネットワーク上の制限はないことからPC自身の問題のようです。
対処としてはsmtpsを基本としながら予備的にsmtpも開けておく方法を採ることにします。

追記
上記の**「ローカルな問題」について考察しました。
サーバ及び端末の設定、ソフト的な問題で説明のつかないエラーであり、思案の末ひとつの仮説にいたりました。
それはvmwareの容量圧迫ということです。vmwareで余りに多くの仮想サーバを立ち上げたため、最近ではサーバのインストール自体でネットワークエラーが起きており、やり直すこともしばしばです。
どうも
VMWAREのMACアドレスなどリソース資源の枯渇やバッティングが起こっているのでは**と全くの素人ながら考えています。
今回の理屈ではどうしても説明のできない動作はこれと同じことに起因するような気がしてきました。
不要な仮想サーバを整理することから始めなければならないようです。

投稿2019/02/27 00:21

編集2019/02/28 14:07
sasa56563

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

465 ポートは smtp over tls で使用しているのかと思いますが、
telnet での接続時にバナーがテキストで応答されているので、 smtp over tls として動作していません。
smtp over tls の port に telnet した場合、Escape character is '^]'.まで表示されればOKです。

# telnet localhost 465 Trying ::1... Connected to localhost. Escape character is '^]'. 220 ns.email.com ESMTP unknown

外部からは telnet 192.128.1.111 465 で接続が確認できない件ですが、
外部から 192.128.1.111 への ping の応答はあるのでしょうか。

投稿2019/02/26 10:30

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sasa56563

2019/02/26 10:36

pingは応答します。また、25,110ポートはEscape character is '^]'表示され、maillogにも記録されています。
scsi

2019/02/26 10:55

何ができなくて何ができるのかよくわからないので表にしてまとめてもらえないでしょうか。登場サーバは、nsmailsv と同じプライベートネットワークのサーバ、nsmailsv、gmail のサーバでお願いします。
sasa56563

2019/02/26 11:25

大別して以下の通りです。 DMZ上のメーリングサーバ(複数台) 1.mailmanとして送信(+postfix) 2.中継器としてのrelay送信のみ(postfix) LANのメールサーバ 3.postfix+dovecotで送受信 送信 smtps(465) OK Smtp(25) OK 受信 pop3(110) OK pop3S 認証チェックを外す必要あり 4.postfix+dovecotで送受信(今回のサーバ) 送信 smtps(465) 外部からは通信できず Smtp(25) OK 受信 pop3(110) OK pop3S 1と同じなので試さず いずれもDKIM認証を実施
sasa56563

2019/02/26 11:36 編集

これまでと今回の違いでいいますと。 これまでpostfix 認証 暗号化 送信 暗号化と順次やりながら動作確認をしてきたのに対して、今回はこれまでの一連の流れを最初にすべて設定した上で動作を試みました。 そのため、矛盾、抜け落ちがどこかに生じたのかもしれません。 一番気になるのはpostfixの入り口のところで止まっているということです。 サーバを経てpostfixの手前まで到着しながら最後のログインができていないと考えています。
scsi

2019/02/26 11:41 編集

smtpd_tls_cert_file と smtpd_tls_key_file の設定はしなくて大丈夫ですか?ちなみに pop/imap に受信という言葉を単独で使わないほうがいいです。混同します。 私は送信も受信も基本的には SMTP で使う言葉だと思っています。 ちなみに他のサーバと main.cf に違いはないか確認していますか?
sasa56563

2019/02/26 12:04 編集

3と4のサーバの違いは「smtpd_tls_cert_file と smtpd_tls_key_file の設定」にあります。3ではいわゆるおれおれ証明書を発行して、暗号化したわけですが、dovecotでは結局pop3を使いました。 ならばと4ではWEB情報をもとに設定しました。そこにはcertファイルの指定等は記載されていませんでした。 そこを疑いはしましたが、ローカルからはアクセスでき、外からはpostfixに入ること自体ができていない状態なので関係がないように考えていました。
scsi

2019/02/26 12:19 編集

Web情報を元にってどういうことでしょうか?公式サイトでしょうか? 証明書の設定をしないと SMTP over TLS としては使えないんじゃないんですかね。 ローカルから telnet 192.128.1.111 465 を実行したらどうなりますか。接続できますか?
scsi

2019/02/26 12:22

あと smtpd_use_tls = yes も必要ですね。
sasa56563

2019/02/26 12:32

まず、ローカルからですが、質問欄で書いていますが、 telnet 192.128.1.111 465 接続中の状態で何も表示されない maillogには記録なし となっています。 WEB情報ですが、postfix SSL などと検索をかけてオレオレ証明書の作成以外では smtp_tls_loglevel = 1 smtp_tls_security_level = may を追記ぐらいの情報で、 smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt 加えることでTrusted TLS connection establishedになるといったことが記されています。 これも質問欄のログに出ていますが、 25ポートでのやりとりでgoogleとの間で Trusted TLS connection establishedと表示されています。 このために暗号化自体は問題なくできていると判断しています。465ではいれないということ別とは思っていませんでした。
sasa56563

2019/02/26 12:37

postfixの以前のmain.cfにはcertsのファイルが指定されていました。 今のバージョンでは記載されていませんが、 smtp_tls_loglevel = 1 smtp_tls_security_level = mayなどを記載することで使用状態になると思っていたところです。
sasa56563

2019/02/26 12:40

smtpd_use_tls = yes は smtp_tls_security_level = mayが優先すると書いてあったような。 ちなみに追記してやってみましたが、結果は同じでした。
scsi

2019/02/26 12:49

ん? 外からアクセスと書いてあるので`telnet 192.128.1.111 465` は同じネットワーク内の別のサーバから実施したと思っていました。smtpd_use_tls と smtp_tls_security_level は starttls の設定でした。本件とは関係ありませんでした。 google へメールを送信するときは smtpd_tls_cert_file と smtpd_tls_key_file は使用しません。 master.cf は smtps で起動するようになっているのですよね?
scsi

2019/02/26 12:52

telnet 192.128.1.111 465 で 接続中の状態で何も表示されない と書かれていますが、 telnet 時に Escape character is '^]' は表示されますか?
sasa56563

2019/02/26 12:53

すみません。telnetはローカルからではありませんでした。明日もう一度確認します。
sasa56563

2019/02/26 12:56

>telnet 時に Escape character is '^]' は表示されますか? いいえなにも表示されず、空白の待ち状態のままです。ただし、拒否された状態ではありません。 master.cfではsmtps起動にしています。 tcp LISTEN 0 100 :::465 :::* users:(("master",pid=4765,fd=19))
sasa56563

2019/02/27 00:00

ローカルからのtelnet 192.128.1.111 465ですが、 繋がりました。予想に反してです。 ひょっとしたらと思い別のサーバからtelnetしてみたらこれも繋がりました。 要は自分のPCからtelnetで465が通らないということのようです。他のPCからやってみましたが、これも繋がりました。 原因はまだわかりませんが、普遍的というか一般的な問題ではないようで、質問自体は解決済みとさせていただきます。ありがとうございました。
sasa56563

2019/02/27 06:38

pc からのアクセスですが、ログに次のエラーが出ました。 eb 27 15:26:27nsmailsv postfix/smtps/smtpd[12866]: lost connection after UNKNOWN from unknown[192.124.0.199] 他のサーバからのtelnet接続では以下のようになります。 Feb 27 15:28:01 nsmailsv postfix/smtps/smtpd[12866]: connect from unknown[192.116.1.9] after UNKNOWN というのが何を意味するのかご存じでしょうか。net上には余り情報がありません。
scsi

2019/02/27 07:25

UNKNOWNなのでconnectionを確立する前のエラーでしょうね。tlsのネゴに失敗したとですかねー。詳しくは分かりませんが、オープンソースなので自分で調べるって手もありますよ!
sasa56563

2019/02/28 13:54

一部の端末から、一部のポートがアクセスできないという説明のできない動作について、今回のようにその道の詳しい方に助言をいただいても改善が望めないことについて、もっと全く別の要因があると考えました。 それはvmwareについてです。vmwareについては全くの素人で、構築はベンダーにお任せして立ち上げました。ただただおもしろいように大量の仮想サーバを立ち上げてきたところです。 最近、インストールで意味不明のネットワークエラーなど起こったりしており、HDDの物理的エリアの圧迫もさることながら、マックアドレスやリソースに限界が来ているのではと感じています。 新しく仮想サーバの立ち上げにたどり着いても、今回のようにネットワークの関係で論理的に説明のつかないエラーに悩まされるのは、ひょっとしたらこれが原因のような気がしてきました。 いよいよ仮想サーバの整理をしなければならないようです。WEBやDNS、メールサーバと多くの予備機も考え物です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問