ファイアウォールを有効にして、次のように設定しました。
loopback (active)
target: DROP
icmp-block-inversion: no
interfaces: lo
sources:
services:
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="127.0.0.0/8" port port="8080" protocol="tcp" drop
rule family="ipv4" destination address="127.0.0.1" port port="8080" protocol="tcp" drop
ただし、実行はブロックするのではなくcurl -I localhost:8080
返されます。HTTP/1.1 200 OK
ファイアウォールが無効になり、iptablesが有効になっている場合は、次の規則を使用します。
iptables -I OUTPUT -o lo -p tcp --dport 8080 -j DROP
リクエストがブロックされました!
Firewalldが期待どおりに機能しないのはなぜですか?構成は、実行および再ロード時にも持続します。
ベストアンサー1
これはうまくいきます。 RHですべて説明されています。記事。誰もがRHアカウントを持っているわけではありませんが、他の記事を見つけることはできません。
--dports
バグを修正し、OPの要件を満たすために記事の元のコマンドを変更しました。
sudo firewall-cmd --direct --add-passthrough ipv4 -I OUTPUT -d 127.0.0.0/8 -p tcp --dport 8080 -j REJECT
RHの記事ではipv6について言及していませんが、もちろんあなたの場合はlo
ipv6を介してアクセスする可能性もブロックする必要があります。
sudo firewall-cmd --direct --add-passthrough ipv6 -I OUTPUT -d ::1/128 -p tcp --dport 8080 -j REJECT