一、firewalld 的基本介绍
1.firewalld 的概念
firewalld服务在企业7以上的版本,是一款类似于windows界面的可以图形化设置防火墙策略的工具。
firewalld的配置文件以xml格式为主(主配置文件firewalld.conf例外),他们有两个存储位置:/etc/firewalld/ 用户配置文件 和 /usr/lib/firewalld/ 系统配置文件,预置文件
2.firewalld和iptables的关系
firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
3.firewalld 域
二、firewalld 配置
1.firewalld 的启用
安装 firewalld
打开并查看其状态
2.firewall-cmd常用命令
3.firewalld 默认域的修改
安装并打开httpd
编辑需要查看到的内容
查看firewalld 默认域,陈列默认域正在使用的设备
测试:当 firewalld默认域 public 时 不允许访问 httpd
更改默认域为trusted
测试:当firewalld 的默认域为 trusted 时可以访问 httpd
4.对指定ip 或网端的控制
给实验主机 172.25.254.57 添加两块网卡并设定ip 当为public 域时无法访问httpd 当为trusted 时可以访问
查看默认配置
将eth1 的默认域删除并查看
将eth1 的域设置为trusted
查看当前使用的所有域
删除 eth1 的trusted 域 ,又设置为 public 域 ,并查看
命令方式添加
临时性:
将 57的域设置为trusted ,并查看
重启服务再查看的时候会发现之前的设置消失了
永久性:
设置为trusted 域,重新加载配置,重启服务,并不会作废之前的设置
文本设置 (永久性)
在 文件中添入 IP
重启服务并查看可以查看到
5.修改端口
在不修改域的情况下可以通过添加相对应的服务端口来开启访问权限 如 8080端口
6.firewalld 中的服务删除
1)临时删除
删除 ssh 服务,并查看
重新加载配置之后,重新查看会发现之前的配置被还原
2)永久性删除
删除ssh,加载配置,重新查看时会发现删除成功
测试:57 的ssh 无法使用
三、firewalld 规则管理
1.规则的添加
-s 表示来源 -I num : 插入,把当前规则插入为第几条。
设置只允许 172.25.254.1 这台主机可以访问我现在主机的22 端口,并查看设置信息
2.删除添加的规则
3.除了 ip为172.25.254.1 的主机之外,其他主机都可以访问我现在这台主机的22端口
4.删除规则
四、地址伪装和端口转换
实验环境
这次实验我的ip为172.25.254.101 这台主机作为路由 ,做为路由的这台主机需要有两块网卡,并且不在同一网段。再执行以下操作
vim /etc/sysctl.conf 编辑下图内容
查看是否设置成功
查看所有设置 (1 代表允许 0 代表拒绝)
开启伪装服务
设置一台实验主机的 ip 跟做为路由这台主机上新增网卡为同一网段,并做以下操作
设置ip 和网关
1.端口转换
设置端口转换,当任何主机在连接我ip为101 的这台主机时,都会直接连接到ip 为 172.25.254.1的这台主机上
陈列
测试:当5在连接 101 时,最后却连接上的时 1
2.地址伪装
设置伪装,并查看
测试:当不在同一网段的两台主机在连接时,被连接的这台主机查询到的被访问对象其实时被伪装过的地址并不是真正连接它的地址。
如:当192.168.0.1 这台主机在连接 172.25.254.1 这台主机时,在 172.25.254.1这边查询到的是作为路由的172.25.254.101 这台主机连接的自己。
五、block 的使用
1.拒绝被访问
测试:当设置成功后,无法被查询到
2.延迟访问
设置延迟10s
测试:当开始无法查询,10s则可以