1.火墙介绍
1. netfilter2. iptables3. iptables | firewalld
2.火墙管理工具切换
在rocky9 中默认使用的是 firewalldfirewalld -----> iptablesdnf install iptables - services - ysystemctl stop firewalldsystemctl disable firewalldsystemctl mask firewalldsystemctl enable -- now iptablesiptales -------> fiewallddnf install firewalld - ysystemctl stop iptablessystemctl disable iptablessystemctl mask iptablessystemctl enable -- now firewall
安装iptables
开启iptables
切回firewalld
3. iptables 的使用
火墙策略的永久保存 #/ etc / sysconfig / iptables ##iptables 策略记录文件永久保存策略iptales - save > / etc / sysconfig / iptablesservice 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
snatiptable - t nat - A POSTROUTING - o ens160 - j SNAT -- to - source 192.168.0.20dnatiptables - 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 - clientwork ## 工作网络 ssh ipp - client dhcp - clientpublic ## 公共网络 ssh dhcp - clientdmz ## 军级网络 sshblock ## 拒绝所有drop ## 丢弃 所有数据全部丢弃无任何回复internal ## 内部网络 ssh mdns ipp - client samba - client dhcp - clientexternal ##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 -- reloadfirewall - cmd -- permanent -- add - source = 172.25.254.0 / 24 -- zone = block ## 指定数据来源访问指定域firewall - cmd -- reloadfirewall - 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 - jREJECT
类似iptables
6.firewalld中的NAT
SNATfirewall - cmd -- permanent -- add - masqueradefirewall - cmd -- reloadDNATfirewall - cmd -- permanent -- add - forward - port = port = 22 : proto = tcp : toaddr = 172.25.254.30
源地址转换
开启后192网段的主机可以ping通1.1.1网段的主机。
目的地地址转换