防火墙(iptables)基于Netfilter实现,它在Linux内核中的一个软件框架,用于管理网络数据包。不仅具有网络地址转换(NAT)的功能,也具备数据包内容修改、以及数据包过滤等防火墙功能。
关于Netfilter,它在Linux内核中的一个软件框架,用于管理网络数据包。不仅具有网络地址转换(NAT)的功能,也具备数据包内容修改、以及数据包过滤等防火墙功能。1990年代,Netfilter在Linux 2.3.15版时进入Linux内核。( http://www.netfilter.org/ )
在很多云厂商以腾讯云为例,类似的产品如腾讯云的clb(负载均衡)、安全组和应用防火墙功能 ,开源产品的Nginx(负载均衡,应用层转发)和lvs 这些都可以通过Linux下的防火墙来实现或者也可以说这些产品的原型就是Netfilter的iptables。
整理介绍目录
防火墙的备份与恢复
在玩防火墙命令前建议先备份线上的规则,这是一个非常不错的习惯。
查看当前防火墙规则
通过iptables-save + “>” 将当前iptables规则备份在文件中。
1
| iptables-save > iptables.2020.10.1
|
通过iptables-restore命令来恢复之前备份好的防火墙规则
1
| iptables-restore < iptables.2020.10.1
|
防火墙进阶
防火墙基础知识
学习iptables的顺序(Tables(表) -> Chains (链)-> Rules(规则))
表与链
防火墙(iptables) 分为常用的表和链,先介绍三张表分别为:
- filter 过滤数据
- nat 转发数据
- mangle 数据包打标记
根据每张表的不同常用的链如下:
- INPUT 用于匹配进入的数据包
- OUTPUT 用于匹配出的数据包
- FORWARD 用于匹配转发的数据包
- PREROUTING 用于匹配NAT之前的数据包
- POSTROUTING 用于匹配NAT之后的数据包
数据生命周期流程图
具体每张表对应链使用的场景可以见以下数据转发生命周期的流程图。

Read More