ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

Linux Iptables 语法大全(1

2014-12-18 11:48| 发布者: admin| 查看: 972| 评论: 0

摘要:   LinuxIptables语法还是比较重要的,让我们来看看有些值得我们关注。   1.对链的操作   建立一个新链(-N)。   删除一个空链(-X)。   192.168.1.1改变一个内建链的原则(-P)。   列出一个链中的规则 ...

  LinuxIptables语法还是比较重要的,让我们来看看有些值得我们关注。

  1.对链的操作

  建立一个新链(-N)。

  删除一个空链(-X)。

  192.168.1.1改变一个内建链的原则(-P)。

  列出一个链中的规则(-L)。

  清除一个链中的所有规则(-F)。

  2.对规则的操作

  加入(append)一个新规则到一个链(-A)的最后。

  在链内某个插入(insert)一个新规则(-I),通常是插在最前面。

  3.指定源地址和目的地址

  通过--source/--src/-s来指定源地址(这里的/表示或者的意思,下同),通过--destination/--dst/-s来指定目的地址。可以使用以下四中方法来指定ip地址:

  用x.x.x.x/x指定一个网络地址,如“192.168.1.0/24”这里的24表明了子网掩码的有效位数,这是

  UNIX中通常使用的表示方法。

  4.指定协议

  5.指定网络接口将

  可以使用--in-intece/-i或--out-intece/-o来指定网络接口。需要注意的是,对于INPUT链来说,只可能有-i,也即只会有进入的包;通理,对于OUTPUT链来说,只可能有-o,也即只会有出去的包。只有FORWARD链既可以有-i的网络接口,也可以有-o的网络接口。我们也可以指定一个当前并不存在的网络接口,比如ppp0,这时只有拨号成功后该规则才有效。

  在TCP/IP通讯过程中,每一个网络接口都有一个最大传输单元(MTU),这个参数定义了可以通过的数据包的最大尺寸。如果一个数据包大于这个参数值时,系统会将其划分成更小的数个数据包(称之为ip碎片)来传输,而接收方则对这些ip碎片再进行重组以还原整个包。

  但是再进行包过滤的时候,ip碎片会导致这样一个问题:当系统将大数据包划分成ip碎片传送时,第一个碎片含有完整的包头信息,但是后续的碎片只有包头的部分信息,比如源地址,目的地址。因此假如我们有这样一条规则:

  并且这时的FORWARD的策略(policy)为DROP时,系统只会让第一个ip碎片通过,而丢掉其余的ip碎片,因为第一个碎片含有完整的包头信息,可以满足该规则的条件,而余下的碎片因为包头信息不完整而无法满足规则定义的条件,因而无法通过。

  我们可以通过--fragment/-f选项来指定第二个及其以后的ip碎片,比如以的例子为例,我们可以再加上这样一条规则来解决这个问题:

  但是需要注意的是,现在已经有好多进行ip碎片的实例(比如向Win98NT4/SP5,6

  Win2K发送大量的ip碎片进行DoS),因此允许ip碎片通过是有安全隐患的,对于这一点我们可以采用iptables的匹配扩展来进行,但是这又会影响服务质量,我们将在下面讨论这个问题。

  可以在某些选项前加上!来表示非指定值,比如“-s-!

  tcp”表示除了tcp以外的协议。

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-4-30 18:28 , Processed in 0.108250 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部