文档章节

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-x8664.iso (730MB, pkglist). 该版本基于 CentOS 7,详细改进内容请看发行说明。 NethServer是基于CentOS的面向服务器的L...

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
CentOS 7 64bit Minimal安装后的初步10项优化和配置

CentOS官方于2014年7月7日发布64位CentOS 7.0.1406开始,不知不觉已快半年了。也已经有越来越多的软件开始支持CentOS7了。ITGeeker也尝试将越来越多的服务架构于其之上。 CentOS 7是一个大版...

Minho
2016/09/01
83
0
iptables实现网络防火墙(二)——SNAT与DNAT

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

Eumenides_s
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
17分钟前
0
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
59分钟前
2
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
今天
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
今天
1
0
从ibdata文件恢复mysql数据

DROP TABLE 恢复【一】 Recover InnoDB dictionary Percona Data Recovery Tool 单表恢复

IT--小哥
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部