Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103688121
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-08 10:27:22

 
......接上篇


相关参考:《SNAT 目标》。

SNAT目标

SNAT的效果与此MASQUERADE相当,但是没有联机追踪能力,适合用于具有固定地址的网关器。《表67》是SEAT目标唯一的选项。




SNAT的典型用途只涉及单一地址,不过,由于有些网关器可能同时有多个public IP地址(可能都设置于同一介面,也可能分别设置给不同介面),所以SNAT容许你指定一段地址范围,在这种情况下,SNAT会平均取用范围内的地址来取代原封包里的来源地址。此外,你也可以指定一段通讯端口范围,让SNAT将出境封包的来源端口调整到该范围;如不指定通讯端口范围,当原封包(在NAT之前)的原本来源端口是介于1-511之间时,iptables会从1-511范围之间挑选任一未使用的通讯端口来取代;但如果是原封包在NAT之前所用的来源端口介于512-1024,则代换成600-1023之间的未用通讯端口;但如果是原封包在NAT之前所用的来源端口介于1024-65535,则代换成1024-65535之间的未用通讯端口。


举例来说,如果网关器用于连接Internet的接口是eth0,而境变量$STATIC含有eth0的固定IP地址(由ISP提供的位址),你可以使用下列规则来SNAT通过该网关器的所有出境封包,使外界误以为所有封包都是源自网关器:

iptables -t nat -A POSTROUTING -o eth0
-j SNAT - -to $STATIC


相关参考:

●《DNAT目标》:转译封包的目的地位址。

● 《SAME目标》。

● 《MASQUERADE目标》:与SNAT有相似效果,但是具有联机追踪能力,适合用于没有固定public IP的场合(在这种情况下使用SNAT会有奇怪的后果)。


state过滤条件

利用联机追踪信息,过滤出处于特定状态集合的联机的封包。《表68》说明此筛选条件唯一的选项。


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

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

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





举例来说,如果网关器用于连接Internet的接口是eth0,你可以使用下列命令避免转接源自外界的连线的封包(避免Internet上的坏蛋透过你的网关器干坏事):

iptables -A FORWARD -m state NEW -i eth0 -j DROP


string过滤条件

过滤出承载数据中含有特定字符串的封包。由于string只是针对个别封包的内容进行字符串比对,所以,不应该用它来辨识写被丢弃的封包,因为误判的危险性相当高。string过滤条件的设计原意是用于搭配QUEUE目标,将符合条件的封包交东userspace里的程序进行后续检验。《表69》说明此过滤条件唯一的选项。





举例来说,下列规则可将含有“.pif”字符串的封包排入队列,供入侵侦测系统(IDS)执行后续检验:

iptables -A INPUT -m string - -string .pif -j QUEUE

请注意, string过滤条件不能用来比对跨越封包边界的字符串所以,如果有一个封包的承载内容的结尾刚好是“.p”而下一个封包的承载内容的开始处是“if”,string就找不出来了。

tcp筛选条件
针对TCP协议的筛选条件扩充模块。在iptables命令列使用-p tcp选项可自动加载本扩充模块。《表70》说明本模块自选项,《表71》提供TCP协议的各种标志。


《图8》是TCP header的结构。





《图9》是TCP header中的「Control Bits」字段的结构。








通讯端口(port)可以用「服务名称」(定义于系统的/etc/services档案)表示,也可以直接以「数值编号」表示通讯端口(port)可以用「服务名称」(定义于系统的/etc/services档案)表示,也可以直接以「数值编号」表示。《表74》是TCP port范围的分配情况,《表75》列出最常「的通讯端口」《表74》是TCP port范围的分配情况,《表75》列出最常「的通讯端口」。






CP标志主要是用于联机的搭建与撤除,《表72》解释各阶段所用的标志组合。











关於“已成历史”(1994年之前)的通讯端口配置方式,请参阅RFC 1700 《Assigned Numbers》;最新、最完整、最正式的配置方式,可从
下载自由取得。






《表75》中的「Microsoft」通讯端口,摘錄自Microsoft Knowledge Base Article 150543
(可从取得)。


tcpmss过滤条件

以TCP/IP的Maximum Segment Size(MSS)标头栏位为过滤条件。本过滤条件仅对TCP SYN或SYN/ACK包有效。《表76)說明tcpmss过滤条件唯一的选项。


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

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





相关参考:

● tcp过滤条件的- -mss选项。

● 《TCPMSS目标》


TCPMSS目标
修改TCP/IP Maximum Segment Size标头栏位的值。《表77》說明TCPMSS目标的选项。在同一规则里,这些选项必须择一而用。

范例:

iptables... -j TCPMSS - -clamp-mss-to-pmtu


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

TCPMSS 目标必须在核心支援CONFlG_IP_NF_TARGET_TCPMSS组态时才有效。

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





相关参考:

● tcp过滤条件的- -mss选项。

● (tcpmss过滤条件)。



注译:封包可以称为套件或包.
埠或称呼为端口.



To be continued.......



出处:南方Linux
阅读(269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~