如果使用firewall-cmd开放了一个供公众使用的端口,我想将此端口限制为特定的IP,我在此站点上找到了答案。
我使用以下代码将其打开:
$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload
现在,使用我发现的信息中的信息,我想将对该端口的访问限制为特定的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'
我尝试了以下方法:
$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload
但是当我运行以下命令时:
$ firewall-cmd --list-ports
10050/tcp
仍然显示。
请理解,我对Sever端配置不太熟悉。
灵魂:不要忘记--runtime-to-permanent
$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload
啊,我忘了--permanent
—
MCV
您应该将此作为答案发布(并接受)。接受您自己的答案是完全可以接受的,这样可以将问题标记为已解决。
—
杰拉尔德·施耐德
最好不要使用
—
迈克尔·汉普顿
--permanent
,以防您在防火墙规则上出错。如果您曾经使用--permanent
并锁定自己,则将很难重新进入,因为您无法恢复。相反,请不要使用--permanent
,当您对规则感到满意时,请使用firewall-cmd --runtime-to-permanent
提交规则。如果您被锁定,请重新加载防火墙或重新启动。
这样也可以
—
mcv
firewall-cmd --runtime-to-permanent
在firewall-cmd --reload
或完全替换之后再应用吗?我一定会尝试的。