文档章节

CentOS7使用firewalld打开关闭防火墙、端口

408582708
 408582708
发布于 2016/10/31 20:20
字数 780
阅读 21
收藏 0

centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,想着反正iptable也不会用,索性直接搬官方文档,学习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       # 设置防火墙开机启动

本文转载自:http://www.zuimoban.com/jiaocheng/linux/7257.html

共有 人打赏支持
408582708
粉丝 0
博文 98
码字总数 65528
作品 0
朝阳
程序员
CentOS 7 为firewalld添加开放端口及相关资料

1、运行、停止、禁用firewalld 启动:# systemctl start firewalld 查看状态:# systemctl status firewalld 或者 firewall-cmd --state 停止:# systemctl disable firewalld 禁用:# syste......

小田天
2017/11/04
0
0
linux 阿里服务器3306 未开启,change

执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。 通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即......

随风而浮沉
07/10
0
0
centos7环境下mysql5.7的安装与配置

centos7环境下mysql5.7的安装与配置 最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣。看到mysql的教程蛮好的,准备做个笔记。原文来自mysql5.7的安装与配置(centos7环境) 第一...

优惠码领取
07/22
0
0
CentOS 7 最小化安装后的注意事项(三)

三、防火墙基础配置 在Centos7的防火墙由Centos6的iptable改为firewalld,所以我们需要对firewalld进行初始配置: 1.Firewalld服务启用/停用 启动一个服务: 关闭一个服务: 重启一个服务: ...

Mr_Barry
05/15
0
0
CentOS7防火墙firewalld详解

centos7的防火墙: centos7不再使用iptables,而是使用firewalld 若不想使用firewalld,而继续使用iptables,可以先停掉firewalld,并且安装iptables-services包 查看firewalld状态:systemc...

Rachy1989
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
3
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
6
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
47
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部