我正在尝试设置一个firewall-cmd
规则对于传入的源 IPv4 地址使用操作系统7。
目前,我已经设法add-port
for zone=public
,但找不到一种方法来对外部访问进行“粒度过滤” - 就像上面提到的那样。
除了使用之外还有什么方法可以做到这一点丰富的语言? 如果 (或不是) 如此,我将如何使用它们来实现这一目标?
答案1
根据链接
丰富规则命令的格式或结构如下:
rule [family="rule family"]
[ source [NOT] [address="address"] [mac="mac-address"] [ipset="ipset"] ]
[ destination [NOT] address="address" ]
[ element ]
[ log [prefix="prefix text"] [level="log level"] [limit value="rate/duration"] ]
[ audit ]
[ action ]
拒绝端口 80 上来自 tcp 和 udp 的 8.8.8.8
firewall-cmd --add-rich-rule='source address=8.8.8.8 port=80 deny'
通常惯例适用
source address=192.168.117.0/24
destination not address=8.8.8.8
看来必须使用完整的语法来查询(--query-rich-rule='..'
)或删除(--remove-rich-rule='..'
)
答案2
如果您只想阻止特定 IP 地址访问服务器,则fds
前端更容易使用。它在幕后使用 FirewallD 和 IP 集,但提供了比以下更简单的 CLI 界面firewall-cmd
:
设置
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum -y install fds
封锁IP
sudo fds block 1.2.3.4