您的位置:首页 > 运维架构 > Linux

Centos防火墙之firewalld

2017-02-21 19:28 204 查看
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:信任所有连接。

2.firewalld安装

# yum install firewalld firewall-config

3.firewalld进程管理命令

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

启动:# systemctl start  firewalld

停止:# systemctl stop firewalld

使能:# systemctl enable firewalld

禁用:# systemctl disable firewalld

4.配置firewalld防火墙规则

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

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

查看区域信息:# 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 --set-default-zone=public

该设置会立即生效无需重启

将接口添加到区域,默认接口都在public

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

--permanent 参数指定配置永久生效,如果不加--permanent仅本次生效。

查看所有打开的端口:

# firewall-cmd --zone=public --list-ports

加入一个端口到区域:

# firewall-cmd --zone=public --add-port=80/tcp

若要永久生效方法同上

 

打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹

# firewall-cmd --zone=public --add-service=smtp

 

移除服务

# firewall-cmd --zone=public --remove-service=smtp

firewalld开放vrrp

firewall-cmd --permanent --add-rich-rule "rule family=ipv4 source address=192.168.1.0/24 port name="22" reject"

firewall-cmd --zone=public --permanent --add-rich-rule "rule family=ipv4 source address=192.168.1.237/32 accept"

firewall-cmd --zone=public --permanent --add-rich-rule "rule family=ipv4 source address=192.168.1.238/32 accept"

firewall-cmd --reload

firewall-cmd --zone=public --list-rich-rules

5.生效防火墙规则:

注意:所有的防火墙配置修改以后,都要执行下面的reload命令,使配置立即生效

# firewall-cmd --reload



# firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: