linux中的火墙优化策略

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网段的主机。

目的地地址转换

相关推荐
大G哥16 分钟前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
BillKu41 分钟前
Linux设置Nginx开机启动
linux·运维·nginx
阿大撒大撒1 小时前
Linux 服务器虚拟化技术详解
服务器
东方佑1 小时前
FastHTML快速入门:服务器渲染超媒体应用的利器
运维·服务器
baidu_375528811 小时前
光感传感器 芯片stk3171 linux驱动程序
linux·运维·服务器
飞腾开发者1 小时前
飞腾平台Arm NN软件栈安装使用指南
linux·运维·人工智能·机器学习·计算机视觉
夜暝1 小时前
Iotop使用
linux
鸠摩智首席音效师1 小时前
.NET Core 应用程序如何在 Linux 中创建 Systemd 服务 ?
linux·运维·.netcore
汤米粥2 小时前
通过PHP创建AWS的CloudFront并绑定证书添加备用域名
服务器·云计算·aws
Aiden_SHU2 小时前
Wireshark中的length栏位
服务器·网络·wireshark