LINUX iptable应用手册(九)

time过滤条件

time过滤条件可用於在一週中的某几天的某段时间关闭或开放封包串流。对於入境封包,以其「抵达时间」为比对依据,对於出境封包,则是以「出发时间」为比对依据。《表78》說明time本过滤条件的选项。





Time参数的格式是HH : MM(24时制)。

wd_list参数是一系列以逗号分隔的週期日缩写:Sun,Mon,Tue,Wed,Thu,Fri,Sat(大小写有別)。


tos过滤条件

以IP封包的TOS(Type of Service,服务类型)栏位为过滤条件。《表79》說明tos过滤条件唯一的选项。


==============================
诀窍

tos过滤条件必须在核心支援CONFIG_IP_NF_MATCH_TOS组态时才有效。

==============================





相关参考:

● 《FTOS目标》

● 《T0S目标》


TOS目标

修改IP封包中的TOS(Type of Service,服务类型)栏位TOS目标只能用於mangle表格。《表80》說明TOS目标唯一的选项。


===============================
诀窍
TOS目标必须在核心支援CONFIG_IP_NF_TARGET_TOS组态时才有效。

===============================





相关参考:

● 《tos筛选条件》

● 《FTOS目标》


ttl过滤条件

以IP封包中的Time to Live(存活时间,TTL)栏位为过滤条件。《表81》說明ttl过滤条件的选项。


===============================

诀窍

ttl过滤条件必须在核心支援CONFIG_IP_NF_MATCH_TTL组态时才有效。

===============================





举例来說,使用下列规则可使用闸道器(或防火牆)记錄TTL異乎寻常地高的封包:

iptables -A FORWARD -m ttl - -ttl-gt 100 -j LOG

相关参考:《TTL目标》


TTL目标

修改IP封包的TTL栏位,TTL目标只能用於mangie表格,你可以利用TTL目标来阻止外界利用traceroute来试探网关器或防火牆的存在,其作法是将通过防火牆的封包的TTL值累加 1:

iptables -t mangle -A OUTPUT -j TTL - -ttl-inc l


《表82》說明TTL目标的选项




举例来說,下列命令将所有出境封包的值都提到非常高(这使得封包可以经过更多路由器):

iptables -t mangle -A OUTPUT -j TTL - -ttl-set 126


相关参考:《ttl过滤条件》



udp过滤条件

针对UDP协定的过滤条件扩充模块。在iptables命令列使用 -p udp选项可自动载入本扩充模块。《表83》說明本模块的选项。





通讯端口(port)可以用「服务名称」(定义於系统的/etc/services档案)表示,也可以直接以「数值编号」表示。
《表75》是UDP port范围的分配情況(其实与TCP port一樣),在《表75》可找到最常见的通讯端口。


ULOG目标

透过netlink socket将符合条件的封包交给userspace的ulogd daemon
(见 http://www.gnumonks.org/projects/ulogd)。ulogd是一个先进的封包记錄程式,提供比 「LOG target和syslog facility之组合」更強的功能,比方說,将记錄数据存放於MySQL资料库。《表84》列出ULOG目标的选项。

===================================

诀窍

ULOG目标必须在核心同时支援 CONFIG_IP_NF_QUEUE和CONFIG_IP_NF_TARGET_ULOG组态时才有效。

===================================





相关参考:

● 如需要简单的记錄功能,请参考(LOG目标)。

● 关於netlink socket,请参考《NETLINK目标》。


unclean过滤条件

unclean 过滤条件可使iptable挑出不寻常或不合理的IP、ICMP、UDP或TCP封包。本扩充模组的說明文件很谦虛,manpage甚至宣称这是「实验性 质」(experimental)的功能,但是你仍可以用它来记錄不寻常的封包。以下是unclean对各种封包所作的少数几项检查(正面表列):

IP:

● IP封包长度不低於IP标头长度。

● 对任何IP选项的各种完整性检查。

● 各种IP fragmentation检查。

● IP协定编号不是0

● 沒用的IP位元设定为0。


ICMP:

● ICMP资料至少为64-bit(以便容纳必要的ICMP标露位)。

● code与type栏位的组合是有意义的(虽然《表32》所列的某些合法组合会被unclean视为违法)。

● ICMP封包的长度,对该封包的ICMP type是合宜的。



UDP:

● UDP资料的长度至少符合UDP header的最短长度。

● UDP目的端口不是0。

● UDP fragmentation完整性检查。


TCP:

● TCP资料的长度至少符合TCP header的最短长度。

● TCP资料的位置(offset),与整体封包资料长度是吻合的。

● TCP通讯埠不为0。

● 保留的TCP位元皆设定为0。

● TCP标志为《表73》或《表74》所列的各种可能组合之一。

● 对於任何TCP选项的各种整体性检查。


如果有任何封包不符合上述所列的条件之一,unclean会将它们挑出来。


=====================================
诀窍

本筛选条件必须在核心支援 CONFIG_IP_NF_MATCH_UNCLEAN组态时才有效。
=====================================


unclean模组沒提供额外的辅助选项。


辅助工具

iptables套件随附两个辅助工具程式,可用於储存、回复所有规则,它们分別是iptables-save与iptables-restore。


iptables-restore

iptables-restore
[ -c | - -counters ]
[ -n | - -noflush ]

从 标準输入读取iptables-save所储存的规则集,然后将这些规则添加到目前的筛表与链结。通常,在将规则设定填入筛表之前,会先清空 (flush)当时的筛表,但是你可以使用 -n(或- -noflush)选项,使得新规则直接添加在现有筛表內容之后。《表85》是iptables-save命令的选项。




iptables-sabe

iptables-save

[ -c | - -counters]
[ [ -t | - -table] table ]


显 示当时所有筛表(预设行为)或特定筛表(如果有 -t选项的规则集,以及各规则的packet/byte计数器现值(如果有指定 -c选项)。输出格式被设计成适合程式解读,而非供管理者閱读。Iptables-save的典型用法是将其输出內容导入一个档案,以便下次可直接使用 iptables-restore一次回复所有规则集。《表86》說明iptables-save命令的各选项。







 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值