我有 centos 7。我试图阻止从服务器到特定 IP 地址的所有出站流量,但防火墙没有阻止流量。以下是我所做的:
[root@server network-scripts]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" destination address="134.223.116.100" drop
[root@server network-scripts]# firewall-cmd --get-active-zones
public
interfaces: ens192
[root@server network-scripts]# firewall-cmd --state
running
但我仍然可以 curl 到该 IP 地址,那么问题出在哪里呢?
[root@server network-scripts]# curl 134.223.116.100
<HTML><HEAD>
<TITLE>Access Denied</TITLE>
答案1
我不喜欢从前端调试防火墙问题,更喜欢使用[sudo] iptables -L -v -n
或查看实际规则集[sudo] iptables-save
。
我思考这表明您的丰富规则仍然仅适用于传入连接,而不是传出连接。
据我所知,使用防火墙来处理除传入流量以外的任何事情都相当困难,你可能不得不求助于直接的规则
sudo firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -d 134.223.116.100/32 -j REJECT