iptables,netfilter

Linux:网络防火墙

netfilter :Frame

iptables :数据报文过滤,NAT,mangle等规则生成的工具;

网络:IP报文首部, TCP报文首部

防火墙 :位于计算机网络边缘或者internet出口,对于进出的报文进行检查通过规则,标准,一套组件

可以是硬件或者软件 ,规则(匹配标准,处理方法)

Framework :默认规则 ,开放: 堵 / 关闭: 通 对于服务器默认关闭

规则 :匹配标准

数据报文特征

IP :源IP,目标IP

TCP :SPORT ,DPORT , SYN=1

UDP :SPORT ,DPORT

ICMP:icmp-type

数据报文过滤

linux2.0

ipfw/firewall

linux2.2

ipchain/firewall

linux2.4

iptables/netfilter

TCP/IP模块,TCP/IP栈

/proc/sys/net/ipv4/ip_forward

数据报文流量




路由表

路由决策

接收数据报文后先进行路由决策

netfilter
hook :钩子函数
1 、2、、3钩子函数位置

另外两个位置 ,刚刚进入路由表决策之前,在出站网卡缓冲区中
未出站前
prerouting
input
output
forward
postrouting
规则链
prerouting
input
output
forward
postrouting
filter (过滤):表
INPUT
OUTPUT
FORWARD
nat(地址) :表
prerouting
postrouting
mangle (拆开、修改、封装):表
在prerouting
input
output
forward
postrouting都可以放mangle()规则
raw()
PREROUTING
OUTPUT

NAT
源地址转换
目标地址转换
规则顺序

自定义链只有被调用才能发挥作用,而且如果没有自定义链的任何规则匹配到,应该有返回机制
用户可以删除自定义的空链
默认链无法删除
每个规则都有两个内置的计数器
被匹配的报文个数
被匹配的报文大小之和
使用自定义链可以提高匹配效率