我今天花了几个小时尝试为 SSH 访问设置防火墙规则。我有多个自定义区域,如下所示。出于安全原因,我更改了大部分 IP 地址。
firewall-cmd --get-active-zones
web-zone
interfaces: eth0
sources: 160.1.100.0/21 10.0.0.0/8 194.1.1.0/24
ssh
sources: 194.1.1.3
admin
sources: 160.1.1.3
etranscripts
sources: 55.164.111.101 55.164.84.100
web-zone (active)
target: default
icmp-block-inversion: no
interfaces:
sources: 160.1.100.0/21 10.0.0.0/8 194.1.1.0/24
services:
ports: 9060/tcp 9070/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
ssh (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources: 194.1.1.3
services:
ports: 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
根据这些规则,有人会认为我可以从 194.1.1.3 ssh 进入服务器,但我不能。更奇怪的是,如果我更改网络接口绑定的区域,我可以 ssh 进入服务器。
[root@dev-banapp03 ~]# firewall-cmd --remove-interface=eth0 --zone=web-zone --permanent
The interface is under control of NetworkManager, setting zone to default.
success
[root@dev-banapp03 ~]# firewall-cmd --add-interface=eth0 --zone=ssh --permanent
The interface is under control of NetworkManager, setting zone to 'ssh'.
success
[root@dev-banapp03 ~]# firewall-cmd --get-active-zones
web-zone
sources: 160.1.100.0/21 10.0.0.0/8 194.1.1.0/24
ssh
interfaces: eth0
sources: 194.1.1.3
admin
sources: 160.1.1.3
etranscripts
sources: 55.164.111.101 55.164.84.100
显然,对区域评估应用了某种顺序,但我不知道它是什么,我也没有找到任何关于它的好文章。谁能告诉我这是怎么回事?
〜鲍勃