文档章节

centos 7版本防火墙详细说明

小鸟也疯狂
 小鸟也疯狂
发布于 2016/12/09 10:38
字数 719
阅读 5
收藏 0

 

centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,

1、firewalld简介

firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念

firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍

firewalld的字符界面管理工具是 firewall-cmd

firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

zone概念:

硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):

drop:默认丢弃所有包

block:拒绝所有外部连接,允许内部发起的连接

public:指定外部连接可以进入

external:这个不太明白,功能上和上面相同,允许指定的外部连接

dmz:和硬件防火墙一样,受限制的公共连接可以进入

work:工作区,概念和workgoup一样,也是指定的外部连接允许

home:类似家庭组

internal:信任所有连接

对防火墙不算太熟悉,还没想明白public、external、dmz、work、home从功能上都需要自定义允许连接,具体使用上的区别还需高人指点

 

2、安装firewalld

root执行:

# yum install firewalld firewall-config

3、运行、停止、禁用firewalld

启动:# systemctl start firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

 

4、配置firewalld

查看版本:$ firewall-cmd --version

查看帮助:$ firewall-cmd --help

显示状态:$ firewall-cmd --state

查看所有打开的端口:$ firewall-cmd --zone=dmz --list-ports

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

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

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

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

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

更新防火墙规则:$ firewall-cmd --reload

或者:$ firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

将接口添加到区域,默认接口都在public,永久生效再加上--permanent,然后reload防火墙

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

设置默认接口区域,然后立即生效无需重启

# firewall-cmd --set-default-zone=public

 

5 打开端口

加入一个端口到区域:

# firewall-cmd --zone=dmz --add-port=8080/tcp

若要永久生效,

# vi /etc/sysconfig/iptables-config # 也可能是iptables文件

打开3306端口,则在最后添加这样一样:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启和设置开机启动

# systemctl restart firewalld # 重启防火墙使配置生效

# systemctl enable firewalld # 设置防火墙开机启动

© 著作权归作者所有

共有 人打赏支持
小鸟也疯狂

小鸟也疯狂

粉丝 11
博文 32
码字总数 9097
作品 0
朝阳
程序员
私信 提问
NethServer 7 Alpha 2 发布,服务器 Linux 系统

NethServer 7 Alpha 2 发布,下载地址:nethserver-7.2.1511-alpha2-x86_64.iso (730MB, pkglist). 该版本基于 CentOS 7,详细改进内容请看发行说明。 NethServer是基于CentOS的面向服务器的...

oschina
2016/02/16
1K
1
Linux 基本防火墙设置和开放端口命令

防火墙开启和关闭(iptables): 即时生效,重启失效 重启生效 一般的服务器,如 centOS 7 之前的 centOS 版本和 redHat 7 之前的 Linux 版本 centOS 7 之后版本: CentOS 7.0默认使用的是 ...

forwy
2016/09/26
35
0
Centos 7和 Centos 6开放查看端口 防火墙关闭打开

Centos 7和 Centos 6开放查看端口 防火墙关闭打开 Centos 7 firewall 命令: 查看已经开放的端口: 开启端口 重启防火墙 CentOS 7 以下版本 iptables 命令 如要开放80,22,8080 端口,输入以...

wpfc
07/03
0
0
Linux搭建lamp(Apache+PHP+Mysql环境)centos7.2版

我们更多的网站服务器是选择了Linux系统,这里建议你选择centos,这也是阿里云ecs推荐的系统,在服务器上比较推荐centos,特别对于新手,首选CentOS,并不是centos比Debian和ubuntu好,而是c...

麦可叔叔
2017/11/04
0
0
iptables实现网络防火墙(二)——SNAT与DNAT

前言 在前面的文章中,我们曾经简单的介绍过Linux内核中防火墙的基本概念,以及四表五链的相关知识,可参看 LINUX 防火墙介绍。 并且也介绍了如何在Linux环境中搭建一个能够过滤协议和端口的...

Eumenides_s
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
13分钟前
2
0
[LintCode] Number of Islands(岛屿个数)

描述 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, ...

honeymose
13分钟前
0
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
18分钟前
2
0
spark安装测试

spark安装测试 由于本地已经安装好hadoop相关组件,所以本文是在yarn的基础上对spark进行安装及测试 确保hdfs及yarn成功启动,hadoop版本为2.7.3 安装scala,由于本人安装的spark是2.4.0,对应...

-九天-
32分钟前
3
0
周末看完了《电能计量自动化技术》

整体质量还行,下面分别将心得记录如下: 第一章:发展历程可以看看,现在算是智能电网阶段 2:讲主站系统。以文件进行各模块的交互很值得思考,尤其是批量数据,多团队合作的情况下。另外线...

max佩恩
52分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部