firewalld是centos7开始提供的管理防火墙工具,提供了一个动态管理的防火墙,当然低层仍然调用的是 netfilter 。

一、区域(zone)
firewalld将网卡对应到不同的区域(zone),zone默认共有9个,block,dmz,drop,external,home,internal,public,trusted,work。

二、服务(services)
/usr/lib/firewalld/services目录中,保存了另一类配置文件,每个文件对应一项具体的网络服务,如 ssh 服务。
对应的配置文件中记录了各项服务所使用的 tcp/udp 端口,最新的 firewalld 中默认已经定义了 70 多种服务供我们使用。

修改服务的配置只需将/usr/lib/firewalld/services中的配置文件复制到/etc/firewalld/services中修改即可。

三、firewalld常用命令

安装

yum install firewalld

启动

systemctl start firewalld

停止

systemctl stop firewalld

查看版本

firewall-cmd --version

查看状态

firewall-cmd --state

重新载入

firewall-cmd --reload

查看firewalld支持的service

firewall-cmd --get-services

查看当前zone加载的service

firewall-cmd --list-services

查看区域信息

firewall-cmd --get-active-zone

查看活动的区域

firewall-cmd --get-active-zones

查看指定接口所属区域

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

查看默认区域

firewall-cmd --get-default-zone

设置默认区域

firewall-cmd --set-default-zone public

获取所有的区域

firewall-cmd --get-zones

拒绝所有包

firewall-cmd --panic-on

取消拒绝状态

firewall-cmd --panic-off

查看是否拒绝

firewall-cmd --query-panic

将接口添加到区域

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

将接口从区域中删除

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

修改接口所属区域

firewall-cmd --zone=dmz --change-interface=eth0

查询区域中是否包含某接口

firewall-cmd --zone=public --query-interface=eth0

  

四、打开端口 (最常用)

查看区域打开的所有端口

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

加入一个端口到区域

firewall-cmd --zone=public --add-port=8080/tcp

从区域中删除一个端口

firewall-cmd --zone=public --remove-port=8080/tcp

永久生效加上 --permanent 然后 reload 防火墙
注意,如果加上 --permanent 参数后,会把该配置写入到指定的区域配置文件中,比如:/etc/firewalld/zones/public.xml

五、如何打开一个服务

打开一个服务,类似端口可视化,服务需要在配置文件中添加,/etc/firewalld/services目录下。

查询区域中启用的服务

firewall-cmd --zone=public --list-services

将ssh服务添加到public区域

firewall-cmd --zone=public --add-service=ssh

移除服务

firewall-cmd --zone=public --remove-service=ssh

  

六、如何设置端口转发

要使用端口转发,需开启防火墙伪装

firewall-cmd --add-masquerade --permanent

如:我们想把访问本机192.168.1.222的3306端口转发到192.168.1.111主机的3306端口上

1、先把本机的3306端口放开

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

2、把访问本地3306端口的请求转发到192.168.1.111主机的3306上

firewall-cmd --permanent --zone=public --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.111:toport=3306

这样当我们访问222主机的3306端口时,实际访问的是111主机的3306端口。

centos7之firewalld防火墙的配置与使用的更多相关文章

  1. CentOS7使用firewalld防火墙配置端口

    安装启用firewalld防火墙 CentOS7默认的防火墙是firewalld 如果没有firewalld防火墙,可以执行yum install firewalld 命令进行安装 firewalld ...

  2. Centos7 iptables firewalld防火墙与selinux配置

    一.iptables防火墙 1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 service ...

  3. Centos7.5 firewalld防火墙配置

    CentOS 7.0默认使用的是firewall作为防火墙 1.查看firewall服务状态 systemctl status firewalld 2.查看firewall的状态 firewall-c ...

  4. CentOS7使用firewalld防火墙

    firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status fir ...

  5. Centos7下Firewalld防火墙配置命令

    前    言 服务端口日常被拦截,记录一下常用的命令便于查询 Firewalld服务管理 查看防火墙状态   1 systemctl status firewalld 开机启用/禁用防火墙   1 s ...

  6. Centos7 下的防火墙端口配置

    如果外部不能访问,需要查看防火墙以及服务器的端口安全设置. 防火墙的操作 查看所有打开的端口: firewall-cmd --zone=public --list-ports 添加 firewall- ...

  7. CentOS 7 打开关闭FirewallD防火墙端口命令

    CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service        ...

  8. firewalld防火墙基础

    目录 一.firewalld 概述 二.firewalld与iptables 的区别 三.firewalld 区域概念 四.Firewalld数据处理流程 五.Firewalld检查数据包的源地址的规 ...

  9. Firewalld防火墙——基础认知

    Firewalld防火墙 1.Firewalld概述 2.firewalld与iptables 的区别 3.firewalld区域的概念 4.firewalld数据处理流程 5.firewalld检查 ...

随机推荐

  1. 花了三个月终于把所有的 Python 库全部整理了!可以说很全面了

    库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...

  2. DBCC TRACEON - 跟踪标志 (Transact-SQL)

    跟踪标志用于设置特定服务器特征或更改特定行为. 例如,跟踪标志 3226 是一种常用的启动跟踪标志,可取消显示错误日志中的成功备份消息. 跟踪标志经常用于诊断性能问题或调试存储过程或复杂的计算机系统, ...

  3. 【游戏开发】网络编程之浅谈TCP粘包、拆包问题及其解决方案

    引子 现如今手游开发中网络编程是必不可少的重要一环,如果使用的是TCP协议的话,那么不可避免的就会遇见TCP粘包和拆包的问题,马三觉得haifeiWu博主的 TCP 粘包问题浅析及其解决方案 这篇博客 ...

  4. koa2 从入门到进阶之路 (七)

    之前的文章我们介绍了一下 koa koa-static静态资源中间件,本篇文章我们来看一下 koa 中 cookie 和 session 的使用. cookie 是存储于访问者的计算机中的变量.可以让 ...

  5. 深入理解 Java 注解

    深入理解 Java 注解 本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解.

  6. C# 动态加载资源

    在xaml中控件通过绑定静态资源StaticResource来获取样式Style有多种方式,TextBlockStyle.xaml是一个ResourceDictionary,包含了所需样式 通过相对路 ...

  7. echarts 柱状图

    效果: 图一:Y轴显示百分比  柱状图定点显示数量个数 图二:x轴  相同日期对应的每个柱子显示不同类型的数量 代码: 容器: <div id="badQuaAnalyze" ...

  8. Java - IO 内存流和打印流

    IO 内存流和打印流操作 字符编码 计算机中所有的信息组成都是二进制数据,所有能够描述的中文文字都是经过处理后的结果:所有的语言文字都会使用编码来进行描述,例如:ASCII码 常见编码 GBK/GB2 ...

  9. Android Gradle 学习笔记(二):Gradle Wrapper

    Wrapper,就是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本.这样大家就可以使用统一的Gradle版本进行构建,避免因为Gradle的版本不统一带来的不必要的问题. 这 ...

  10. Git如何把本地代码推送到远程仓库

    Git如何把本地代码推送到远程仓库 1. 初始化版本库 $ git init 2. 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 $ git add . 3. 把添加的文件提交到版 ...