Postfix はパブリック ネットワーク インターフェイス上で実行され、リッスンしているようですが、外部クライアントは接続できません。

Postfix はパブリック ネットワーク インターフェイス上で実行され、リッスンしているようですが、外部クライアントは接続できません。

Debian 12 に新しい Postifx サーバーをセットアップしています。Debianパッケージをインストールし、Postfix が実行されており、ポート25、、でリッスンしていることを確認しました465587

Postfix は実行されており、ログにはエラーはありません。 jail を無効にしましたがmaster.cf、このサーバーではソフトウェア ファイアウォールは実行されていません。

Postifx は、次のようにすべてのインターフェースにバインドされますnetstat

netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      8417/master
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      8417/master         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8417/master
tcp6       0      0 :::587                  :::*                    LISTEN      8417/master 
tcp6       0      0 :::465                  :::*                    LISTEN      8417/master         
tcp6       0      0 :::25                   :::*                    LISTEN      8417/master 

サーバー自体に telnet し、パブリック IP 経由で Postfix に接続できます。

telnet xx.xx.xx.xx 587
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix

しかし、サーバーの外部からこれを試しても接続できません。

telnet mydomain.com 587
Trying xx.xx.xx.xx...
Trying xxxx:xxxx::xxxx:xxxx:xxxx:xxxx...
telnet: Unable to connect to remote host: Network is unreachable

クライアントの観点から、DNS がサーバーに正しく解決されることを確認しました。

職場/自宅の ISP は送信ポートをブロックしていないので、自宅から Gmail の SMTP サーバーに telnet して にアクセスできますEHLO

サーバーホスティング会社は、ポートはブロックされていないと主張しています。

オプションを使用すると、自宅のクライアントからサーバーにアクセスできますが、オプションtraceroute -Iを使用しないとアクセスできません-I

正直、他に何を試せばいいのかわかりません。telnet を試行するときに Postfix から何かを取得する必要があります。メールをブロックするためのオプションのほとんどは の後に発生しますEHLOが、まだそこまでには至っていません。

バインドされていることが示され、ログにエラーがなく、サーバー自体から Telnet を実行すると Postfix がサーバーの外部 IP で Telnet に応答する場合、Postifx が外部インターフェースnetstatでリッスンまたは応答するのを防ぐには、サーバー上でどのような設定が考えられますか?

inet_interfaces = all設定されています inet_protocols = all。 設定されています。

Postfix が何も出力せずに接続要求を黙ってドロップするような構成設定はありますか?

他に何を確認したり試したりできますか? Postfix のどの設定が初期接続要求をドロップしたり受け入れなかったりするのでしょうか?

答え1

iptablesこれが他の誰かの役に立つことを願います。どうやら、と以外にもさまざまなファイアウォールがあるようですucf

役に立つ投稿を見つけました:https://surgemail.com/knowledge-base/disable-your-firewall/、これは探す可能性のあるすべてのリストです。私の場合は、 でしたnft

無効にしたり確認したりする必要があるファイアウォールの完全なリストは次のとおりです。

nft flush ruleset
systemctl mask nftables.service

systemctl stop firewalld
systemctl disable firewalld

service iptables stop
service iptables disable

service ipchains disable
service ipchains stop

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

cfx -x

関連情報