我有一台 Google 计算云虚拟机 (Ubuntu 17.10),我正在尝试设置邮件守护程序。我已按照以下说明安装了 postfix 和 dovecot本文(所有步骤均严格遵循,从全新安装开始)。运行sudo netstat -tuplen
结果如下:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 102 15523 829/systemd-resolve
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 0 142345 6971/spamd.pid --cr
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 24342 2190/sshd
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 0 122740 31644/dovecot
tcp6 0 0 :::5355 :::* LISTEN 102 15526 829/systemd-resolve
tcp6 0 0 ::1:783 :::* LISTEN 0 142343 6971/spamd.pid --cr
tcp6 0 0 :::80 :::* LISTEN 0 44991 13243/apache2
tcp6 0 0 :::22 :::* LISTEN 0 24351 2190/sshd
tcp6 0 0 :::443 :::* LISTEN 0 58960 13243/apache2
tcp6 0 0 :::993 :::* LISTEN 0 122741 31644/dovecot
udp 0 0 0.0.0.0:5355 0.0.0.0:* 102 15522 829/systemd-resolve
udp 0 0 127.0.0.53:53 0.0.0.0:* 102 15530 829/systemd-resolve
udp 0 0 10.152.0.4:68 0.0.0.0:* 101 96631 599/systemd-network
udp 0 0 10.152.0.4:123 0.0.0.0:* 0 96928 27031/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 0 96926 27031/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 0 96922 27031/ntpd
udp6 0 0 :::5355 :::* 102 15525 829/systemd-resolve
udp6 0 0 fe80::4001:aff:fe98:123 :::* 0 96932 27031/ntpd
udp6 0 0 ::1:123 :::* 0 96930 27031/ntpd
udp6 0 0 :::123 :::* 0 96919 27031/ntpd
这意味着该服务处于活动状态并正在监听传入连接。我的防火墙状态:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp (Apache Full) ALLOW IN Anywhere
25/tcp (Postfix) ALLOW IN Anywhere
993 DENY IN Anywhere
587 DENY IN Anywhere
143/tcp (Dovecot IMAP) ALLOW IN Anywhere
993/tcp (Dovecot Secure IMAP) ALLOW IN Anywhere
465/tcp (Postfix SMTPS) ALLOW IN Anywhere
587/tcp (Postfix Submission) ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
80,443/tcp (Apache Full (v6)) ALLOW IN Anywhere (v6)
25/tcp (Postfix (v6)) ALLOW IN Anywhere (v6)
993 (v6) DENY IN Anywhere (v6)
587 (v6) DENY IN Anywhere (v6)
143/tcp (Dovecot IMAP (v6)) ALLOW IN Anywhere (v6)
993/tcp (Dovecot Secure IMAP (v6)) ALLOW IN Anywhere (v6)
465/tcp (Postfix SMTPS (v6)) ALLOW IN Anywhere (v6)
587/tcp (Postfix Submission (v6)) ALLOW IN Anywhere (v6)
看起来一切都很好,telnet localhost 993
返回
Trying 127.0.0.1...
Connected to localhost
Escape character is '^]'.
Connection closed by foreign host.
(连接立即关闭)
当我telnet <ipaddress> 993
从远程主机尝试时,它返回
Trying <ipaddress>...
telnet: Unable to connect to remote host: Connection timed out
我究竟做错了什么?
答案1
我看到这个帖子是2年前创建的,我想问一下这个问题是否已经解决了。
对于这个问题,我想澄清一下,端口 25 因安全原因而被阻止。https://cloud.google.com/compute/docs/tutorials/sending-mail#using_standard_email_ports
这是有关如何在 GCP 上创建配置的外部教程: https://blog.cyberpanel.net/2018/05/30/setup-external-smtp-on-google-cloud-platform-gcp/
我建议您确保防火墙规则正常,并且您在实例上使用打开了防火墙规则的 VPC,更改端口 25 并检查 GCP 上的路由。
答案2
值得检查实例是否启用了 SSH 防护(因为 Ubuntu 通常默认启用它)。sshguard 通过监控 /var/log/auth.log、syslog-ng 或 systemd 日志来记录失败的登录尝试。对于每次失败的尝试,违规主机将被禁止在有限的时间内进行进一步通信。
因此,您可以通过运行以下命令列出 GCE 实例上运行的当前进程:$ ps ax | grep ssh
如果 sshGuard 守护程序正在运行,您可以根据系统上的配置使用 iptables 或 nftables 取消禁止您的 IP。要使用 iptables 取消禁止您的 IP 地址,您可以运行以下命令检查您的 IP 是否被 sshGuard 禁止:$ iptables --list sshguard --line-numbers --numeric
要取消禁令,您可以运行:$ iptables --delete sshguard line-number
本文档对该主题进行了更深入的探讨:https://wiki.archlinux.org/index.php/sshguard