【Linux学习】防火墙开启关闭

本文详细介绍如何使用firewall-cmd命令操作CentOS系统的防火墙,包括查看、开启、关闭防火墙状态,以及如何管理端口和服务。文章还提供了常用的firewall-cmd参数详解,帮助读者快速掌握防火墙配置技巧。
  • 查看防火墙状态
firewall-cmd --state # 查看防火墙状态
  • 开启防火墙
systemctl start firewalld.service # 开启防火墙
  • 关闭防火墙
systemctl stop firewalld.service #关闭防火墙
  • 查看开放的端口列表
 firewall-cmd --zone=public --list-ports
  • firewall-cmd参数详解
参数作用
–list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息,防火墙分了好几个区域
–add-port=<端口号/协议>设置默认区域允许该端口的流量
–zone=区域指定作用域
–permanent永久生效,否则重启后失效
–reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–list-ports防火墙开放的端口列表
–remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
–add-service增加服务(例如ssh http smtp ftp
–remove-service删除服务
 firewall-cmd --list-all  #显示当前区域的网卡配置参数、资源、端口以及服务等信息

在这里插入图片描述
防火墙public zone为默认区, 默认public区域开放了 ssh 和 dhcpv6-client服务,所有人能通过ssh服务连接主机.

推荐文章:

https://www.cnblogs.com/liuyan54/p/10433344.html

### 查看防火墙状态 在Linux系统中,尤其是使用`firewalld`作为防火墙管理工具的发行版(如CentOS 7+、Fedora等),可以通过以下命令来查看防火墙的状态: ```bash systemctl status firewalld ``` 该命令会显示防火墙服务是否正在运行。如果看到`active (running)`则表示防火墙处于启用状态;如果是`inactive (dead)`则表示防火墙未启动[^1]。 ### 放行端口 要向防火墙中添加规则以允许特定端口通过,可以使用`firewall-cmd`工具。例如,若想放行TCP协议下的80端口(通常用于HTTP服务),可执行如下命令: ```bash sudo firewall-cmd --permanent --add-port=80/tcp ``` 这里`--permanent`选项确保更改是持久化的,即使重启后也会保留。为了使新设置生效,还需要重新加载防火墙配置: ```bash sudo firewall-cmd --reload ``` 对于需要批量放行多个端口的情况,可以连续多次调用上述`--add-port`命令,或者编写脚本来自动化这一过程。比如,放行从8000到8010的所有TCP端口: ```bash for port in {8000..8010}; do sudo firewall-cmd --permanent --add-port=${port}/tcp done sudo firewall-cmd --reload ``` ### 关闭防火墙 如果决定暂时或永久关闭防火墙,同样可以利用`systemctl`工具完成操作。临时关闭防火墙而不影响下次启动时的状态,可以使用: ```bash sudo systemctl stop firewalld ``` 而要彻底禁用防火墙服务,使其不会随系统启动而自动开启,则应执行: ```bash sudo systemctl disable firewalld ``` 需要注意的是,在生产环境中随意关闭防火墙可能会带来安全风险,因此建议仅在必要时进行此类操作,并确保有其他适当的安全措施到位[^2]。 ### 示例:综合运用 下面是一个完整的示例,演示如何检查防火墙状态、放行一个常用端口(如8080用于Web开发测试)、然后再次确认配置是否正确应用: ```bash # 检查当前防火墙状态 systemctl status firewalld # 如果防火墙未运行,先启动它 sudo systemctl start firewalld # 添加8080端口至防火墙规则中 sudo firewall-cmd --permanent --add-port=8080/tcp # 重载防火墙以应用新的规则 sudo firewall-cmd --reload # 验证8080端口是否已被成功添加 sudo firewall-cmd --list-all | grep 8080 ``` 以上步骤完成后,应该能够看到输出中包含`8080/tcp`的信息,这表明该端口已经被成功放行。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值