我有一个 CentOS8 机器,以及 firewalld 的默认配置:
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: dhcpv6-client mdns ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
我添加了一个我想要列入白名单的范围,我想允许 10.21.0.0/16 并阻止其他所有人:
firewall-cmd --add-source=10.21.0.0/16
firewall-cmd --add-source=10.21.0.0/16 --permanent
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources: 10.21.0.0/16
services: dhcpv6-client mdns ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
但是当我尝试从 IP 为 158.121.110.66 的盒子进行 ssh 时,它会通过。难道它不应该阻止除 10.21.0.0/16 之外的所有内容吗?难道我做错了什么?
答案1
如果您希望防火墙拒绝除特定源之外的所有连接,您应该将默认区域设置为,例如drop
或block
:
firewall-cmd --set-default-zone=drop
当然,应用这些东西时你必须非常小心:-)