我认为我已经允许SMTP和DNS(我用来测试iptables规则的脚本如下,在我的版本中是我的主机名称服务器的实际IP),但无济于事!
iptables --flushiptables -A input -p tcp --dport 22 -j ACCEPTiptables -A input -p tcp --dport 80 -j ACCEPTiptables -A input -p tcp --dport 443 -j ACCEPT# Postgresiptables -A input -p tcp --dport 5432 -j ACCEPT# Webminiptables -A input -p tcp --dport 10000 -j ACCEPT# Pingiptables -A input -p icmp --icmp-type echo-request -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT# sendmailiptables -A input -p tcp --dport 25 -m state --state NEW,ESTABliSHED -j ACCEPTiptables -A OUTPUT -p tcp --sport 25 -m state --state ESTABliSHED -j ACCEPT# DNSiptables -A input -p udp --sport 53 -s <nameserver1> -j ACCEPTiptables -A input -p udp --sport 53 -s <nameserver2> -j ACCEPTiptables -A input -p tcp --sport 53 -s <nameserver1> -j ACCEPTiptables -A input -p tcp --sport 53 -s <nameserver2> -j ACCEPTiptables -A OUTPUT -p udp --dport 53 -d <nameserver1> -j ACCEPTiptables -A OUTPUT -p udp --dport 53 -d <nameserver2> -j ACCEPTiptables -A OUTPUT -p tcp --dport 53 -d <nameserver1> -j ACCEPTiptables -A OUTPUT -p tcp --dport 53 -d <nameserver2> -j ACCEPTiptables -A input -j DROP# Add loopbackiptables -I input 1 -i lo -j ACCEPT解决方法 目前你有:
iptables -A input -p tcp --dport 25 -m state --state NEW,ESTABliSHED -j ACCEPTiptables -A OUTPUT -p tcp --sport 25 -m state --state ESTABliSHED -j ACCEPT
这使得:
>数据包到您的sendmail,
>来自您的端口的数据包25 out,但仅适用于已建立的连接(因此只有来自外部的连接).
对于传出的电子邮件,您需要使用sendmail才能连接到外部世界.
所以你也需要这样的东西:
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPTiptables -A input -p tcp --sport 25 -m state --state ESTABliSHED -j ACCEPT
请确保你没有成为一个开放的接力.
总结以上是内存溢出为你收集整理的linux – 即使允许使用smtp和dns,Sendmail也不能与iptables一起使用全部内容,希望文章能够帮你解决linux – 即使允许使用smtp和dns,Sendmail也不能与iptables一起使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)