我有一个网站,需要发送电子邮件确认订单,并提醒某些事件的订阅用户。 由于其他原因,我不需要通过服务器发送电子邮件,所以我想阻止本地主机以外的任何人连接到SMTP端口25。 我试图这样做:
sudo iptables -A INPUT -p tcp -s 0.0.0.0 --dport 25 -j DROP
但是我仍然可以telnet到端口25并从另一台计算机inputSMTP命令。 我究竟做错了什么? 另外,有没有更好的方法来实现我想要的? 澄清:我想要的是一台机器,可以发送电子邮件(通过SMTP),但只有源于机器上运行的脚本。 而且任何configuration都必须通过重新启动来“活”。
我在Ubuntu上使用Postfix(哈代)。
我认为如果你不想从外面接收电子邮件,更好的解决办法是告诉postfix,在master.cf
文件中replace:
smtp inet n - n - - smtpd
这通常是第一个非注释行,但是您的行驶里程可能会有所不同,具体取决于您的供应商修改的后缀是:
127.0.0.1:smtp inet n - n - - smtpd
我相信你不想要-s 0.0.0.0
子句。 你只是拒绝从0.0.0.0地址访问。
你可能需要像这样的东西:
sudo iptables -A INPUT -p tcp -s 127.0.0.0/8 --dport 25 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 25 -j DROP
这将接受来自本地主机(即从回送范围 – 127.0.0.1-127.255.255.255)的任何传入连接,并放弃所有其他。