防火墙(firewall)的操作命令

一、查看防火墙状态

1、首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启

systemctl status firewalld

开启防火墙并设置开机自启

 
  1. systemctl start firewalld

  2. systemctl enable firewalld

一般需要重启一下机器,不然后面做的设置可能不会生效

二、开放或限制端口

1、开放端口

(1)如我们需要开启XShell连接时需要使用的22端口

firewall-cmd --zone=public --add-port=22/tcp --permanent

其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)可通过如下命令查看是否生效

firewall-cmd --zone=public --query-port=22/tcp

(4)如下命令可查看当前系统打开的所有端口

firewall-cmd --zone=public --list-ports

2、限制端口

(1)比如我们现在需要关掉刚刚打开的22端口

firewall-cmd --zone=public --remove-port=22/tcp --permanent

 

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)再去查看系统所有开放的端口,已经看到没有22端口了

firewall-cmd --zone=public --list-ports

3、批量开放或限制端口

(1)批量开放端口,如从100到500这之间的端口我们全部要打开

firewall-cmd --zone=public --add-port=100-500/tcp --permanent

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)查看系统所有开放的端口,可以看到从100到500的端口已被全部开放

firewall-cmd --zone=public --list-ports

(4)同理,批量限制端口为

firewall-cmd --zone=public --remove-port=100-500/tcp --permanent
firewall-cmd --reload

三、开放或限制IP

1、限制IP地址访问

(1)比如限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)查看已经设置的规则

firewall-cmd --zone=public --list-rich-rules

2、解除IP地址限制

(1)解除刚才被限制的192.168.0.200

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"

 

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)再查看规则设置发现已经没有192.168.0.200的限制了

firewall-cmd --zone=public --list-rich-rules

如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可

vi /etc/firewalld/zones/public.xml

3、限制IP地址段

(1)如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"

其中10.0.0.0/24表示为从10.0.0.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即正好限制了这一整段的IP地址,具体的设置规则可参考下表

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)查看规则,确认是否生效

firewall-cmd --zone=public --list-rich-rules

(4)同理,打开限制为

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept"
firewall-cmd --reload
<think>我们正在讨论防火墙相关命令,用户要求参考站内引用内容。根据引用[1][2][3],我们可以整理出Linux系统防火墙firewalld)的常用命令,包括服务管理、端口配置等。 注意:用户要求使用中文回答,并且要求生成相关问题。同时,在回答中引用的段落末尾自然地添加引用标识。 我们将按照以下结构组织回答: 1. 防火墙服务管理命令(启动、停止、状态查看、开机启用/禁用) 2. 防火墙配置命令(查看状态、重新加载配置、查看开放端口) 3. 端口管理(开放端口、关闭端口) 4. 注意事项(如永久生效参数--permanent和重新加载的必要性) 同时,根据引用内容,我们将在适当位置添加引用标识。 最后,我们将生成几个相关问题。 注意:由于用户提供的引用内容有三个,我们分别标记为[^1][^2][^3]。 </think>### Linux系统防火墙常用命令详解 Linux防火墙(通常使用`firewalld`)是系统安全的核心组件。以下命令基于引用内容整理,涵盖服务管理、端口配置及状态监控[^1][^2][^3]。 --- #### **1. 防火墙服务管理** 控制防火墙守护进程: ```bash # 启动防火墙 systemctl start firewalld [^2] # 停止防火墙 systemctl stop firewalld [^2] # 查看运行状态 systemctl status firewalld [^2] # 开机自启 systemctl enable firewalld.service [^1] # 禁用开机自启 systemctl disable firewalld.service [^1] ``` --- #### **2. 端口配置命令** 管理端口开放与关闭: ```bash # 查看防火墙状态(简洁版) firewall-cmd --state [^1] # 重新加载配置(端口修改后必需) firewall-cmd --reload [^1][^3] # 查看开放端口列表 firewall-cmd --list-ports [^1] 或 firewall-cmd --list-all [^1] # 开放端口(永久生效) firewall-cmd --zone=public --add-port=端口号/协议 --permanent [^1][^3] 示例:$$ \text{firewall-cmd --zone=public --add-port=8080/tcp --permanent} $$ # 关闭端口 firewall-cmd --zone=public --remove-port=端口号/协议 --permanent [^1][^3] ``` **关键参数解析**: - `--zone=public`:作用域(默认为public区域) - `--permanent`:规则永久生效(不加则重启后失效) - **必须执行** `firewall-cmd --reload` 使永久规则生效[^1][^3] --- #### **3. 高级配置示例** **场景1:开放HTTP/HTTPS服务** ```bash # 开放80端口(HTTP) firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放443端口(HTTPS) firewall-cmd --zone=public --add-port=443/tcp --permanent # 应用配置 firewall-cmd --reload ``` **场景2:批量管理端口范围** ```bash # 开放5000-6000的TCP端口 firewall-cmd --zone=public --add-port=5000-6000/tcp --permanent firewall-cmd --reload ``` --- #### **注意事项** 1. **权限要求**:所有命令需`root`权限或`sudo`执行 2. **生效逻辑**: - 未加`--permanent`:规则即时生效,但重启后丢失 - 添加`--permanent`:需`--reload`后生效且持久化 3. **区域选择**:根据网络环境选择`zone`(如`home`/`work`) ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值