Linux关闭防火墙命令

article/2025/11/10 7:40:35

一、下面是red hat/CentOs7关闭防火墙的命令!

1:查看防火状态

systemctl status firewalld

service  iptables status

2:暂时关闭防火墙

systemctl stop firewalld

service  iptables stop

3:永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

service iptables restart  

5:永久关闭后重启

//暂时还没有试过

chkconfig iptables on

 

二、firewalld

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld 

2.禁用防火墙

systemctl stop firewalld

3.设置开机启动

systemctl enable firewalld

4.停止并禁用开机启动

sytemctl disable firewalld

5.重启防火墙

 

firewall-cmd --reload

6.查看状态

systemctl status firewalld或者 firewall-cmd --state

7.查看版本

firewall-cmd --version

8.查看帮助

firewall-cmd --help

9.查看区域信息

firewall-cmd --get-active-zones

10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0

11.拒绝所有包

firewall-cmd --panic-on

12.取消拒绝状态

firewall-cmd --panic-off

13.查看是否拒绝

firewall-cmd --query-panic

14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)

16.更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)

17.查看指定区域所有打开的端口

 

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

18.在指定区域打开端口(记得重启防火墙)

 

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

补充:

CentOS 7 下使用 Firewall 

在 CentOS 7 中,引入了一个新的服务,Firewalld,下面一张图,让大家明确的了解 Firewall 与 iptables 之间的关系与区别。

firewall stack

安装它,只需

# yum install firewalld

如果需要图形界面的话,则再安装

# yum install firewall-config

一、介绍

防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

zone

Firewall 能将不同的网络连接归类到不同的信任级别,Zone 提供了以下几个级别

  • drop: 丢弃所有进入的包,而不给出任何响应
  • block: 拒绝所有外部发起的连接,允许内部发起的连接
  • public: 允许指定的进入连接
  • external: 同上,对伪装的进入连接,一般用于路由转发
  • dmz: 允许受限制的进入连接
  • work: 允许受信任的计算机被限制的进入连接,类似 workgroup
  • home: 同上,类似 homegroup
  • internal: 同上,范围针对所有互联网用户
  • trusted: 信任所有连接

过滤规则

  • source: 根据源地址过滤
  • interface: 根据网卡过滤
  • service: 根据服务名过滤
  • port: 根据端口过滤
  • icmp-block: icmp 报文过滤,按照 icmp 类型配置
  • masquerade: ip 地址伪装
  • forward-port: 端口转发
  • rule: 自定义规则

其中,过滤规则的优先级遵循如下顺序

  1. source
  2. interface
  3. firewalld.conf

二、使用方法

# systemctl start firewalld         # 启动,
# systemctl enable firewalld        # 开机启动
# systemctl stop firewalld          # 关闭
# systemctl disable firewalld       # 取消开机启动

具体的规则管理,可以使用 firewall-cmd,具体的使用方法可以

$ firewall-cmd --help--zone=NAME                         # 指定 zone
--permanent                         # 永久修改,--reload 后生效
--timeout=seconds                   # 持续效果,到期后自动移除,用于调试,不能与 --permanent 同时使用

1. 查看规则

查看运行状态

$ firewall-cmd --state

查看已被激活的 Zone 信息

$ firewall-cmd --get-active-zones
publicinterfaces: eth0 eth1

查看指定接口的 Zone 信息

$ firewall-cmd --get-zone-of-interface=eth0
public

查看指定级别的接口

$ firewall-cmd --zone=public --list-interfaces
eth0

查看指定级别的所有信息,譬如 public

$ firewall-cmd --zone=public --list-all
public (default, active)interfaces: eth0sources:services: dhcpv6-client http sshports:masquerade: noforward-ports:icmp-blocks:rich rules:

查看所有级别被允许的信息

$ firewall-cmd --get-service

查看重启后所有 Zones 级别中被允许的服务,即永久放行的服务

$ firewall-cmd --get-service --permanent

2. 管理规则

# firewall-cmd --panic-on           # 丢弃
# firewall-cmd --panic-off          # 取消丢弃
# firewall-cmd --query-panic        # 查看丢弃状态
# firewall-cmd --reload             # 更新规则,不重启服务
# firewall-cmd --complete-reload    # 更新规则,重启服务

添加某接口至某信任等级,譬如添加 eth0 至 public,永久修改

# firewall-cmd --zone=public --add-interface=eth0 --permanent

设置 public 为默认的信任级别

# firewall-cmd --set-default-zone=public

a. 管理端口

列出 dmz 级别的被允许的进入端口

# firewall-cmd --zone=dmz --list-ports

允许 tcp 端口 8080 至 dmz 级别

# firewall-cmd --zone=dmz --add-port=8080/tcp

允许某范围的 udp 端口至 public 级别,并永久生效

# firewall-cmd --zone=public --add-port=5060-5059/udp --permanent

b. 网卡接口

列出 public zone 所有网卡

# firewall-cmd --zone=public --list-interfaces

将 eth0 添加至 public zone,永久

# firewall-cmd --zone=public --permanent --add-interface=eth0

eth0 存在与 public zone,将该网卡添加至 work zone,并将之从 public zone 中删除

# firewall-cmd --zone=work --permanent --change-interface=eth0

删除 public zone 中的 eth0,永久

# firewall-cmd --zone=public --permanent --remove-interface=eth0

c. 管理服务

添加 smtp 服务至 work zone

# firewall-cmd --zone=work --add-service=smtp

移除 work zone 中的 smtp 服务

# firewall-cmd --zone=work --remove-service=smtp

d. 配置 external zone 中的 ip 地址伪装

查看

# firewall-cmd --zone=external --query-masquerade

打开伪装

# firewall-cmd --zone=external --add-masquerade

关闭伪装

# firewall-cmd --zone=external --remove-masquerade

e. 配置 public zone 的端口转发

要打开端口转发,则需要先

# firewall-cmd --zone=public --add-masquerade

然后转发 tcp 22 端口至 3753

# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753

转发 22 端口数据至另一个 ip 的相同端口上

# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100

转发 22 端口数据至另一 ip 的 2055 端口上

# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100

f. 配置 public zone 的 icmp

查看所有支持的 icmp 类型

# firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded

列出

# firewall-cmd --zone=public --list-icmp-blocks

添加 echo-request 屏蔽

# firewall-cmd --zone=public --add-icmp-block=echo-request [--timeout=seconds]

移除 echo-reply 屏蔽

# firewall-cmd --zone=public --remove-icmp-block=echo-reply

g. IP 封禁

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.222' reject"

当然,我们仍然可以通过 ipset 来封禁 ip

封禁 ip

# firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:ip
# firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=222.222.222.222

封禁网段

# firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net
# firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=222.222.222.0/24

导入 ipset 的 blacklist 规则

# firewall-cmd --permanent --zone=public --new-ipset-from-file=/path/blacklist.xml

如果已经存 blacklist,则需要先删除

# firewall-cmd --get-ipsets
blacklist
# firewall-cmd --permanent --zone=public --delete-ipset=blacklist

然后封禁 blacklist

# firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=blacklist drop'

重新载入以生效

# firewall-cmd --reload

查看 blacklist

# firewall-cmd --ipset=blacklist --get-entries

以上都是一些常用方法,更多高级方法,请参考:

  • https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html
  • https://fedoraproject.org/wiki/FirewallD

http://chatgpt.dhexx.cn/article/ycuCnhcn.shtml

相关文章

原生js 实现图片轮播(图片按钮+左右轮播)

该代码可以实现左右箭头点击切换,按钮点击切换,自动播放方面还需改进 点击切换方面算是实现了效果,自我感觉还需要改进,代码仅供参考 html部分 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>…

JS——【案例】图片轮播图(自动轮播/手动点击/悬停显示)[技术栈:html、css、JavaScript]

1、效果&#xff1a; 2、需求&#xff1a; 3、代码实现&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&…

如何用JS实现轮播图!

轮播图 1.思路与写法 1.1 首先我们拿到一个关于轮播图的实例我们要分析里面的功能&#xff0c;将其模块化处理&#xff1b; 1.2 首先需要实现的是自动轮播的效果&#xff1a; 1.2.1需要用到运动函数框架&#xff0c;startMove()&#xff0c;还需要用到定时器&#xff0c;这里…

javascript图片轮播技术动态实现

我们经常会在网页中见到轮播的图片&#xff0c;如京东主页面中图片自动更换。我们在这里对这一技术进行实现&#xff0c;主要能够使图片自动进行轮播&#xff0c;数字标签随着图片一同更换&#xff0c;鼠标移动到数字标签上&#xff0c;相应的图片停留&#xff0c;鼠标在整个图…

JS——实现轮播图(完整功能)

没有把细节单拎出来讲&#xff0c;但基本上所有重要步骤都在代码里边备注解释了~~ 个人认为比较难的地方就是&#xff1a; 怎么在自动播放到最后一张图片后&#xff0c;瞬间切换回第一张图片重新播放&#xff1f; 这里采用了比较取巧的方法&#xff0c;比如我用了四张例图&a…

Js实现图片点击切换与轮播

Js实现图片点击切换与轮播 图片点击切换 <!DOCTYPE html> <html><head> <meta charset"UTF-8"><title></title><script type"text/javascript">window.onloadfunction(){var btn1document.getElementById("…

原生JS-实现无限图片轮播

实现思路&#xff1a; 一、布局部分&#xff1a; 1、采用div>ul>li>img布局&#xff0c;来展示轮播的图片banner; 2、采用div>>ul>li>a标签&#xff0c;来显示小红点&#xff1b; 整个布局入下图所示&#xff1a;途中的&#xff0c;图中的第一个li和最后一…

HTML网页js超简单实现图片轮播

其实实现图片轮播很简单 1. 创建一个js文件&#xff08;自己会的博主不多说&#xff09; 2. 在html文件引入js文件 引入代码&#xff1a; <script type"text/javascript" src"js/sth.js"></script> 注意&#xff1a;sth是自己的js文件名自行…

JS实现图片轮播(方法一)

效果如下&#xff1a; 下面是具体的实现代码&#xff1a; HTML代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

js实现图片自动轮播

今天有人问我这个问题&#xff0c;我就顺便把这个记下来&#xff0c;分享给大伙。 如图&#xff0c;就是图片自己轮播&#xff0c;并且图中中下方的白点也发生变化&#xff0c;图片到哪&#xff0c;白点就到哪&#xff0c;就直接上代码了 <!DOCTYPE html PUBLIC "-//W3…

js图片轮播效果实现代码

这篇文章主要介绍了js图片轮播效果实现代码&#xff0c;文章对每一步进行了详细阐述&#xff0c;标注注意事项&#xff0c;为顺利实现js图片轮播效果做好铺垫&#xff0c;对轮播效果感兴趣的朋友可以参考一下 首先给大家看一看js图片轮播效果&#xff0c;如下图 具体思路&#…

Javascript实现图片轮播效果。

用js做一个简单的图片轮播效果。 思路如下:用JavaScript来控制轮播的图片的样式(margin-left)。用计时器来控制图片的自动播放。鼠标点击控制图片的翻页。 效果图如下。具有以下功能:1.自动图片轮播 2.左右切换图片 3.底下小按钮切换图片。 话不多说,代码如下。 首先肯定是…

JavaScript 实现图片轮播

今天给大家介绍下怎么用 JS 实现图片轮播效果。 原理描述&#xff1a; 使用JS实现轮播的原理是这样的&#xff1a; 假设初始的情况&#xff0c;下图一个网格代表一个图&#xff0c;初始时&#xff0c;显示1 &#xff1a; 当进行一次轮播后&#xff0c;显示变为下图 显示2&…

JavaScript实现图片自动轮播

目录 1.轮播图片 1.1图片切换功能 1.2定时器功能 1.3图片自动轮播实现 2.页面定时弹出广告 2.2 技术分析 2.3步骤分析 2.4代码实现 3.表单校验 3.1需求分析 3.2技术分析 3.3校验邮箱 3.3.1从外部引入js文件&#xff08;一些匹配函数&#xff09; JS&#xff1a;是…

html js简单实现图片轮播功能

本章记录简单的图片轮播功能&#xff0c;需要html、js和css共同实现1、html文件<!DOCTYPE html> <html><head><meta charset"UTF-8"><link rel"stylesheet" type"text/css" href"css/text.css"/><sc…

js轮播图 最简单代码

js轮播图 最简单代码 今天来分享一篇js最简单轮播图轮播图&#xff0c;用最简单的代码实现&#xff1a; 首先&#xff0c;建立一个HTML文件&#xff0c;插入img标签&#xff0c;这里我们定义图片id为pic 然后使用document.getElementByid()获取img标签的id&#xff0c;并且定…

html+css+js实现图片轮播

html代码 原理是通过 overflow: hidden; 将ul的宽带属性设置为轮播图片的个数*100%&#xff0c;从而这个属性来使得div中只充斥 一个li&#xff1b;通过js让margin-left的值改变来实现图片轮播&#xff1b; <body><div class"warp"><div class"…

JS实现图片轮播效果(自动和手动)

本次轮播效果图如下&#xff1a; 具有以下功能&#xff1a;1.自动播放&#xff08;鼠标进入显示区域时停止播放&#xff09; 2.左右焦点切换 3.底下小按钮切换 ps:由于很多同志反馈无法总有各种奇怪的情况&#xff0c;所以有需要的直接下载整个工程&#xff1a;JS实现图片轮…

JS实现轮播图

在css使用动画可以实现简单的轮播图&#xff0c;但如今已经学习了JS&#xff0c;用JS来写轮播图更加方便快捷。今天就带着大家来实现轮播图。话不多说我们直接看代码&#xff1a; 这是css部分&#xff0c;进行了简单的样式操作接下来就进入js阶段&#xff1a; 运行结果如下&…

JS实现轮播图(一看就懂逻辑清晰)

轮播图有很多种实现方法&#xff0c;这是其中一种最清晰的方法。思路很清晰&#xff0c;代码很简单&#xff0c;欢迎大佬多指教。 先来看下效果图&#xff0c;嫌麻烦就不用具体图片来实现了&#xff0c;主要是理清思路。&#xff08;自动轮播&#xff0c;左右按钮切换图片&…