Linux防火墙之firewalld

  iptables与firewalld的联系

netfilter

位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”


Firewalld/iptables

CentOS7默认的管理防火墙规则的工具(Firewalld)
称为Linux防火墙的“用户态”

 

iptables与firewalld的区别

iptables主要是基于接口,来设置规则,从而判断网络的安全性。 
firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。

iptables  静态防火墙

firewalld 动态防火墙

firewalld的区域

区域
trusted(信任区域) 允许所有的传入流量。
public(公共区域) 允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
external(外部区域) 允许与ssh预定义服务匹配的传入流量其余均拒绝。
home(家庭区域) 允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其他均拒绝。
internal(内部区域) 默认值与home区域相同。
work(工作区域) 允许与ssh、dhcpv6-client预定义服务匹配的传入流量,其他均拒绝
dmz(隔离区域也称非军事区域) 允许与ssh预定义服务匹配的传入流量,其他均拒绝
block(限制区域) 拒绝所有传入流量。
drop(丢弃区域) 丢弃所有传入流量,并且不产生包含icmp的错误响应。

firewalld配置方法

Linux防火墙之firewalld_第1张图片

Linux防火墙之firewalld_第2张图片

firewalld-cmd命令

不指定区域时,则对默认区域进行操作(默认区域可自定义,不修改则为public)

格式:

firewall-cmd:

--get-default-zone :显示当前默认区域
--set-default-zone= :设置默认区域

--add-source=xxxxxx        --zone=    //增加源地址指定区域

--remove-source=xxxxxx        --zone=   //删除源地址指定区域

firewall-cmd --list-all 查看

firewall-cmd --list-service

查看区域内允许通过的服务

firewall-cmd --add-service=http --zone=public

添加,浏览器20.0.0.10即可看到是否成功

firewall-cmd --remove-service=http --zone=public

删除

firewall-cmd --add-service=http --add-service=ftp --zone=pubilc

添加多个服务

firewall-cmd --list-services

查看

firewall-cmd --add-service={ftp,http}

添加多个的不同方法

firewall-cmd --add-service={ftp,http} --zone=public --permanent

永久生效

firewall-cmd --remove-service=http --zone=public --permanent

删除永久生效的项

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

根据端口添加

firewall-cmd --zone=public --remove-port=80/tcp

移除

firewall-cmd --zone=public -add-port={3306,80,21}/tcp

添加多个端口

firewall-cmd --zone=public -add-port=30-35/tcp

添加端口的范围

以上可以得出firewalld-cmd的规律:

firewalld-cmd --zone=指定区域

你可能感兴趣的:(linux,服务器,网络)