2015-04-06 4 views
-2

В настоящее время я пытаюсь защитить свой сервер до его выпуска в мир. На данный момент существует только экземпляр Discourse, который использует Mandrill в качестве SMTP-сервера электронной почты.Какие правила iptables следует использовать для того, чтобы мое приложение Discourse могло использовать Mandrill?

Перед этим дискурсом существует сервер nginx.

Без правил iptables все работает нормально. Когда я применяю свои правила, это ломается. Я все еще могу достичь Дискурса и даже отправлять сообщения и все, ожидая отправки электронной почты.

С ./launcher mailtest app, он работает. Ошибка Discourse, однако, следующая: 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 

Я поставил Дискурс использовать порт 587 из Mandrill.

ответ

-2

Хорошо, поэтому я только что выпустил ... Это не тот форум SE для этого вопроса. Извини за это.

Однако, поскольку я, наконец, нашел решение (всегда, когда вы публикуете свой вопрос, что вопрос поражает вас в лицо), позвольте мне поделиться им.

Мне не было правила FORWARD между docker0 и eth0.

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

Извините за неудобство.