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

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. JAVA类中获取项目路径

    在java web项目中获取项目的src/main/resource下的文件路径 当前类名.class.getClassLoader().getResource("/").getP ...

  2. 有意思的undefined columns selected,源于read.table和read.csv

    输入以下语法时: read.table(site_file,header=T)->data data<-data[which(data[,5]=="ADD"),] 出现 ...

  3. MyEclipse添加模板注释

    只有两个步骤: 1.设置模板 Windows—Preference—Java—Code Style—Code Templates 图中, Configure generated code and co ...

  4. 多个 ng-app 中 Controllers & Services 之间的通信

    原文发布在个人独立博客上,链接:http://pengisgood.github.io/2016/01/31/communication-between-multiple-angular-apps/ ...

  5. 泛型List小项目

    页面设计: 显示图书列表运行效果: 添加集合元素运行效果: 插入集合元素运行效果: 删除选中对象: 项目我已经上传到我的百度云盘,下载链接:http://pan.baidu.com/s/1mi3BjY ...

  6. 91 Testing Linux学习笔记

    91 Testing Linux学习笔记... 学习地址:91Testing 的Linux教程=====================学习网址:http://www.91testing.net/ar ...

  7. Nginx负载均衡中后端节点服务器健康检查的一种简单方式

    摘自:https://cloud.tencent.com/developer/article/1027287 一.利用nginx自带模块ngx_http_proxy_module和ngx_http_u ...

  8. sql server复制数据到excel格式变成字符串

    sql server复制数据到excel格式变成字符串,结果数据都保存在第一个格子里面. 我点击连同标题一起复制,然后粘贴到excel,结果是这样子的.... 这不是我想要的结果,在网上查询了好多,结 ...

  9. js 数组与字符串的相互转化

    数组转字符串:join() 字符串转数组:split('')

  10. Dubbo协议

    参考dubbo官方文档http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html dubbo共支持如下几种通信协议: ...