web-dev-qa-db-ja.com

SendmailとIpTableのルール

Nginx、ssh、sendmailを使用してサーバーのIpTableルールを設定する必要があります。さて、問題は、私のルールでは、他のホストにメールを送信できなくなったことです。ファイアウォールが稼働している場合、ローカルホストへの電子メールは機能しますが、別のサーバーへの送信は機能しません。

Incoming and Outgoing Port 25とDNSルックアップポートの両方を開こうとしましたが、何も機能しませんでした。何か案は?

更新:

これが私のルールです:

#! /bin/sh
# firewall iptable rules

interface="eth0"

# first, deny all
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# open loopback device completely
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# open ssh ports
iptables -A INPUT -p tcp -i $interface --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -o $interface --sport 22  -m state --state ESTABLISHED,RELATED -j ACCEPT

# open browser ports
iptables -A INPUT -p tcp -i $interface --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -o $interface --sport 80  -m state --state ESTABLISHED,RELATED -j ACCEPT
3
s1ck

Linuxボックスがポート25を介して電子メールを送信することを許可する場合は、次のようなルールを追加して許可する必要があります。

$ iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT

DNSトラフィックの場合も同様です。

$ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

そのような明示的なルールがない場合、デフォルトのポリシーがDROPに設定されているため、トラフィックはデフォルトで拒否されます。

更新:

以下を使用して、関連する/確立された接続を許可することを忘れないでください。

$ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3
Khaled

次のルールをIPTablesに追加します。

iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
0
rahul shivalkar