一.firewalld简介网络
动态防火墙后台程序提供了一个动态管理的防火墙,用以支持网络“zone”,以分配对一个网络及其相关连接和界面必定程度上的信任。它具有对IPV4和 IPV6防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具有一个通向服务或者应用程序以直接增长防火墙规则的接口。tcp
系统提供了图像化的配置工具firewall-config、system-config-firewall,提供命令行客户端firewall- cmd,用于配置firewalld永久性运行时间的改变:它依次用iptables工具与执行数据包筛选的内核中的Netfilter通讯。ide
firewalld和iptables service之间最本质的不一样是:工具
1)iptables service在/etc/sysconfig/iptables中存储配置,而firewalld将配置存储在/usr/lib/firewalld/和 /etc/firewalld/ 中的各类XML文件里。测试
2)使用iptables service每个单独更改意味着清楚全部旧的规则和从 /etc/sysconfig/iptables 里读取全部新的规则,然而使用firewalld却不会建立任何新的规则;仅仅运行规则中的不一样之处。此,firewalld能够在运行时间内,改变设置而不丢失现行链接。spa
二.配置参数命令行
1.firewalld的网络“zone”xml
firewall-cmd --get-zones 查看可用区域接口
firewall-cmd --state 查看firewalld的状态ip
firewall-cmd --get-default-zone 查看当前默认活动的区域
firewall-cmd --get-default-zone=trusted 修改默认区域为trusted,能够接受任何链接
2.firewall-cmd --get-default-zone=trusted 修改默认区域为trusted,能够接受任何链接
3.firewall-cmd --list-all 查看防火墙策略
firewall-cmd --add-service=http 防火墙添加经过http服务
firewall-cmd --reload 从新加载
4.使用配置文件添加防火墙经过服务
编辑/etcfirewalld/zones/public.xml
5.设置防火墙经过8080端口
测试前修改http默认访问端口,没法浏览
添加8080端口后能够访问
6.容许172.25.254.224主机访问任何链接,将172.25.254.224添加到trusted域中
7.删除添加的服务
三.Direct Rules
经过firewall-cmd工具,可使用 --direct选项在运行时间里增长或者移除链。若是不熟悉iptables,使用直接接口很是危险,由于泥坑无心间致使防火墙被***。直接端口模式,适用于服务或者程序,以便在运行时间内增长特定的防火墙规则。直接端口模式添加的规则优先应用。
1.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.224 -p tcp --dport 22 -j ACCEPT
除了224主机22端口不能访问,其余主机22端口均可访问
测试224主机,显示没法访问,别的主机能够
2.firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.224 -p tcp --dport 80 -j REJECT
除了224主机80端口不能访问,其余主机80端口均可访问
3.删除第二条策略
四.不一样网卡接口的访问设置
1.eth0和eth1都属于public域
2.将eth1网口从public域调整到trusted域中
3.与eth0链接的网段没法访问服务,由于有public域的限制
4.与eth1链接的网段能够访问服务,由于eth1在trusted域
五.Rich Rules
经过“rich language”语法,能够用比直接接口方式更易理解的方法创建复杂防火墙规则。此外,还能永久保留设置。这种语言使用关键词值,是iptables工具的抽象表示,这种语言能够用来配置分区,也仍然支持现行的配置方式。
环境配置
服务端两块网卡 eth0 172.25.254.124
eth1 172.25.0.124
客户端IP 172.25.0.224
真机 172.25.254.24
服务端firewall-cmd --add-masqueeade 开启地址假装
1.端口转换 真机到客户端
将从172.25.254.24的22端口 假装为172.25.0.224的22端口
测试,从真机进入到服务端128,显示的网卡为172.25.0.224
2.地址假装 客户机到真机
将从客户传过来的数据假装为172.25.254.124端口的源数据
ifconfig查看
六.容许非系统端口的服务经过防火墙(httpd服务修改端口为例)
1.防火墙经过http
2.修改http的端口为6666
3.添加系统http默认端口
因为修改后没法重启服务
缘由是系统默认容许的http端口没有6666
添加6666端口到http的默认端口列表中
重启服务成功
4.访问http6666端口成功