目标设置如下:我想将对服务器的 ssh 访问限制为特定 IP,并允许所有人使用 http 服务。现在,为了从“头”开始,我定义了一个新区域,我将其称为“自定义”,并将其设置为默认区域。这是它的当前状态:
custom (active)
target: default
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: http
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
为了仅允许 192.168.122.1 IP 访问 SSH 服务,我创建了另一个区域,称为“limited-ssh”:
limited-ssh (active)
target: default
icmp-block-inversion: no
interfaces:
sources: 192.168.122.1
services: ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
这些接口是唯一活动的接口:
custom
interfaces: enp1s0
limited-ssh
sources: 192.168.122.1
虽然这有效,但从只有指定 IP 能够通过 ssh 进入机器的意义上讲,同一个 IP 无法访问 http 服务。我猜是因为“源”区域在“接口”区域之前处理。我如何限制 SSH 访问和允许该 IP 访问 HTTP 服务(以及“自定义”区域中的所有其他服务)?我应该使用直接规则吗?我假设如果我将 http 服务添加到有限 ssh 区域,它会起作用,但它会重复并且很快就会变得一团糟。