Ubuntu Server 22.04 で送信のみに postfix を動作させようとしています。
telnet mydomain.com 587を使用してサーバーをテストしようとすると、次のメッセージが表示されます。
Trying 192.168.107.11...
telnet: Unable to connect to remote host: Connection refused
しかし、telnet localhost 587またはtelnet 127.0.0.1 587を使用すると、
Trying 127.0.0.1...
Connected to localhost. Escape character is '^]'.
Connection closed by foreign host.
netstat -plntuを実行すると次の結果が得られます(これは最新のnetstatです)
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:22 0.0.0.0:* LISTEN 730/sshd: /usr/sbin
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 652/inetd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 633/systemd-resolve
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 2126/master
tcp6 0 0 :::22 :::* LISTEN 730/sshd: /usr/sbin
tcp6 0 0 :::587 :::* LISTEN 2126/master
udp 0 0 127.0.0.53:53 0.0.0.0:* 633/systemd-resolve
udp 0 0 0.0.0.0:50550 0.0.0.0:* 654/meshagent
udp6 0 0 fe80::214:22ff:fe7c:546 :::* 620/systemd-network
sudo iptables -L INPUT -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
22 1914 ufw-before-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
22 1914 ufw-before-input all -- * * 0.0.0.0/0 0.0.0.0/0
14 1338 ufw-after-input all -- * * 0.0.0.0/0 0.0.0.0/0
1 96 ufw-after-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
1 96 ufw-reject-input all -- * * 0.0.0.0/0 0.0.0.0/0
1 96 ufw-track-input all -- * * 0.0.0.0/0 0.0.0.0/0
sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
587 ALLOW Anywhere
Postfix ALLOW Anywhere
25 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
587 (v6) ALLOW Anywhere (v6)
Postfix (v6) ALLOW Anywhere (v6)
25 (v6) ALLOW Anywhere (v6)
現在、テスト目的でファイアウォールを無効にしています。この問題が解決したら、ファイアウォールを再度有効にします。
問題が何なのか、または私が進むべき方向について何か考えをお持ちの方はいらっしゃいますか。
あらゆるご支援に感謝いたします。
答え1
64 Postfix はループバック インターフェイスのみを listen します。これは netstat コマンドの出力で確認できます。IPv4127.0.0.1:587
ループバック、::1:587
IPv6 ループバックはそれぞれポート 587 です。
設定ファイルを見てみましょう/etc/postfix/main.cf
というパラメータがありますinet_interfaces
。このパラメータの値は127.0.0.1, ::1
(または類似の値) のようです。これを次のように変更することができます。
inet_interfaces = all
再起動後、postfix デーモンはすべてのインターフェースをリッスンします。