相关疑难解决方法(0)

使用 firewalld 阻止除少数 ip 之外的所有 ip

在 linux 联网机器上,我想限制允许访问它的“公共”区域(防火墙概念)上的地址集。所以最终的结果是没有其他机器可以访问任何端口或协议,除了那些明确允许的,有点混合

  --add-rich-rule='rule family="ipv4" source not  address="192.168.56.120" drop'

  --add-rich-rule='rule family="ipv4" source not  address="192.168.56.105" drop'
Run Code Online (Sandbox Code Playgroud)

上面的问题是,这不是一个真正的列表,它会阻止所有内容,因为如果它的一个地址与另一个地址不同而被阻止,则会产生意外的“全部删除”效果,我将如何“取消阻止”特定的非连续集?source 是否接受地址列表?到目前为止,我在查看文档或谷歌结果时没有看到任何内容。


编辑:我刚刚创建了这个:

# firewall-cmd  --zone=encrypt --list-all
encrypt (active)
  interfaces: eth1
  sources: 192.168.56.120
  services: ssh
  ports: 6000/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
Run Code Online (Sandbox Code Playgroud)

但是我仍然可以到达端口 6000,因为 .123 我的意图是如果未列出源,则它应该无法到达任何服务或端口

fedora command-line-interface firewalld

25
推荐指数
1
解决办法
5万
查看次数

如何在 Centos7 上使用防火墙删除对端口的访问?

如果使用 firewall-cmd 打开一个端口供公众使用,我想将此端口限制为特定 IP,我在此SITE上找到了答案。

我使用以下方法打开它:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

现在使用我发现的信息中的信息,我想将此端口的访问权限限制为特定的 IP 地址。我是否需要先从公共访问中删除此端口?

或者我可以按如下方式添加新规则,这样就能解决我的问题吗?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下命令时:

$ firewall-cmd --list-ports 
Run Code Online (Sandbox Code Playgroud)

10050/tcp 仍然显示。

请理解我对服务器端配置不太熟悉。

解决方案:不要忘记--runtime-to-permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 
Run Code Online (Sandbox Code Playgroud)

firewall port centos7

19
推荐指数
2
解决办法
12万
查看次数