1、 iptables的概念iptables是linux系统内嵌的一个防火墙软件(封包过滤式防火墙),它集成在系统内核中,因此执行效率非常的高,iptables通过设置一些封包过滤规则,来定义什么数据可以接收,什么数据需要剔除,因此,用户通过iptables可以对进出计算机的数据包进行IP过滤,以达到保护主机的目的。
iptables是有最基本的多个表格(tables)组成的,而且每个表格的用途都不一样,在每个表格中,又定义了多个链(chain),通过这些链可以设置相应的规则和策略.
2、 iptables的功能组成

filter表(最常用)
作用:包过滤(允许/禁止)
生产必配
iptables有3种常用的表选项,包括管理本机数据进出的filter、管理防火墙内部主机nat 和改变不同包及包头内容的mangle。
| 链 | 方向 | 默认策略 | 典型规则 |
|---|---|---|---|
| INPUT | 进入本机 | DROP/ACCEPT | -p tcp --dport 22 -j ACCEPT |
| OUTPUT | 本机发出 | ACCEPT | 很少改 |
| FORWARD | 转发(路由) | DROP | 路由器/容器用 |
NAT表(地址转换)
作用:改源IP/目标IP
云原生、容器、路由器必用
NAT表主要用处是网络地址转换,即Network Address Translation,缩写为NAT,它包含PREROUTING、POSTROUTING和OUTPUT链。
| 链 | 触发时机 | 用途 | 经典命令 |
|---|---|---|---|
| PREROUTING | 路由前 | 目标地址转换(DNAT) | 端口转发、负载均衡 |
| POSTROUTING | 路由后 | 源地址转换(SNAT) | 共享上网、容器出口 |
| OUTPUT | 本机发出 | 改本机发出的包目标 | 很少用 |
mangle表(高级修改)
作用:改TOS、TTL、标记包
QoS、策略路由、特殊需求才用
| 链 | 作用 |
|---|---|
| PREROUTING | 包进来先改(如打标记) |
| POSTROUTING | 包出去前改 |
| INPUT/OUTPUT/FORWARD | 对应位置改 |
发表回复