我在使用防火墙时遇到问题,我打开了一些端口,现在想关闭它们,例如,我在公共区域打开了 tcp/3000,现在想关闭它。到目前为止,我尝试过这个
firewall-cmd --zone=public --remove-port=3000/tcp
firewall-cmd --runtime-to-permanent
firewall-cmd --reload
跑完之后,我跑了
firewall-cmd --list-all-zones
并且显示公共区域不再开放该端口
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client http https
ports: 8080/tcp 500/udp 4500/udp 80/udp 443/udp 7070/udp 5555/tcp 1514/tcp 514/tcp 8086/tcp 8082/tcp 10051/tcp 1514/udp 12201/udp 12201/tcp 514/udp 9200/tcp 5044/tcp 5601/tcp 80/tcp 443/tcp 3306/tcp 5000/tcp 5002/tcp 87/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
但是我仍然可以通过该端口访问我的 Grafana 实例。然后我尝试运行
sudo systemctl restart firewalld
但它仍让交通通过。
答案1
我知道您标记了 --list-all-zones 但没有看到端口 3000/tcp 打开,但是:
1- 为确保万无一失,您能否 grep /etc/firewalld/zones/ 中的所有文件.xml 中是否有“3000”?2- 在 /usr/lib/firewalld/zones/ 中搜索“3000”.xml 3- 检查日志 4- 仔细检查 iptables 是否未运行并允许端口 3000