如何配置firewalld以与多个区域共享单个接口?

如何配置firewalld以与多个区域共享单个接口?

操作系统7

我有两个区域(家庭和公共)。我想允许从我家使用 SSH,但不允许从公共场所使用。

[root@foobox ~]# firewall-cmd --list-all --zone=home
home (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 1.2.3.4
  services: ssh https
  ports: 12345/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@foobox~]# firewall-cmd --list-all --zone=public
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks: echo-reply
  rich rules:

由于没有与公共区域关联的接口或源,我怀疑所有内容都与 home 匹配并使用它。

我只有一个接口,并且不想创建双宿主设置...那么我如何告诉firewall-cmd“如果远程客户端来自 1.2.3.4,请使用主区域...如果是任何其他区域远程源IP,使用公共区域”?

我认为这可能就像添加一个接口一样简单,但我收到一个错误:

[root@foobox ~]# firewall-cmd --permanent --zone=public --add-interface=eth0
Error: ZONE_CONFLICT: eth0

相关内容