firewalld火墙策略(一)

1.什么是防火墙

防火墙是指设置在不同网络,或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护。
防火墙(Firewall),是一种硬体设备或软体系统,主要架设在内部网路和外部网路间,为了防止外界恶意程式对内部系统的破坏,或是阻止内部重要资讯向外流出,有双向监督的功能。藉由防火墙管理员的设定,可以弹性的调整安全性的等级。

2.防火墙的介绍

防火墙有netfilter,iptables;

netfilter是内核上的一个插件,当有数据包到达内核时,内核首先查看netfilter表格中的信息,来确定是否接受此数据包。

netfilter火墙策略的更新来源于iptables策略,更改iptables策略的工具有:iptables和fillwalld

3.火墙管理工具的切换

【注】:在rhel8中默认使用的是firewalld

1) firewalld - - - - - >iptables的切换

dnf install iptables ##首先安装iptables
systemctl stop firewalld ##关闭firewalld
systemctl disable firewalld  ##设置开机不启动
systemctl mask firewalld ##封锁firewalld
systemctl enable --now iptables ##开启iptables并设置为开机启动
systemctl status iptables ##查看iptables状态

在这里插入图片描述
在这里插入图片描述

2)iptables- - - - ->firewalld的切换

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld
systemctl status firewalld

在这里插入图片描述

4.iptables的使用

vim /etc/sysconfig/iptables  ##iptables策略记录文件

在这里插入图片描述
永久保存策略:

方法一:service iptables save
方法二:iptables-save > /etc/sysconfig/iptables 

查看默认的火墙策略
在这里插入图片描述
用 -F 刷新火墙策略后,重启服务后查看火墙策略还是默认的
在这里插入图片描述
用方法一或二来永久保存策略

在这里插入图片描述

5.火墙默认策略

默认策略中的五条链:

input 输入
output 输出
forward 转发
postrouting 路由之后
prerouting 路由之前

默认的三张表

filter 经过本机内核的数据(包含的链有:input、output、forward
net 不经过本机内核的数据(postrouting、prerouting、input、output
mangle 当filter和net表不够用时使用(input、output、forward、postrouting、prerouting)

iptables的命令

-t 指定表名称
-n 不做解析
-L 查看
-A 添加策略
-p 协议
- -dport 目的地端口
-s 来源
-j 动作
ACCEPT 允许
DROP 丢弃
REJECT 拒绝
SNAT 源地址转换
DNAT 目的地地址转换
-N 新建链
-E 更改链名称
-X 删除链
-D 删除规则\
-I 插入规则
-R 更改规则
-P 更改默认规则

-t   ##指定表名
-L   ##查看
-n   ##不做解析

在这里插入图片描述
此时其他主机还能和这台主机通信:
在这里插入图片描述
-A   ##添加策略
-j   ##动作
REJECT ##拒绝

在这里插入图片描述
此时此主机拒绝任何其他主机的所有端口
在这里插入图片描述
-D ##删除策略
在这里插入图片描述
此时其他主机又能和此台主机通信!!

DROP ##丢弃
在这里插入图片描述
此时其他主机和这台主机通信时,不会被此台主机拒绝,但也收不到信息
在这里插入图片描述
-s ##数据来源
ACCEPT ##允许

在这里插入图片描述
上面命令在INPUT链中添加192.168.43.117用户被允许,但其还是被阻止了,因为在火墙策略中,是从上往下依次读取,当只有读到和他匹配的策略他就直接走掉了,不会从上往下依次读完。
在这里插入图片描述
-i ##插入
在这里插入图片描述
此时192.168.43.117用户可以和此主机通信
在这里插入图片描述
-p ##协议
- -dport ##目的地端口
在这里插入图片描述
此时其他主机的22端口才能和此台主机连接
在这里插入图片描述
-R ##更改
在这里插入图片描述
上面将端口该为80,现在其他主机的22端口不能访问,80端口可以访问这台主机

-P ##更改默认规则
默认是ACCEPT
在这里插入图片描述
上面的策略允许所有主机的所有端口通过
在这里插入图片描述
此时所有主机的所有端口访问都成DROP状态。

-N ##新建链
-E ##更改链
-X 删除链

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据包状态
为了解决数据包因为策略检测,而发生巨大的延迟问题,我们需要将数据包的状态记录下来
在这里插入图片描述
上述当已经访问过的或者正在访问的,可以直接让他通过,如果是新的访问回环接口,80,443,53端口,也让他通过。倒数第二条命令是除了192.168.43.117用户访问22端口不能通过,其他用户都可以通过。
【综上】:当在设定火墙时要将火墙的状态加上去,不然会大大影响数据传输的性能

nat表中的dnat、snat

snat(源地址转换):
数据传送,首先准备一台双网卡主机

nmcli connection add westos1 ifname ens224 type ethernet ip4 172.25.254.20/24 ##设定IP地址

在这里插入图片描述
设定客户主机ip为172.25.254.10,网关为172.25.254.1
在这里插入图片描述

现在客户主机能连接172.25.254.20这个ip,但是不能连接192.168.43.63这个ip
检查192网络的内核路由是否打开:
在这里插入图片描述
发现是开着的,现在编写火墙策略文件
在这里插入图片描述
在客户端测试发现,此时能够Ping通192.168.43网段的外网
在这里插入图片描述
dnat(目的地址转换):

iptables -t nat -A PREROUTEING -i ens160 -j DNAT --to-dest 172.25.254.30
##从ens160进入的数据均将他仍给172.25.258.30 ,这就是目的地址转换
发布了35 篇原创文章 · 获赞 0 · 访问量 1412

猜你喜欢

转载自blog.csdn.net/qq_44749796/article/details/105009690