1.火墙介绍
1.1 netfilter
- netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
1.2 iptables
-
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。
-
iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的,是用来填写netfilter的工具。
netfilter/iptables 的最大优点是它可以配置有状态的防火墙。
1.3 iptables&firewalld
-
iptables的防火墙策略是
交由内核层面的netfilter网络过滤器来处理
的,而firewalld则是交由内核层面的nftables包过滤框架来处理
。 -
相较于iptables防火墙而言,
firewalld支持动态更新技术并加入了区域(zone)的概念
,即不同的防火墙策略集合,用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
2.火墙管理工具切换
2.1 iptables -------> fiewalld的切换
systemctl disable --now iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl enable --now firewalld
2.2 firewalld----->iptables的切换
systemct disable --now firewalld
即刻开机不启动firewalld
systemctl mask firewalld
冻结firewalld使不被其他程序打开
firewall-cmd --state
查看firewalld状态
dnf install iptables-services -y
安装iptables
systemctl enable --now iptables
启动iptables并设定开机启动
systemctl status iptables.service
查看iptables状态
3. iptables 的使用
3.1 iptables策略记录文件
/etc/sysconfig/iptables
#iptables策略记录文件
iptables -nL
#与iptables策略记录文件一致
3.2 永久保存策略
二选一:
iptales-save > /etc/sysconfig/iptables
读取火墙策略信息并导入iptables策略记录文件service iptables save
保存策略信息
4.火墙默认策略
4.1 默认的3张表
表 | 介绍 | 链 |
---|---|---|
filter | 经过本机内核的数据 | (input、output 、forward) |
nat | 不经过内核的数据 | (postrouting、prerouting、input、output) |
mangle | 当filter和nat表不够用时使用 | (input 、output 、forward 、postrouting、 prerouting |
iptables -t filter -L
iptables -t nat -L
iptables -t mangle -L
4.2 默认策略中的5条链
链 | 解释 |
---|---|
input | 输入 |
output | 输出 |
forward | 转发 |
postrouting | 路由之后 |
prerouting | 路由之前 |
4.3 iptables命令
iptables的命令 | 用途 |
---|---|
-t | 指定表名称 |
-n | 不做解析(显示主机IP) |
-L | 查看 |
-A | 添加策略 |
-D | 删除策略 |
-p | 协议 |