安装它,只需

yum install firewalld

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

yum install firewall-config

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

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

二、使用方法

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

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

firewall-cmd --help

查看运行状态

firewall-cmd --state

查看已被激活的 Zone 信息

firewall-cmd --get-active-zones
public
interfaces: 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: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

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

firewall-cmd --get-service

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

firewall-cmd --get-service --permanent

三、管理规则

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

四、管理端口 
列出 dmz 级别的被允许的进入端口

firewall-cmd --zome=dmz --list-ports

允许 tcp 端口 8080 至 dmz 级别

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

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

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

五、管理服务 
添加 smtp 服务至 work zone

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

移除 work zone 中的 smtp 服务

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

六、配置 ip 地址伪装 
查看

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

打开伪装

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

关闭伪装

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

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

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

然后转发 tcp 22 端口至 3753

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

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

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

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

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

CentOS7下Firewall常用命令的更多相关文章

  1. CentOS7 防火墙Firewall常用命令

    1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disab ...

  2. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  3. CentOS7防火墙设置常用命令

    目录 开/关/重启防火墙 查看所有开启的端口号 CentOS7环境下防火墙常用命令 开/关/重启防火墙 查看防火墙状态 firewall-cmd --state 启动防火墙 systemctl sta ...

  4. linux命令行下svn常用命令

    linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...

  5. linux 下 mysql 常用命令

    linux 下 mysql 常用命令   阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...

  6. Linux课程---2、Linux下最常用命令(查看帮助命令)

    Linux课程---2.Linux下最常用命令(查看帮助命令) 一.总结 一句话总结: man 1.显示文件? ls:ls带其它参数详情可以man ls man ls:比如 ls -a显示隐藏文件,l ...

  7. 学习java之电脑的常用快捷键和DOS窗口下的常用命令

    学习java之电脑的常用快捷键和DOS窗口下的常用命令 电脑一些常用的快捷键 win快捷键: 单独按Windows:显示或隐藏 "开始"功能表 Windows+BREAK:显示&q ...

  8. CentOS下mysql常用命令

    CentOS下mysql常用命令   1.开启和关闭 1.1.开启 service mysql start 1.2.关闭 service mysql stop 1.3.重启 service mysql ...

  9. CentOS下yum常用命令

    1.自动搜索最快镜像插件:yum install yum-fastestmirror 2.更换163的源. 首先:备份/etc/yum.repos.d/CentOS-Base.repomv /etc/ ...

随机推荐

  1. git安装教程(windows安装)

    git下载地址 https://git-scm.com/download/win 选择安装的组件,推荐全选 Additional icons 附加图标 ​ On the Desktop 在桌面上 Wi ...

  2. koa2链接mongodb

    数据库使用的mongodbmongodb下载:https://www.mongodb.com/mongodb GUI:https://robomongo.org/ 使用中间件koa来搭建框架使用中间件 ...

  3. 2017 Multi-University Training Contest - Team 3 hdu6060 RXD and dividing

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6060 题目: RXD and dividing Time Limit: 6000/3000 M ...

  4. iOS 学习 RESTful 中 Http 的幂等性

    一. RESTful  RESTful (Representational State Transfer) 是一种常用流行的软件架构,设计风格或协议标准.提供了一组设计风格和约束条件.主要用于客户端和 ...

  5. Java设计模式之模板方法模式(Template Method)

    一.含义 定义一个算法中的操作框架,而将一些步骤延迟到子类中.使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤,不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现. 二 ...

  6. 利用arcgis制作出 源解析要用的ASCII文件

    准备:1.确定好模拟区域范围,精度,行列数          2.确定好源解析的城市规划 思路: 1.全国省级图+本地市县图-->合成一张区域图(联合) 合成之后,添加一个字段,一个数字类型字段 ...

  7. 服务器抓包命令:tcpdump详解

    官网地址:http://www.tcpdump.org/tcpdump_man.html 简介: tcpdump,就是:dump the traffic on a network,根据使用者的定义对网 ...

  8. github代码上传下载慢问题

    绑上下面的host,实测下载速度可提高2倍左右. 151.101.72.249 github.global.ssl.fastly.net

  9. jenkins邮箱配置以及结合ansible进行批量构建

    tomcat8.5以上版本,jenkins2.7以上版本 首先填写你的系统管理员邮件地址,否则会使用jenkins系统本身的邮箱 填写的163邮箱,通过smtp认证填写正确的账号和密码(注意这里的密码 ...

  10. php下获取http状态的实现代码

    在项目开发中,有时我们需要知道远程的URL地址是否能访问正常,判断其正常与否后进行下一步的操作,那么在PHP中如何获取远程HTTP的状态呢? 文件preg.php header("HTTP/ ...