首页 > 代码库 > firewalld防火墙的配置及应用
firewalld防火墙的配置及应用
防火墙(centos7)的配置及应用
1:防火墙有基本的三类 iptables、firewalld、ip6tables
Systemctl status {firewalld,iptables,ip6tables} 查看三类的状态,这里主要介绍firewalld防火墙的配置以及基本应用功能
2:firewalld提供支持区域定义网络连接的防火墙
3:拥有运行时配置和永久性配置(临时和永久性配置)
4:之前是静态,现在是动态,不用重新启动防火墙,不用卸载防火墙的模块
5:有两种工具:(1)图形:firewall-config (2)字符:firewall-cmd
6:区域:定义网络连接的可信等级
数据包进入内核必须要通过zone中的一个,而且每个区域的过滤强度不一样
一张网卡只能对应一个zone;一个zone可以对应多个网卡
7:服务:提供资源;或者是端口与协议的组合
ICMP的阻塞
地址伪装
端口转发
8;firewalld的9个区域:
丢弃区域drop zone 丢弃,不用建立规则
阻塞区域blockzone 只有服务器已建立初始化连接会通过,但不许进入
公共区域 public zone 接受选中的连接,默认ssh和dhcpub-client是缺省区域
外部区域 external zone 指外部网络区域,是允许接受
工作区域 work zone 内部网络区域
隔离区域 dmz zone
家庭区域 home zone
信任区域 trusted zone 任何条件都可以通过
内部区域 internal zone 类似 home
重点1
1:在区域里创建规则
(1):客户端的数据包ip和zone的source相配,每个zone只能有唯一的ip地址,
(2)客户端数据包进入某一个接口,匹配的zone应用该区域的配置
(3)以上都不满足,就是缺省区域
区域的配置文件/usr/lib/firewalld/zones
基本应用:
1:重新加载防火墙: firewall-cmd --reload
2:查看区域: firewall-cmd --get-zones
3;列出防火墙的规则: firewall-cmd --list‘-all-zones
4:查看单个区域: firewall-cmd --zone=xx --list-all
5:查看默认区域: firewall-cmd --list-all
6:查看活动区域: firewall-cmd --get-active-zones 当一个区域绑定网卡,或拥有source地址,则为活动区域
7:查看网卡绑定的某个区域: firewall-cmd --get-zone-of-interface=enoxxx
8:解除绑定: firewall-cmd --zone=public --remove-interface=enoxxx添加则将remove换成add即可;修改则换成change
9:查看区域是否包含接口: firewall-cmd --query-interface=enoxxx
10:启动服务:firewall-cmd --list-service --zone=区域
11:启动应急模式: firewall-cmd --panic-on
12:查看应急模式: firewall-cmd --query-panic
重点2
1:规则要在活动区域和默认区域里创建
添加规则:firewall-cmd --zone=work --add-service=httpd
删除: firewall-cmd --zone=work --remove-service=httpd
查询: firewall-cmd --zone=work --query-service=httpd
2:添加协议和端口
添加: firewall-cmd --add-port=3306-3309/tcp --zone=work
删除: firewall-cmd --remove-port=3306-3309/tcp --zone=work
查询: firewall-cmd --query-port=3306-3309/tcp --zone=work
3:地址伪装: firewall-cmd --add-masquerade --zone=home
删除:firewall-cmd --remove-masquerade --zone=home
查询: fierwall-cmd --query-port=3306-3309/tcp --zone=home
4:开启路由功能:
echo1 > /porc/sys/net/ipv4/ip-forward
Vim /etc/sysctl.conf
Net.ipv4.ip_forward = 1
保存sysctl -p
5:在区域中启用端口转发或映射
firewall-cmd --zone=区域 --add-forward -port=port=8080:proto=tcp:toproto=80
6:自定义策略:
创建、转发、
查看防火墙的命令:
Iptables -vnL
检查语句规则: 1 log 2 deny 3 allow
重点3
查看man手册
使用man -k 查看具体的分类,之后再根据分类的选择,分别查看语句的类型
试验案例:结合以上命令短语实现
192.168.31.83 192.168.31.254;172.31.1.1 172.31.1.2
web/ssh (内网) (网关) firewalld (外网) internet web
一、lan:web/ssh
1、192.168.31.83主机提供web服务和ssh远程管理。两个服务已经启动
2、192.168.31.83主机通过8000提供web服务,ssh通过10211提供ssh服务。
3、192.168.31.83禁止ping。
4、192.168.31.83除了web和ssh之外,禁止任何访问
5:开始验证:是否可以通过web8000;和ssh10211访问192.168.31.83主机
说明以上的防火墙策略已经生效;验证成功,以上的策略是永久性生效的加 --permanent 不加则是临时生效
二、firewalld主机
1、firewalld主机实现lan和internet之间的数据包转发,要写两条策略,(1)开启网管防火墙的路由转发(2)开启防火墙的maquerade策略是内网访问外网,地址伪装策略
(1)开启陆游策略修改vim /etc/sysctl.conf配置文件
sysctl -p 重启配置文件
(2)开启防火墙的maquerade地址伪装类似nat协议
2、firewalld主机通过地址伪装实现内网连接internet
3、internet用户通过80端口访问内网web服务
需要在网关防火墙上添加一条规则,使internet可以访问内网的web 服务器,当然使用的是网关服务器的外网接口,实现端口映射
4、允许管理员在172.31.1.2主机通过ssh远程管理内网的192.168.31.83主机(所用口为23456)。。
5:如果要想实现内网的web服务器和internet的服务器可以互相访问,在网关防火墙上面必须设置两个活跃区域,当前是在一个活动区域做的规则,内往现在访问外网的web 出不去,通过路由重定向访问的是自己本身通过内网和外网的访问进行对比
如果要实现相互访问,在网关的防火墙策略上要设置两个活跃区域与
比如:
再次访问网页的内容,验证察看是否访问的一样
本文出自 “apache” 博客,请务必保留此出处http://xiaorenwutest.blog.51cto.com/12754924/1918672
firewalld防火墙的配置及应用