我目前正试图在向全世界发布之前确保我的服务器安全。目前,只有一个Discourse实例在运行,它使用Mandrill作为电子邮件smtp服务器。
该话语前面有一个nginx服务器。
没有iptables规则,一切正常。当我应用我的规则时,它会破坏。我仍然可以访问话语,甚至发送帖子和所有内容,期待发送电子邮件。
使用./launcher mailtest app
,它有效。然而,话语错误如下:ERREUR - getaddrinfo: Name or service not known
。
我真的试着找出自己应该使用的东西。但我不能。
首先,我认为一个简单的iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
已经足够了,但我被证明是相反的。
其他一些意见:
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
我将话语设置为使用Mandrill的端口587。
答案 0 :(得分:-2)
好的,所以我刚刚发布了......这不是该问题的正确的SE论坛。对不起,我很抱歉。
然而,由于我终于找到了一个解决方案(总是当你发布问题时,问题就在你面前),让我分享一下。
我错过了docker0和eth0之间的FORWARD规则。
iptables -A FORWARD -i docker0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o docker0 -j ACCEPT
很抱歉给您带来不便。