免責事項:firewalldを使用するのは初めてです。優しくしてください:)。
CentOSマシンを使用していて、firewalldを使用して次の要件を実装したい:
だから私はこれをしました:
public
ゾーンに追加しましたtrusted
に追加しましたゾーンは次のようになります。
public (active)
target: default
icmp-block-inversion: no
interfaces: eno12345
sources:
services: ssh dhcpv6-client
ports: 1/tcp 2/tcp 3/tcp 4/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources: IP1 IP2 IP3
services:
ports: 5/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
注:public
はデフォルトのゾーンです。
したがって、最初の2つのルールは正しく適用されているようです。
しかし、私は最終的なルールに行き詰まりました(ポート6を完全にブロックします)。私は複数の解決策を試しましたが、どれもうまくいかないようです。
1)。これを適用するにはどうすればよいですか?
2)。 firewalld構成で許可されていると明示的にリストされていなくても、ポート6を介して接続できるのはなぜですか? iptables
にもそれに関するルールは追加されていません。
いくつかの一般的なコマンドは以下のとおりです
firewall-cmd --list-ports
firewall-cmd --get-zones
firewall-cmd --zone=public --add-port=5000/tcp
その他のドキュメントや詳細については、こちらをご覧ください。 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Configuring_firewalld.html
私が解決した方法は、trusted
ゾーンにリッチルールを追加することです。
rule family="ipv4" port port="6" protocol="tcp" drop
私が知っていることから、豊富なルールが最初に適用されます。私の場合は正常に動作しているようです。