web-dev-qa-db-ja.com

iptablesはポートでの送信をブロックし、選択したIPを許可します

Debian 7

iptables v1.4.14(ルールはありません)

ポート25、587、465ですべての発信接続をブロックし、特定のIPでのみ許可する必要があります。

私が試したこと:

iptables -A OUTPUT -p tcp --match multiport --dports 25,587,465 -j REJECT
iptables -A OUTPUT -p tcp -s 127.0.1.1 --match multiport --dports 25,587,465 -j ACCEPT
iptables -A OUTPUT -p tcp -s **.**.**.*** --match multiport --dports 25,587,465 -j ACCEPT
iptables -A OUTPUT -p tcp -s **.**.**.*** --match multiport --dports 25,587,465 -j ACCEPT

ルールの順序を変えてみましたが、期待どおりに動作しません。

1
Tim Mishutin

Iptablesルールは順番に評価されます。つまり、最初のルールですべてをブロックした場合、後で何かを許可する意味がなく、それらのルールに到達することはありません。

送信元アドレスと一致させたくない、宛先が必要だと確信しています。

iptables -A OUTPUT -p tcp -d 127.0.1.1 --match multiport --dports 25,587,465 -j ACCEPT
iptables -A OUTPUT -p tcp -d **.**.**.*** --match multiport --dports 25,587,465 -j ACCEPT
iptables -A OUTPUT -p tcp -d **.**.**.*** --match multiport --dports 25,587,465 -j ACCEPT
iptables -A OUTPUT -p tcp --match multiport --dports 25,587,465 -j REJECT
1
RalfFriedl