===============================================

2019/4/15_第1次修改                       ccb_warlock

===============================================

由于一直使用centos7的环境,所以接触的防火墙比较多的是firewalld而不是iptable,之前一直没有好好总结过firewalld的用法,这次做个整理。

我将firewall-cmd命令的操作分成了2部分:常用和其他。其中常用是我在最近几年使用centos7时用的次数较多的操作。


一、常用操作

1)重新加载配置

firewall-cmd --reload

2)查看所有配置

firewall-cmd --list-all

3)查看当前开放的端口(允许任意IP访问)

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

4)开放指定端口(允许任意IP访问)

以开放80端口为例

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

5)移除端口(允许任意IP访问的端口)

以撤销80端口的开放为例

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

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

6)查看允许指定IP访问端口的规则

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

7)开放指定端口(只允许指定IP访问)

以“只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

8)移除规则(只允许指定IP访问的端口)

以“移除只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

9)移除默认的ssh服务

移除默认的ssh服务前,先确认是否已经额外开放了22端口,否则会导致无法使用ssh远程连接。

firewall-cmd --remove-service=ssh --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

10)查看某个端口是否开放

以检查80端口为例(yes:开放;no:未开放)

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

11)TCP端口转发

# 允许防火墙伪装IP

firewall-cmd --add-masquerade

# 将本地80端口的流量转发到192.168.1.1的80端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.1:toport=80 --permanent

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效


二、其它操作

查看版本:firewall-cmd --version

查看帮助: firewall-cmd --help

查看状态: firewall-cmd --state

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic


参考资料:

1.https://www.cnblogs.com/moxiaoan/p/5683743.html

2.https://blog.csdn.net/qguanri/article/details/51673845

centos7 Firewalld操作集合的更多相关文章

  1. CentOS7 常用命令集合

    CentOS7 常用命令集合 文件与目录操作 touch test.txt: 创建一个文本文件 文本内容处理 查询操作 压缩.解压 yum安装器 网络相关 系统相关 XSheel 5相关操作 窗体快捷 ...

  2. centos7常用命令集合

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   CentOS7 常用命令集合 这两天一直在对CentOS 7.2进行初体验,各种学习命令肿么用,不过其实大多和DOS是一 ...

  3. 【Linux】CentOS7 常用命令集合

    CentOS7 常用命令集合 常用命令 文件与目录 操作命令解析 cd /home 进入 ‘/home’ 目录cd .. 返回上一级目录cd ../.. 返回上两级目录cd - 返回上次所在目录cp ...

  4. 操作集合的工具类:Collections

    Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作,还提供了将集合对象置为不可变.对集合对象实现同步控制等方法 ...

  5. 操作集合的工具类Collections

    1       操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操 ...

  6. Java8新特性 1——利用流和Lambda表达式操作集合

    Java8中可以用简洁的代码来操作集合,比如List,Map,他们的实现ArrayList.以此来实现Java8的充分利用CPU的目标. 流和Lambda表达式都是Java8中的新特性.流可以实现对集 ...

  7. 09_Java8操作集合的一些新特性

    [使用forEach()结合Lambda表达式遍历集合] public class ForEachDemo { public static void main(String[] args) { Col ...

  8. Python 操作集合

    Python 操作集合 集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值:关系测试就是求多个 ...

  9. jquery的radio和checkbox的标签的操作集合

    jquery的radio和checkbox的标签的操作集合: $("input[name='radio_name'][checked]").val(); //选择被选中Radio的 ...

随机推荐

  1. [luogu3398][仓鼠找sugar]

    luogu3398 思路: 假设松鼠a要从a1去a2,松鼠b要从b1去b2,ks表示lca(a1,a2)和lca(b1,b2)中深度较深的那个.那么,若要使得两只松鼠可能相遇,则只要满足lca(a1, ...

  2. 有趣的electron(一)

    跟我一起实现一个基于electron的hello-world吧- Come with me to implement an electron-based project hello-world. 先看 ...

  3. @DisallowConcurrentExecution 注解的作用 【定时器执行完当前任务才开启下一个线程的方式】

    转: @DisallowConcurrentExecution 注解的作用 2018年10月12日 16:42:40 fly_captain 阅读数:4317   Quartz定时任务默认都是并发执行 ...

  4. textarea 字体限制,超出部分不显示并及时显示还剩字体个数

    1)HTML <textarea class="box" ></textarea > 2)JQ: $(function(){ $(".box&qu ...

  5. 国内互联网公司UED博客

      1,淘宝UED http://ued.taobao.com/blog淘宝网用户体验团队博客,有关用户体验设计和研究的经验分享.UED的本意是用户体验设计,是英文User Experience De ...

  6. Scala进阶之路-并发编程模型Akka入门篇

    Scala进阶之路-并发编程模型Akka入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Akka Actor介绍 1>.Akka介绍 写并发程序很难.程序员不得不处 ...

  7. Hbase记录-HBase扫描/计数/权限

    HBase扫描   scan 命令用于查看HTable数据.使用 scan 命令可以得到表中的数据.它的语法如下: scan ‘<table name>’ 下面的示例演示了如何使用scan ...

  8. VUE2.0 饿了吗视频学习笔记(七-终):compute,循环,flex,display:table

    一.star组件使用到了computed属性 computed相当于属性的一个实时计算,当对象的某个值改变的时候,会进行实时计算. computed: { starType() { return 's ...

  9. JS知识整理之 Call&Apply方法

    JavaScript中的函数也是对象,和其他JS对象一样也可以包含方法,其中Call和Apply就是其中比较重要的方法,可以用来间接的调用函数.这两个方法允许显式制定调用所需的this值,也就是说所有 ...

  10. Spring第一个helloWorld

    Spring 简介: 轻量级:Spring是非侵入性的-基于Spring开发的应用中的对象可以不依赖于Spring的API 依赖注入(DI—dependdency injection.IOC) 面向切 ...