Firewalld服务简介
?1 基本介绍
firewalld是centos 7.0新推出的管理netfilter的工具
firewalld是配置和监控防火墙规则的系统守护进程,可以实现iptables,ip6tables,ebtables的功能
firewalld服务由firewalld包提供

文章插图
??2 ZONE:区域
firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则
归入zone顺序:
先根据数据包中源地址,将其纳为某个zone
纳为网络接口所属zone
纳入默认zone,默认为public zone,管理员可以改为其它zone
网卡默认属于public zone,lo网络接口属于trusted zone
Firewalld zone分类
zone名称 默认配置
trusted 允许所有流量
home 拒绝除和传出流量相关的,以及ssh,mdsn,ipp-client,samba-client,dhcpv6-client预定义服务之外其它所有传入流量
internal 和home相同
work 拒绝除和传出流量相关的,以及ssh,ipp-client,dhcpv6-client预定义服务之外的其它所有传入流量
public 拒绝除和传出流量相关的,以及ssh,dhcpv6-client预定义服务之外的其它所有传入流量,新加的网卡默认属于publiczone
external 拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量,属于external zone的传出ipv4流量的源地址将被伪装为传出网卡的地址 。
dmz 拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量
block 拒绝除和传出流量相关的所有传入流量
drop 拒绝除和传出流量相关的所有传入流量(甚至不以ICMP错误进行回应)
预定义服务,下表只是列出几个例子,Firewalld预定义的服务太多了
服务名称 配置
ssh Local SSH server. Traffic to 22/tcp
dhcpv6-client Local DHCPv6 client. Traffic to 546/udp on the fe80::/64 IPv6 network
ipp-client Local IPP printing. Traffic to 631/udp.
samba-client Local windows file and print sharing client. Traffic to 137/udp and 138/udp.
mDNS Multicast DNS (mDNS) local-link name resolution. Traffic to 5353/udp to the
224.0.0.251 (IPv4) or ff02::fb (IPv6) multicast addresses.

文章插图
?2?? Firewalld服务配置
?1 Firewalld预定义服务配置
firewall-cmd --get-services 查看预定义服务列表
/usr/lib/firewalld/services/*.xml 预定义服务的配置
?2 Firewalld 三种配置方法
firewall-config (firewall-config包)图形工具
firewall-cmd (firewalld包)命令行工具
/etc/firewalld 配置文件,一般不建议
?3 Firewall-cmd 命令选项
格式: Usage: firewall-cmd [OPTIONS...]
常见选项参数
--get-zones 列出所有可用区域
--get-default-zone 查询默认区域
--set-default-zone= 设置默认区域
--get-active-zones 列出当前正使用的区域
--add-source=[--zone=] 添加源地址的流量到指定区域,如果无--zone= 选项,使用默认区域
--remove-source= [--zone=] 从指定区域删除源地址的流量,如无--zone= 选项,使用默认区域
--add-interface=[--zone=] 添加来自于指定接口的流量到特定区域,如果无--zone= 选项,使用默认区
域
--change-interface=[--zone=] 改变指定接口至新的区域,如果无--zone= 选项,使用默认区域
--add-service= [--zone=] 允许服务的流量通过,如果无--zone= 选项,使用默认区域
--add-port=<PORT/PROTOCOL>[--zone=] 允许指定端口和协议的流量,如果无--zone= 选项,使用默
认区域
--remove-service= [--zone=] 从区域中删除指定服务,禁止该服务流量,如果无--zone= 选项,使用默
认区域
--remove-port=<PORT/PROTOCOL>[--zone=] 从区域中删除指定端口和协议,禁止该端口的流量,如
果无--zone= 选项,使用默认区域
--reload 删除当前运行时配置,应用加载永久配置
--list-services 查看开放的服务
--list-ports 查看开放的端口
--list-all [--zone=] 列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如果无--zone=
选项,使用默认区域
- 示例
/ 查看默认zone
[root@Centos7 ~]# firewall-cmd --get-default-zone
public
/ 设置默认zone问dmz
[root@Centos7 ~]# firewall-cmd --set-default-zone=dmz
success
[root@Centos7 ~]# firewall-cmd --get-default-zone
dmz
/ 在internal zone中增加源地址192.168.0.0/24的永久规则
[root@Centos7 ~]# firewall-cmd --permanent --zone=internal --add-source=192.168.0.0/24
success
/ 在internal zone中增加协议MySQL的永久规则
推荐阅读
- Linux 虚拟内存和物理内存的理解
- 一步一步带你解决linux系统CPU资源耗尽难题
- Kali Linux实战篇:Windows Server 2012 R2系统漏洞利用过程
- 有机茶栽种及选购知识浅谈
- Linux系统架构-----Apache与Nginx动静分离
- 困扰无数人的Linux Vim退出方法,原来这么简单?
- Linux下如何用nginx+ffmpeg搭建流媒体服务器
- 只会用chmod 777?Linux下的文件权限居然还有这么多骚操作
- Linux文件与目录管理 目录存放着Linux的源代码
- 为什么黑客都用Linux系统?原来是这四大原因
