CentOS7防火墙
一、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防火墙的更多相关文章
- Centos7防火墙快速开放端口配置方法
▲这篇文章主要为大家详细介绍了Centos7防火墙开放端口的快速方法,感兴趣的小伙伴们可以参考一下! Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置与永久配置选 ...
- CentOS7 防火墙(firewall)的操作命令
CentOS7 防火墙(firewall)的操作命令 安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查 ...
- [转帖]Centos7防火墙配置rich-rule实现IP端口限制访问
Centos7防火墙配置rich-rule实现IP端口限制访问 2019-02-18 18:05:35 sunny05296 阅读数 2143 收藏 更多 分类专栏: Linux 版权声明:本文 ...
- (三) Docker 常用操作与CentOS7 防火墙命令
参考并感谢 Docker 常用命令 https://docs.docker.com/engine/reference/commandline/docker/ Docker 登录docker账户 doc ...
- CentOS7 防火墙设置
CentOS7 防火墙命令 最近在公司服务器上安装了oracle12c数据库,在用数据库客户端连接的时候,连接不了.最后查找资料的原因是因为oracle的服务端口未开放. 首先还是还是输入以往的开启某 ...
- CentOS7防火墙firewalld 和 CentOS6防火墙iptables的一些配置命令
CentOS7 防火墙 一.防火墙的开启.关闭.禁用.查看状态命令 (1)启动防火墙:systemctl start firewalld (2)关闭防火墙:systemctl stop firewal ...
- centos6和centos7防火墙的关闭
CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable st ...
- Centos7 防火墙简介(一)
Centos7下的防火墙默认是通过一个守护进程(firewalld)为网络(network) 以及与之相关的连接(connections)和接口(interface)提供一个可信层,同时支持网络空间( ...
- centos7防火墙那些事
转发设置 firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080 firewall-cmd --perma ...
随机推荐
- 两个APP跳转传值问题
最近工作上遇到个问题,新的项目要和老系统单点登录. 有点蒙,从来没做过,网上一搜都是SSO,还需要验证服务器. 仔细揣摩,其实需求很简单,没必要那么复杂,以下是我的需求和解决方案: 原系统AP1 新开 ...
- C++用法的学习心得(要求包含示例,并反映出利用网络获取帮助的过程)
大一一年C++的学习生涯,让我感慨颇多!回想起,当初上课时的情形,一切是那么的清晰,仿佛就像是发生在昨天一样. 任何一门学科的学习都是有技巧的.对于c++,我学的并不好,刚开 ...
- hibernate3 所需的jar包
- Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程
准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...
- http状态消息
1-5状态码了解 1XX 表示信息(消息) 2XX 表示成功 3XX 表示重定向 4XX 表示请求错误 *** 5XX 表示服务端错误 常见状态码 200 请求成功 一切正常 301 重定向,修改后的 ...
- html之页面元素印射
首先我遇到了一个问题,尽管不是搞前端开发的但事情交到了我这里就有必要去解决. 而这个问题就是我在这边文本框输入的内容要显示在另一个文本框中其实也是非常简单.但是对于初出茅庐的新手来说就有可能会难倒他. ...
- CMD的几个常用API
一: define, 全局函数,用来定义模块. 参数: 1.id 模块标识(可省略) 2.deps模块依赖(比如jquery)(可省略) 3.factory:可能是: (1)对象 (2)字符串 ①和 ...
- C# treeview 绑定数据 【转】
private void bindTreeView1() { string sql = "select * from dm_category"; DataTable dt = db ...
- javascript中值传递与值引用的研究
今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以 ...
- 关于TextView的setText()与Integer之间一个易犯的小错误
[转载]原文:https://my.oschina.net/xybob/blog/59524 先上图: TextView的setText()函数的两个重载函数 因为TextView有两个不同的重载函数 ...