iptables – sendmail只发送出去

我环顾四周,尝试了很多东西。

如果我想要一个(centos)服务器只能发送邮件(通知给我),但没有其他的互联网访问进出或什么是iptables

我已经尝试过,但不起作用,只有当iptables停止时才发送电子邮件。

iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p udp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 25 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp -j REJECT 

任何帮助/知识?

Sendmail日志显示:stat = Deferred:当iptables激活时,连接被[127.0.0.1]拒绝

更新:以下规则似乎工作:

  iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp -j REJECT 

Sendmail-8.12 +通过“命令行电子邮件”通过127.0.0.1:25。 它这样做是为了避免被安装为root uid。

您可以让sendmail仅在127.0.0.1(回送接口)上接受传入的SMTP连接。 它应该阻止传入的外部SMTP连接。
将以下行添加到sendail.mc并将其重新复制到sendmail.cf [1]中 :

 DAEMON_OPTIONS(`Addr=127.0.0.1,Port=smtp,Name=MTA') 

你也可以尝试下面的iptables规则:

 iptables -A INPUT -p tcp --dport 25 -d 127.0.0.1 -i lo -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j REJECT iptables -A INPUT -p tcp --dport 25 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp -j REJECT