我应该使用什么iptables规则才能使我的Discourse应用程序能够使用Mandrill?

时间:2015-04-06 12:58:51

标签: iptables discourse

我目前正试图在向全世界发布之前确保我的服务器安全。目前,只有一个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。

1 个答案:

答案 0 :(得分:-2)

好的,所以我刚刚发布了......这不是该问题的正确的SE论坛。对不起,我很抱歉。

然而,由于我终于找到了一个解决方案(总是当你发布问题时,问题就在你面前),让我分享一下。

我错过了docker0和eth0之间的FORWARD规则。

iptables -A FORWARD -i docker0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o docker0 -j ACCEPT

很抱歉给您带来不便。