防火墙开关、端口开放相关操作命令

一、防火操作墙相关命令

1、查看防火墙状态 : systemctl status firewalld.service

注:active是绿的running表示防火墙开启

2、关闭防火墙 :systemctl stop firewalld.service

3、开机禁用防火墙自启命令 :systemctl disable firewalld.service

4、启动防火墙 :systemctl start firewalld.service

5、防火墙随系统开启启动 : systemctl enable firewalld.service

6、重启防火墙 : firewall-cmd --reload

二、防火墙端口开放相关命令

1、查询已经开放的端口 :firewall-cmd --list-port

2、查询某个端口是否开放 :firewall-cmd --query-port=80/tcp

3、开启端口 :firewall-cmd --zone=public --add-port=80/tcp --permanent

注:可以是一个端口范围,如1000-2000/tcp

4、移除端口 :firewall-cmd --zone=public --remove-port=80/tcp --permanent

5、命令含义:

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--remove-port=80/tcp #移除端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

三、防火墙放行区域问题(如果防火墙已放通,但端口实际不通,则需关注本问题)

    1. 物理网卡不在 public 区域的情况:
        目前仅讨论执行:firewall-cmd --get-active-zone,打印信息中没有 public
        【解决方案】

步骤 1:将物理网卡添加到 public 区域

# 查找物理网卡名称(输出如 eth0, ens3 等)
PHYSICAL_CARD=$(ip -o link show | grep -v lo | grep -v docker | grep -v br- | grep UP | awk '{print $2}' | cut -d: -f1)

# 添加到 public 区域(关键命令)
sudo firewall-cmd --permanent --zone=public --add-interface=$PHYSICAL_CARD

# 验证(应输出 public,但需过几秒后验证)
firewall-cmd --get-zone-of-interface=$PHYSICAL_CARD

步骤 2:重启 firewalld 和 Docker

# 重载防火墙配置
sudo firewall-cmd --reload

# 重启 Docker 重建 iptables 规则(如果有在使用 Docker 容器服务器去情况)
sudo systemctl restart docker

步骤 3:验证配置

# 确认 public 区域现在包含物理网卡且端口存在
sudo firewall-cmd --list-all --zone=public
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容