Linux防火墙规则怎么添加和删除?实用命令汇总

 更新时间:2026年07月15日 11:53:47   作者:Julia_up  
还在为Linux防火墙配置发愁?本文手把手教你使用iptables、ufw和firewall,从查看状态到开放端口,一步步掌握常见操作,无论你是新手还是老手,都能快速找到需要的命令,轻松管理你的服务器安全

一、iptables防火墙

1、查看防火墙状态

service iptables status

2、开启防火墙

service iptables start

3、关闭防火墙

service iptables stop

4、重启防火墙

service iptables restart

5、开机启动

chkconfig iptables on

6、开机禁用

chkconfig iptables off

7、开放指定端口

7.1、编辑配置文件

vi /etc/sysconfig/iptables

7.2、允许本地回环接口(运行本机访问本机)

iptables -A INPUT -i lo -j ACCEPT

7.3、允许访问指定端口

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

7.4、允许指定IP或IP段访问指定端口

iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT

8、禁止未允许的规则访问

iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

9、屏蔽IP

如果只是想屏蔽IP的话 “6、开放指定的端口” 可以直接跳过

#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP

10、查看已添加的iptables规则

iptables -L -n   # N:只显示IP地址和端口号,不将IP解析为域名

11、删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:iptables -D INPUT 8,也可以直接编辑iptables配置文件。

二、ufw防火墙

1、查看防火墙状态

sudo ufw status

如果系统提示:“Status inactive”表明没有开启防火墙 

2、开启防火墙

sudo ufw enable

3、关闭防火墙

sudo ufw disable

4、重启防火墙

sudo ufw reload

5、添加开放SSH端口

sudo ufw allow 22

  开启后,需要重启防火墙生效,命令:

sudo ufw reload

6、设置外来访问默认权限

sudo ufw default deny

7、端口的开放与关闭

7.1、开放普通端口

sudo ufw allow 22

7.2、关闭普通端口

sudo ufw delete allow 22

7.3、开放指定协议的端口

sudo ufw allow 8001/tcp

指定开放8001的tcp协议

7.4 关闭指定协议的端口

sudo ufw delete allow 8001/tcp

7.5、开放限定ip地址端口

7.5.1 、开放指定ip所有操作

sudo ufw allow from 192.168.121.1

7.5.2、关闭指定ip所有操作

sudo ufw delete allow from 192.168.121.1

7.5.3、开放指定ip对应端口操作

sudo ufw allow from 192.168.121.2 to any port 3306

7.5.4、关闭指定ip对应端口操作

sudo ufw delete allow from 192.168.121.2 to any port 3306

三、firewall防火墙

1、查看防火墙状态

systemctl status firewalld

2、开启防火墙

service firewalld start

3、重启防火墙

service firewalld restart

4、关闭防火墙

service firewalld stop

5、查看防火墙规则

firewall-cmd --list-all

6、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp

# 开放80端口
firewall-cmd --permanent --add-port=80/tcp

# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

# 开放指定IP指定端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"

# 删除指定IP指定端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"
systemctl restart firewalld.service

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux线程互斥之线程加锁的使用详解

    Linux线程互斥之线程加锁的使用详解

    这篇文章主要介绍了Linux线程互斥之线程加锁的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 详解如何在 CentOS 7 上安装和安全配置 MariaDB 10

    详解如何在 CentOS 7 上安装和安全配置 MariaDB 10

    这篇文章主要介绍了详解如何在 CentOS 7 上安装和安全配置 MariaDB 10,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Windows Linux子系统(WSL)删除与重装的问题及解决过程

    Windows Linux子系统(WSL)删除与重装的问题及解决过程

    Windows Subsystem for Linux (WSL) 删除与重装问题的解决方法:首先使用 `wslconfig /u` 命令卸载,然后通过 PowerShell 删除已安装的软件包,最后在 Windows Store 重新下载应用程序
    2026-01-01
  • linux环境openssl、openssh升级流程

    linux环境openssl、openssh升级流程

    该文章详细介绍了在Ubuntu 22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译环境、备份和安装、验证等,然后,升级OpenSSH的步骤包括下载最新版本、安装相关依赖、解压和编译安装、查看版本、备份替换文件、重启服务等
    2025-03-03
  • 浅谈Linux系统中的异常堆栈跟踪的简单实现

    浅谈Linux系统中的异常堆栈跟踪的简单实现

    下面小编就为大家带来一篇浅谈Linux系统中的异常堆栈跟踪的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux学习第一天——ssh登录和软件安装详解

    Linux学习第一天——ssh登录和软件安装详解

    这篇文章主要介绍了Linux学习第一天——ssh登录和软件安装详解 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • git clone--mirror同步桥详解

    git clone--mirror同步桥详解

    该文章主要了Git仓库同步的几种情况,包括保留mirror裸仓库、已删除裸仓库以及只想同步新tag等场景,通过创建裸仓库、fetch分支/标签等方式实现代价较低的增量同步,并在需要时写了长期自动同步的建议
    2026-05-05
  • 详解linux下查看系统版本号信息的方法(总结)

    详解linux下查看系统版本号信息的方法(总结)

    本篇文章主要介绍了详解CentOS下查看系统版本号信息的方法(总结),具有一定的参考价值,有兴趣的可以来了解一下
    2017-07-07
  • ubuntu16.04在python3 下创建Django项目并运行的操作方法

    ubuntu16.04在python3 下创建Django项目并运行的操作方法

    这篇文章主要介绍了ubuntu16.04在python3 下创建Django项目并运行,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • Linux xargs命令的使用

    Linux xargs命令的使用

    这篇文章主要介绍了Linux xargs命令的使用,帮助大家更好的掌握Linux系统的使用,感兴趣的朋友可以了解下
    2020-08-08

最新评论