Iptable规则初探
Table of Contents
iptable是啥⌗
参考维基百科:iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。
iptables规则⌗
iptables主要有raw、mangle、filter、nat这几个表,对应几个规则:PREROUTING 、INPUT 、FORWARD 、OUTPUT、POSTROUTING 。
NAT 包括 SNAT (源地址转换)和 DNAT (目的地址转换)。两者的区别在于做地址转换是在路由前还是路由后,SNAT和DNAT总是成对出现的。
对应的含义可以简单理解为:
表名 | 用途 | 包含的规则 |
---|---|---|
表名 | 用途 | 包含的规则 |
raw | 关闭nat表上启用的连接追踪机制 | PREROUTING,OUTPUT |
mangle | 拆解报文,做出修改,并重新封装的功能 | PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING |
nat | 网络地址转换功能 | PREROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有) |
filter | 负责过滤功能,防火墙 | INPUT,FORWARD,OUTPUT |
规则的意义:
规则 | 意义 |
---|---|
PREROUTING | 报文刚刚到达主机,还没经过路由 |
INPUT | 报文已经经过路由,判断是发送给本机的报文 |
FORWARD | 报文已经经过路由,判断不是本机的报文,如果内核开启转发功能则转发出去,否则丢弃 |
OUTPUT | 报文从应用发出报文已经经过路由 |
POSTROUTING | 报文从应用发出已经经过路由,准备从网卡发出 |
数据从网络到达主机,再从主机到达应用的过程,以集群中traefik部署的Ingress为例,可以理解为:
iptable相关命令⌗
查看iptables规则:
iptables -L, --list [chain] 列出链 chain 上面的所有规则,如果没有指定链,列出表上所有链的所有规则
Read other posts