我正在尝试使用 iptables 在同一个 AWS EC2 Ubuntu 14.04 实例上将端口转发从端口 25 加强到端口 2025。我正在使用端口 2025 来使用 Alfresco 接收收入电子邮件。
我采取的第一步是使用 AWS 控制台在安全组中打开端口 25 以用于入站流量。接下来,我使用新的 EC2 Ubuntu 实例执行以下步骤。我的理解是,第一个命令允许入站流量到端口 25。然后,第二个命令将流量从端口 25 转发到端口 2025,最后一步保存(但不保留设置)。
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2025
sudo iptables-save
我已确认 Alfresco 正在监听端口 2025 和 iptable 设置,使用以下命令:
bitnami@ip-172-30-0-000:~$ netstat -an | grep 25
tcp6 0 0 :::2025 :::* LISTEN
bitnami@ip-172-30-0-000:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 redir ports 2025
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 5 packets, 431 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 5 packets, 431 bytes)
pkts bytes target prot opt in out source destination
当使用 telnet 测试连接时,我期望出现类似以下的情况,但是现在连接却超时了。
预期:
Trying 54.85.10.9...
Connected to 54.163.62.000.
Escape character is '^]'.
220 simplycubedholdings.com ESMTP SubEthaSMTP 3.1.6
421 Timeout waiting for data from client.
实际的:
telnet 54.163.62.000 25
Trying 54.163.62.000...
telnet: connect to address 54.163.62.000: Operation timed out
telnet: Unable to connect to remote host
任何帮助或指导都将不胜感激。
非常感谢,
查尔斯
答案1
非常感谢@MichaelHampton。最终,我能够确认问题出在我当地的 ISP 上,并且通过启动第二个 AWS EC2 实例并从那里测试连接,设置是否正常工作。