linux中的火墙优化策略

时间:2024-10-14 22:38:28

1.火墙介绍

1. netfilter
2. iptables
3. iptables | firewalld

 2.火墙管理工具切换

在rocky9 中默认使用的是 firewalld
firewalld -----> iptables
dnf install iptables - services - y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable -- now iptables
iptales -------> fiewalld
dnf install firewalld - y
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable -- now firewall

 安装iptables

 开启iptables

 切回firewalld

 3. iptables 的使用

火墙策略的永久保存 #
/ etc / sysconfig / iptables ##iptables 策略记录文件
永久保存策略
iptales - save > / etc / sysconfig / iptables
service iptables save

 

删除策略

重启服务后 策略恢复

永久删除策略

 4.火墙默认策略

默认策略中的5条链

input
## 输入
output
## 输出
forward
## 转发
postrouting ## 路由之后
prerouting ## 路由之前
默认的 3 张表
filter ## 经过本机内核的数据 input output forward
nat ## 不经过内核的数据 postrouting prerouting,input,output
mangle ## filter nat 表不够用时使用 input output forward postrouting prerouting,

 查看nat表

查看mangle表

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

 添加策略

为filter表的input添加拒绝掉来自1.1.1.60的数据通过80端口

 

插入允许

 删除策略

删除input的第二条策略

 修改策略

 加链

默认只有三个

 增加

 删除链

 5.iptables数据状态跟踪

数据包状态
RELATED ## 建立过连接的
ESTABLISHED ## 正在连接的
NEW ## 新的

 允许与已有连接相关或已建立的连接、本机内部的新连接请求、以及到本机80、22和53端口的新连接请求。对于所有其他新的连接请求,防火墙会拒绝它们

 6.nat表中的dnat snat

snat
iptable - t nat - A POSTROUTING - o ens160 - j SNAT -- to - source 192.168.0.20
dnat
iptables - t nat - A PREROUTING - i ens160 - j DNAT -- to - dest 172.25.254.30

 snat

dnat

 完成后用192网段连接R4实际是接入1.1.1.60主机

7.firewalld

1 firewalld的开启 

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl enable -- now firewalld
修改配置文件

2.关于firewalld的域

trusted ## 接受所有的网络连接
home ## 用于家庭网络 允许接受 ssh mdns ipp - client samba - client dhcp - client
work ## 工作网络 ssh ipp - client dhcp - client
public ## 公共网络 ssh dhcp - client
dmz ## 军级网络 ssh
block ## 拒绝所有
drop ## 丢弃 所有数据全部丢弃无任何回复
internal ## 内部网络 ssh mdns ipp - client samba - client dhcp - client
external ##ipv4 网络地址伪装转发 sshd

3.关于firewalld的设定原理及数据存储 

/ etc / firewalld ## 火墙配置目录
/ lib / firewalld ## 火墙模块目录

4. firewalld的管理命令 

firewall - cmd -- state ## 查看火墙状态
firewall - cmd -- get - active - zones ## 查看当前火墙中生效的域
firewall - cmd -- get - default - zone ## 查看默认域
firewall - cmd -- list - all ## 查看默认域中的火墙策略
firewall - cmd -- list - all -- zone = work ## 查看指定域的火墙策略
firewall - cmd -- set - default - zone = trusted ## 设定默认域
firewall - cmd -- get - services ## 查看所有可以设定的服务
firewall - cmd -- permanent -- remove - service = cockpit ## 移除服务
firewall - cmd -- reload
firewall - cmd -- permanent -- add - source = 172.25.254.0 / 24 -- zone = block ## 指定数据来源访问指定域
firewall - cmd -- reload
firewall - cmd -- permanent -- remove - source = 172.25.254.0 / 24 -- zone = block ## 删除自定域中的数据来源
firewall - cmd -- permanent -- remove - interface = ens224 -- zone = public ## 删除指定域的网络接口
firewall - cmd -- permanent -- add - interface = ens224 -- zone = block ## 添加指定域的网络接口
firewall - cmd -- permanent -- change - interface = ens224 -- zone = public ## 更改网络接口到指定域

图形管理

 命令方式

查看状态

查看生效的域

查看默认域

修改默认域

查看域

 添加服务

指定1.1.1.60访问域

 5. firewalld的高级规则

firewall - cmd -- direct -- get - all - rules ## 查看高级规则
firewall - cmd -- direct -- add - rule ipv4 filter INPUT 0 ! - s 172.25.254.250 - p tcp -- dport 22 - j
REJECT

 类似iptables

 

 6.firewalld中的NAT

SNAT
firewall - cmd -- permanent -- add - masquerade
firewall - cmd -- reload
DNAT
firewall - cmd -- permanent -- add - forward - port = port = 22 : proto = tcp : toaddr = 172.25.254.30

 源地址转换

 开启后192网段的主机可以ping通1.1.1网段的主机。

目的地地址转换