类似游侠客网站建设,企业app定制,帮忙做文档的网站,天津seo培训哪家好一、firewalld概述
firewalld防火墙是Centos7系统默认的防火墙管理工具#xff0c;取代了之前的iptables防火墙#xff0c;也是工作在网络层#xff0c;属于包过滤防火墙。
firewalld和iptables都是用来管理防火墙的工具#xff08;属于用户态#xff09;来定义防火墙的…一、firewalld概述
firewalld防火墙是Centos7系统默认的防火墙管理工具取代了之前的iptables防火墙也是工作在网络层属于包过滤防火墙。
firewalld和iptables都是用来管理防火墙的工具属于用户态来定义防火墙的各种规则功能内部结构都指向netfilter网络过过滤子系统属于内核态来实现包过滤防火墙功能。
firewalld提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。 它支持IPv4、IPv6防火墙设置以及以太网桥在某些高级服务可能会用到比如云计算 并且拥有两种配置模式运行时配置与永久配置。
二、iptables与firewalld的联系与区别
1.iptables与firewalld的联系
netfilter
位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态”
Firewalld/iptables
CentOS7默认的管理防火墙规则的工具Firewalld称为Linux防火墙的“用户态” 2. iptables与firewalld的区别 区别一iptables主要是基于接口来设置规则从而判断网络的安全性。 firewalld是基于区域根据不同的区域来设置不同的规则从而保证网络的安全。与硬件防火墙的设置相类似。
区别二iptables 在 /etc/sysconfig/iptables 中储存配置 firewalld 将配置储存在 /etc/firewalld/优先加载和 /usr/lib/firewalld/默认的配置文件中的各种 XML 文件里。
区别三使用 iptables 每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables 里读取所有新的规则 使用 firewalld 却不会再创建任何新的规则仅仅运行规则中的不同之处。因此firewalld 可以在运行时间内,改变设置而不丢失 现行连接。
三、firewalld区域
1.firewalld区域的概念
firewalld防火墙为了简化管理将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表。
这些区域配置文件存在于/usr/lib/firewalld/zones目录中还有一个目录/etc/firewalld/zones。firewalld使用规则时会首先到/etc/firewalld/目录中查找如果可以找到就直接使用找不到会继续到/usr/lib/firewalld/目录中查找。
2.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的错误响应。
3.firewalld区域介绍和区域优先级
1 firewalld区域介绍 最终一个区域的安全程度是取决于管理员在此区域中设置的规则。 区域如同进入主机的安全门每个区域都具有不同限制程度的规则只会允许符合规则的流量传入。 可以根据网络规模使用一个或多个区域但是任何一个活跃区域至少需要关联源地址或接口。 默认情况下public区域是默认区域包含所有接口网卡。
2firewalld数据处理流程
检查数据来源的源地址
若源地址关联到特定的区域则执行该区域所指定的规则 若源地址未关联到特定的区域则使用传入网络接口的区域 并执行该区域所指定的规则 若网络接口未关联到特定的区域则使用默认区域并执行该 区域所指定的规则
区域优先级源地址绑定的区域 网卡绑定的区域 默认区域只要没有绑定过指定区域的网卡都适用于于默认区域的规则。默认区域可自定义不修改则为public
3 firewalld防火墙的配置方法
1、使用firewall-cmd 命令行工具。 2、使用firewall-config 图形工具。 3、编写/etc/firewalld/中的配置文件。
Firewalld 会优先使用/etc/firewalld/中的配置如果不存在配置文件则使用/usr/lib/firewalld/中的配置。
/etc/firewalld/用户自定义配置文件需要时可通过从/usr/lib/firewalld/ 中拷贝/usr/lib/firewalld/ 默认配置文件不建议修改若恢复至默认配置可直接删除/etc/firewalld/ 中的配置
四、fiewall-cmd命令行使用
1. 默认区域的查看与设置 不指定区域时则对默认区域进行操作默认区域可自定义不修改则为public 格式 firewall-cmd: --get-default-zone 显示当前默认区域 --set-default-zonezone 设置默认区域 2.对指定网卡进行操作 格式 firewall-cmd: --get-active-zones 显示当前正在使用的区域及其对应的网卡接口 --get-zones 显示所有可用的区域 --get-zone-of-interfaceinterface 显示指定接口绑定的区域 --zonezone --add-interfaceinterface 为指定接口绑定区域 --zonezone --change-interfaceinterface 为指定的区域更改绑定的网络接口 --zonezone --remove-interfaceinterface 为指定的区域删除绑定的网络接口 3.对源地址进行操作 格式 firewall-cmd: --add-sourcexxxxxx --zonezone //增加源地址指定区域 --remove-sourcexxxxxx --zonezone //删除源地址指定区域 4.查看指定区域的所有规则 不指定区域时则对默认区域进行操作默认区域可自定义不修改则为public firewall-cmd --list-all-zones显示所有区域及其规则 firewall-cmd --list-all : 不指定区域时查看的是默认区域 firewall-cmd --list-all --zonework显示work区域的所有规则 5.服务管理
1查看默认区域内允许访问的所有服务 2添加服务
注意后面不跟指定的区域就会添加到默认区域中
指定区域添加 3查看public 区域已配置规则
4删除public 区域的http服务 6.端口管理
1允许TCP的443端口到internal 区域 2从internal 区域将TCP的443端口移除 3允许UDP的2048~2050端口到默认区域 7.永久保存设置
以上操作均为实时配置会立即生效但是当服务重启时就会失效。如果要对自己写入更改的服务配置或则端口配置进行永久保存一般有两种方式 1方法一
在命令的结尾加入 --permanent 设置成永久生效需要重启服务或重新加载后才生效。 2方法二 --runtime-to-permanent将当前的运行时配置写入规则配置文件中使之成为永久性配置。 8.内容延申DNAT和SNAT也可以通过firewall-cmd设置地址转换
1设置 SNAT
firewall-cmd --zonepublic --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.73.0/24 -j SNAT --to-source 12.0.0.12 2设置 DNAT
firewall-cmd --zonepublic --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.73.111