Linux:网络防火墙
netfilter:Frame
iptables:数据报文过滤,NAT,mangle等生成工具;
网络:IP报文首部,TCP报文首部
防火墙:硬件,软件:规则(匹配标准,处理办法)
Framework:
默认规则:
开放:堵
关闭:通
规则:匹配标准
IP:SIP,DIP
TCP:SPORT,DPORT, SYN=1, FIN=0,RST=0,ACK=0; SYN=1,ACK=1,FIN=0,RST=0; ACK=1,SYN=0RST=0,FIN=0(ESTABLISHED)
UDP:SPORT,DPORT
ICMP:icmp-type
数据报文过滤:
Linux2.0
ipfw/firewall
Linux2.2
ipchain/firewall
Linux2.4
iptables/netfilter
hook function:钩子函数
prerouting
input
output
forward
postrouting
规则链:
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
filter(过滤) 表
INPUT
OUTPUT
FORWARD
nat(地址转换) 表
PREROUTING
OUTPUT
POSTROUTING
mangle(拆开、修改、封装):表
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
raw():
PREROUTING
OUTPUT
iptables:
500条规则
能否使用自定义链?
可以使用自定链,但只在被调用时才能发挥作用,而且如果没有自定义链中的任何规则匹配,还应该有返回机制;
用可以删除自定义的空链
默认链无法删除
每个规则都有两个内置的计数器:
被匹配的报文个数
被匹配的报文大小之和
规则:匹配标准,处理动作
iptables [-t TABLE] COMMAND CHAIN [num] 匹配标准 -j 处理办法
匹配标准:
通用匹配
-s,--src:指定源地址
-d,--dst:指定目标地址
-p,{tcp|udp|icmp}:指定协议
-i,INITERFACE:指定数据报文流入的接口
可用于标准定义的链:OUTPUT,POSTROUTING,FORWARD
-o,INTERFACE:指定数据报文流出的接口
可用于标准定义的链:OUTPUT,POSTROUTING,FORWARD
扩展匹配
隐含扩展:不用特别指明有那个模块进行的扩展,因为此时使用-p {tcp|udp|icmp}