文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>iptables 各个模块备忘录

iptables 各个模块备忘录

时间:2007-06-02  来源:cexoyq

iptables各个模块的功能详解

patch-o-matic NetFilter的新功能试验床/扩展包
上月起不再提供release版本,可以cvs checkout或者从 http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/ 下载

以下将20050208-snapshot中的所有补丁逐一简要介绍。

base部分
HOPLIMIT目标
设定IPv6报文的HOPLIMIT值

IPV4OPTSSTRIP目标
顾名思义,去掉IP_OPTION
iptables -t mangle -A PREROUTING -j IPV4OPTSSTRIP
没想到有啥用 :S
也许可以用来去掉一些不合理的标志位?

NETLINK目标
通过netlink socket发送被丢弃的报文到用户空间的守护进程(fwlink,http://firestorm.geek-ware.co.uk)

NETMAP目标
转换前后地址一一对应的NAT
iptables -t nat -A PREROUTING -d 1.2.3.0/24 -j NETMAP --to 5.6.7.0/24
iptables -t nat -A POSTROUTING -s 5.6.7.0/24 -j NETMAP --to 1.2.3.0/24

REJECT目标(v6)
为IPv6提供REJECT。

SAME目标
相对于SNAT的pre session,为每个client设置相同的源IP。

TTL目标
顾名思义,修改报文TTL

connlimit匹配
限制每IP的连接数
2conn/IP
iptables -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT
16conn/C
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 --connlimit-mask 24 -j REJECT

dstlimit
和limit差不多,不过是按照目标地址/端口来

fuzzy
简单的模糊控制

hashlimit
用于构造更复杂的limit

iprange
匹配地址范围

ipv4options
匹配IPv4头部选项

mport
匹配多个端口和范围

nf-log
增加内部log接口

nth匹配
匹配第n个包

osf匹配
识别并匹配操作系统

pool匹配
用位图匹配连续的地址范围
重新编译iptables,在ml里面找ippool
已经有更powerful的ipset

psd匹配
端口扫描检测

quota
配额支持
不支持SMP

random
按照百分比随机匹配

raw
增加raw表,在其他表处理之前,-j NOTRACK跳过其它表处理

realm
匹配路由的realm key
内核打开CONFIG_NET_CLS_ROUTE4

set
加速匹配地址和端口,需要用户态程序配合(ipset,http://people.netfilter.org/kadlec/ipset/

time
匹配时刻表,按照日期/星期/时间

u32
处理包的前4个字节

extra部分
CLASSIFY目标
修改skb->priority,用于QoS
有两个补丁CLASSIFY和CLASSIFY_more-hooks,前者对应mangle表的POST_ROUTING链,后者则对应FORWARD和LOCAL_OUT链
这个比tc filter强太多了

connmark目标
为连接打标记,及相应标记的匹配

IPMARK匹配
简化地址匹配并MARK的动作
以下规则
iptables -t mangle -A POSTROUTING -o eth3 -d 192.168.5.2 -j MARK --set-mark 0x10502
iptables -t mangle -A POSTROUTING -o eth3 -d 192.168.5.3 -j MARK --set-mark 0x10503
只需写为
iptables -t mangle -A POSTROUTING -o eth3 -j IPMARK --addr=dst -and-mask=0xffff --or-mask=0x10000
在大型网关设备上可以提高效率

MARK-operations
扩展了MARK目标的选项,可以设置位:-j MARK --or-mark 0x10

ROUTE目标
改变报文的路由
提示:此目标十分诡异,普通的应用需求一般不要用也用不上它。

TARPIT目标
完成握手后开启0字节的TCP窗口,一定程度上抑制TCP扫描报文(如红码等)的速率,它和CONNTRACK最好不要同时打开。

TCPLAG目标
仅用于log,比如记录SEQ和ACK之间的延迟。

TRACE目标
用于调试性质的log,记录报文在各个链之间流动的情况,需要重新编译iptables用户态程序。

XOR目标
简单的XOR报文内容,用于加密。

ACCOUNT目标
记录指定地址段的流量,用于记帐
iptables -A OUTPUT -j ACCOUNT --addr 0.0.0.0/0 --tname all_outgoing
iptables -A OUTPUT -j ACCOUNT --addr 192.168.1.0/24 --tname sales
然后用用户态程序(libipt_ACCOUNT,http://www.intra2net.com/opensource/ipt_account/)接收,

addrtype匹配
匹配给路由代码用的地址类型

comment
加注释
iptables -A INPUT -s 192.168.0.0/16 -m comment --comment "A privatized IP block"

condition匹配
匹配/proc/net/ipt_condition目录下标志文件
iptables -A INPUT -p tcp -m condition --condition web_ok --dport 80 -j ACCEPT
echo 1 > /proc/net/ipt_condition/web_ok
echo 0 > /proc/net/ipt_condition/web_ok

connbytes匹配
匹配某连接已经传送的字节/包数

connrate匹配
匹配传输速率

conntrack-acct
保留每连接的字节/包计数。

conntrack_memsave
修改conntrack内部机制,减少内存使用(最多32字节/连接)

conntrack_nonat
修改conntrack内部机制,优化无NAT的情况

conntrack_protocol-arrays
修改conntrack内部机制

cuseeme-nat
CuSeeMe协议NAT支持(NAT,no ConnTrack)

dropped-table
增加一张drop表,被丢掉的包进来

eggdrop-conntrack
EggDrop支持

geoip
匹配IP所属国家

goto
增加了-g(--goto)
和-j相比,-g更像是jmp而-j则是call

h323-conntrack-nat
H323协议支持

ip_nf_assert-fix
无关紧要的修正…

ip_queue_nonlinear_skbs
让ip_queue用skb_copy_bits()复制报文数据

ip_queue_vwmark
让用户态程序通过ip_queue打MARK
需要重新编译iptables

ipp2p
匹配p2p连接
配合CONNMARK和CLASSIFY可以做QoS

ipsec-01-output-hooks
ipsec-02-input-hooks
ipsec-03-policy-lookup
ipsec-04-policy-checks
IPSec支持

layer2-hooks
处理二层报文

mms-conntrack-nat
mms协议支持

nat-reservations

nf_conntrack
新的内部构架,用于合并v4和v6

nfnetlink-ctnetlink-0.13
传送一些消息到用户态

owner-socketlookup
owner-supgids
ownercmd
属主进程/用户/组匹配

policy匹配
匹配IPSec的policy

pptp-conntrack-nat
PPTP支持

quake3-conntrack-nat
Quake3协议支持

rpc
RPC协议支持和相关匹配

rsh
RSH协议支持

rtsp-conntrack
RTSP协议支持

string
匹配报文内容
不要试图把它设想得太厉害,报文是会分段的

talk-conntrack-nat
talk/ntalk/ntalk2协议支持

tcp-window-tracking
扩展的tcp连接跟踪
http://www.iae.nl/users/guido/paper...filtering.ps.gz

tproxy
增强的透明代理支持,比-j REDIRECT做更多
http://www.balabit.com/

unclean
更严的检查,对付如ECN黑洞等,unclean_fragment-fix

pending部分
CLASSIFY_more-hooks

amanda_offset-fix

conntrack-cacheline-opt
让netfilter使用2.6风格的模块参数

conntrack_arefcount
修改conntrack内部机制

conntrack_error-api
修改conntrack内部机制

early-drop-norandom

expect-evict-order

helper-locking_fix
修正传说中SMP下的bug…

init_conntrack-optimize

ip_nat_helper_static

ip_nf_assert-fix

ip_queue_nonlinear_skbs

ipt_helper-invert-fix
把helper模块的匹配顺序倒过来

mangle-reroute
当MARK变化不重新路由

module_parm
netfilter内部使用2.6风格模块参数

nf_reset
内部修改

proc-no-internal-targets
/proc下的小改动

proc_net_conntrack-permissions
chmod 440 /proc/net/ip_conntrack

sctp
SCTP协议支持

unclean_fragment-fix
unclean的修正

相关阅读 更多 +
排行榜 更多 +
tsuki odyssey游戏(月兔冒险奥德赛)

tsuki odyssey游戏(月兔冒险奥德赛)

休闲益智 下载
火柴人霓虹战争无限金币

火柴人霓虹战争无限金币

冒险解谜 下载
火柴人英雄格斗无限金币版

火柴人英雄格斗无限金币版

冒险解谜 下载