一、CentOS7依然使用iptables的方法

CentOS7不再使用iptables,而是使用firewalld,若不想使用firewalld,可以停掉firewalld并且安装iptables-services包,具体操作方法如下:

systemctl stop firewalld

systemctl disable firewalld

yum -y install iptables-services

systemctl enable iptables

systemctl start iptables

二、firewalld的9个zone

1、drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络连接;

2、block(限制):任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝;

3、public(公共)在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接;

4、extemal(外部):特别是为路由器启用了伪装功能的外部网,您不能信任来自网络的其他计算机,不能相信他们不会对您的计算机造成危害,只能接收过选择的连接;

5、dmz(非军事区):用于您的非军事区内的电脑,此区域可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接;

6、work(工作):用于工作区,您可以基本相信网络内的其他计算机不会危害您的计算机,仅仅接收经过选择的连接;

7、home(家庭):用于家庭网络,您可以基本相信网络内的其他计算机不会危害您的计算机,仅仅接收经过选择的连接;

8、internal(内部):用于内部网络,您可以相信网络内的其他计算机不会威胁您的计算机,仅仅接收经过选择的连接;

9、trusted(信任):可以接受所有的网络连接

指定其中一个区域为默认区域是可行的,当接口连接加入了NetworkManager,他们就被分配为默认区域,安装时,firewalld里的默认区域被设定为公共区域。

二、firewalld zone相关的命令用法

配置文件在/etc/firewalld

所有zone的配置文件在: /usr/lib/firewalld/zones/

设置默认的zone:

firewall-cmd --set-default-zone=work

查看网卡所在的zone:

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

给指定网卡设置zone:

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

针对网卡更改zone:

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

针对网卡删除zone:

firewall-cmd --zone=dmz --remove-interface=lo

查看所有网卡所在的zone:

firewall-cmd --get-active-zones

三、firewalld service相关的命令用法

在/usr/lib/firewalld/services/目录中,还保存了另外一类配置文件,每个文件对应一项具体的网络服务,如ssh服务等

与之对应的配置文件中记录了各项服务所使用的tcp/udp端口,在最新版本的firewalld中默认已经定义了70+种服务

zone就是调用了不同的service而实现了不同的效果

列出所有的service:

firewall-cmd --get-services

列出当前zone下加载的service:

firewall-cmd --list-services

查看某个zone下面的service:

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

给一个zone下面添加一个service

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

要想将添加的service保存到配置文件需要加上permanent

firewall-cmd --zone=public --add-service=http
--permanent

删除service

firewall-cmd --zone=public --remove-service=http
--permanent

四、防火墙规则编写

例如:将ssh端口号设置为2016添加到规则中去

firewall-cmd -add-port=2016/tcp --permanent

如果需要是规则保存到zone配置文件,则需要加参数--permanent

防火墙配置文件也可以手动修改,修改后记得重载,重载的命令:

firewall-cmd --reload

重载加载防火墙并不会中断用户连接,也可以彻底加载,这时候会终端用户连接,也会丢弃状态信息

firewall-cmd --complete-reload

添加一个端口范围:

firewall-cmd -add-port=2000-4000/tcp

针对某个zone添加端口:

firewall-cmd --permanent --zone=home --add-port=443/tcp

启用端口转发,例如把22端口转发到127.0.0.2

firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2

五、firewalld的配置文件

两个路径/etc/firewalld/和/usr/lib/firewalld/

系统使用的是/etc/firewalld下面的配置文件

在/etc/firewalld/zones下面只有一个public.xml,如果给另外一个zone做一些改动,并永久保存,那么会自动生成对应的配置文件

比如给work zone增加一个端口:

firewall-cmd --permanent --zone=work --add-port=1000/tcp

此时就会生成一个work.xml配置文件

例如:

修改ftp的端口,默认ftp端口是21,改成1121

cp /usr/lib/firewalld/service/ftp.xml /etc/firewalld/services

把21改为1121

vim /etc/firewalld/services/ftp.xml

work默认为zone,所以要编辑啊work.xml增加一行:

vim /etc/firewalld/zones/work.xml加入:

<service name="ftp"/>

重新加载

firewall-cmd --reload

CentOS7防火墙的更多相关文章

  1. Centos7防火墙快速开放端口配置方法

    ▲这篇文章主要为大家详细介绍了Centos7防火墙开放端口的快速方法,感兴趣的小伙伴们可以参考一下! Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置与永久配置选 ...

  2. CentOS7 防火墙(firewall)的操作命令

    CentOS7 防火墙(firewall)的操作命令 安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查 ...

  3. [转帖]Centos7防火墙配置rich-rule实现IP端口限制访问

    Centos7防火墙配置rich-rule实现IP端口限制访问 2019-02-18 18:05:35 sunny05296 阅读数 2143  收藏 更多 分类专栏: Linux   版权声明:本文 ...

  4. (三) Docker 常用操作与CentOS7 防火墙命令

    参考并感谢 Docker 常用命令 https://docs.docker.com/engine/reference/commandline/docker/ Docker 登录docker账户 doc ...

  5. CentOS7 防火墙设置

    CentOS7 防火墙命令 最近在公司服务器上安装了oracle12c数据库,在用数据库客户端连接的时候,连接不了.最后查找资料的原因是因为oracle的服务端口未开放. 首先还是还是输入以往的开启某 ...

  6. CentOS7防火墙firewalld 和 CentOS6防火墙iptables的一些配置命令

    CentOS7 防火墙 一.防火墙的开启.关闭.禁用.查看状态命令 (1)启动防火墙:systemctl start firewalld (2)关闭防火墙:systemctl stop firewal ...

  7. centos6和centos7防火墙的关闭

    CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable st ...

  8. Centos7 防火墙简介(一)

    Centos7下的防火墙默认是通过一个守护进程(firewalld)为网络(network) 以及与之相关的连接(connections)和接口(interface)提供一个可信层,同时支持网络空间( ...

  9. centos7防火墙那些事

    转发设置 firewall-cmd --permanent  --add-forward-port=port=80:proto=tcp:toport=8080 firewall-cmd --perma ...

随机推荐

  1. 处理xml c#

    using System.Xml; using System; using System.Text; using System.Net; using System.Collections; using ...

  2. ubuntu关于apache服务命令

    一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start 二. ...

  3. JavaScript中作用域和作用域链解析

    学习js,肯定要学习作用域,js作用域和其他的主流语言的作用域还存在很大的区别. 一.js没有块级作用域. js没有块级作用域,就像这样: if(){ : console.log(a) //输出100 ...

  4. 基于WWF搭建的通用审批流程

    月明星稀,却不见明月:蛾儿雪柳暗香飘过,纵使回首千百回,却不知,心已灭:壮志未酬,却落得个多情应该笑我:扬帆起航,却不知,帆已破.这是我刚离职时的心情,曾几何时,真的想呆在一家公司,做一名优秀的技术管 ...

  5. knockout应用开发指南(完整版)

    http://www.cnblogs.com/TomXu/archive/2011/11/21/2257154.html

  6. java 文件压缩和解压(ZipInputStream, ZipOutputStream)

    最近在看java se 的IO 部分 , 看到 java 的文件的压缩和解压比较有意思,主要用到了两个IO流-ZipInputStream, ZipOutputStream,不仅可以对文件进行压缩,还 ...

  7. 用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

    #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 #将分类后的股票及其信息(股价新高. ...

  8. NSIS 让程序以管理权限运行

    用NSIS向导,制作安装包,会生成NSI扩展的脚本文件,按F9,即可以生成安装文件. 如果要以管理员权限运行,直接在nsi脚本中,添加RequestExecutionLevel admin Name ...

  9. spring mvc 跳转后页面cs样式表丢失

    原因:../不能正确返回 解决办法:jsp文件加<% String path = request.getContextPath(); String basePath = request.getS ...

  10. 数据结构《17》---- 自动补齐之《二》----Ternary Search Tree

    一. 序言 上一篇文章中,给出了 trie 树的一个实现.可以看到,trie 树有一个巨大的弊病,内存占用过大. 本文给出另一种数据结构来解决上述问题---- Ternary Search Tree ...