2
root@node2:~# iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             anywhere             multiport dports iscsi-target

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

iscsi-target ポート (3260) をブロックするルールを削除するスクリプトを作成するにはどうすればよいですか? 私はやってみました:

iptables -A INPUT -p tcp --dport 3260 -j ACCEPT

しかし、ポートのブロックを解除しない新しいルールを挿入するだけです。

使用:

portblock::tcp::3260::unblock, from /etc/ha.d/haresources, does not remove the block to port 3260.

今のところ、ポート 3260 のブロックを解除するためiptables --flushに afterを使用しています。portblock::tcp::3260::block

最終的には、ファイアウォールを設置したいと考えています。つまり、ポート 3260 を一時的にブロックしてから、ブロックを解除するだけです。

ポート 3260 をブロックし、別のスクリプトでブロックを解除するために呼び出すことができるスクリプトのコーディングを誰かが手伝ってくれますか?

ありがとう、

JC

4

1 に答える 1

4

を使用-Aすると、チェーンに追加されるため、このルールより前のチェーンで一致するルールが優先されます。-I最初の位置に挿入するためにを使用する必要があります。

iptables -I INPUT -p tcp --dport 3260 -j ACCEPT

実際、デフォルトのポリシーはACCEPTですが、チェーンの最初のルールは、INPUTチェーンに含まれるものと常に一致する、任意のソースから任意の宛先にすべてをドロップすることです。

そのルールを削除する必要があります

iptables -D INPUT 1 

次に、追加するルールを追加できます。

結論として、INPUTチェーンの位置0にルールを挿入するだけで、ポート2360のブロックを解除できます。

iptables -I INPUT -p tcp --dport 3260 -j ACCEPT

そして、同じルールを削除して再度ブロックしますiptables -D INPUT 0

デフォルトでは、これは適切なルールのセットだと思います。

# iptables -P INPUT ACCEPT
# iptables -F
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT

このリンクを確認する必要があります。下部に完全なスクリプトがあり、必要に応じて変更できる一連の優れたルールを使用してIPTablesを設定できます。

于 2012-09-02T22:17:45.957 に答える