论坛风格切换切换到宽版
  • 1401阅读
  • 7回复

[问题求助]iptables中mangle和filter中的forward有什么区别? [复制链接]

上一主题 下一主题
 
发帖
2133
C币
-193311
威望
363
贡献值
1
银元
-2
铜钱
4686
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
这几天研究iptables,可是不太明.白mangle表是做什么用的,在什么情况下才会用到这个表呢?还有filter表中的FORWARD。如果用iptables做策略上网,如果要做限制应该.在哪个表里面.做呢?版主的那个贴子看.了不太明白,请大家通俗的讲讲,谢谢!             电子

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
1996
C币
-235513
威望
378
贡献值
1
银元
-2
铜钱
4490
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
mangle表,一般是对数据包进行修改用的。
通常可以在filter的forward链做,当然你一定要在mangle里做也不是不可以,但是他们过滤的位置不一样的。
具体的参见IPTABLES指南。

离线5842136.
发帖
2262
C币
-192932
威望
414
贡献值
1
银元
-2
铜钱
5064
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
[root@yxlas43 ~]# iptables  -vnL  FORWARD
Chain FORWARD (policy DROP 1 packets, 57 bytes)
pkts bytes target     prot opt in     out     source               destination
25545 3145K ACCEPT     0    --  *      *       172.16.15.253        0.0.0.0/0
    1   536 DROP       tcp  --  *      *       172.16.0.0/16        0.0.0.0/0           ctstate INVALID
  588 31152 DROP       tcp  --  *      *       172.16.0.0/16        0.0.0.0/0           #conn/32 > 100
    0     0 DROP       udp  --  *      *       172.16.1.33          0.0.0.0/0           udp spts:10240:65535
    0     0 DROP       tcp  --  *      *       172.16.1.33          0.0.0.0/0           tcp spts:10240:65535
48633 3113K DROP       tcp  --  *      *       172.16.1.33          0.0.0.0/0           tcp dpts:10240:65535
44245 3998K DROP       udp  --  *      *       172.16.1.33          0.0.0.0/0           udp dpts:10240:65535
    0     0 DROP       0    --  *      *       0.0.0.0/0            219.129.216.193
    0     0 DROP       0    --  *      *       0.0.0.0/0            125.91.6.111
    0     0 DROP       0    --  *      *       0.0.0.0/0            125.91.6.36
   39  2304 DROP       0    --  *      *       0.0.0.0/0            60.190.31.10
38238 5620K DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0           ipp2p v0.8.1_rc1 --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares
  35M   22G eth0_fwd   0    --  eth0   *       0.0.0.0/0            0.0.0.0/0
  28M   20G eth1_fwd   0    --  eth1   *       0.0.0.0/0            0.0.0.0/0
  871 42100 Reject     0    --  *      *       0.0.0.0/0            0.0.0.0/0
  871 42100 reject     0    --  *      *       0.0.0.0/0            0.0.0.0/0
[root@yxlas43 ~]# iptables -t mangle -vnL PREROUTING
Chain PREROUTING (policy ACCEPT 63M packets, 42G bytes)
pkts bytes target     prot opt in     out     source               destination
1717 96543 ACCEPT     udp  --  *      *       172.16.15.253        0.0.0.0/0
37595 4696K ACCEPT     0    --  *      *       172.16.15.253        0.0.0.0/0
329K  301M DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0           ctstate INVALID
599K   40M DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           #conn/32 > 100
607K   41M DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spts:10240:65535
  63M   42G tcpre      0    --  *      *       0.0.0.0/0            0.0.0.0/0
应该是同样的策略,但在不同的表中得到的结果却不同?

离线blesssj.
发帖
2064
C币
-60594
威望
382
贡献值
1
银元
0
铜钱
4611
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
由这张图可不可以这样认为mangle表中的PREROUTING要先于nat 表中的PREROUTING 和 filter表中的FORWARD的呢?
bridge3b.png (25.93 KB)
下载次数:21
2007-08-17 20:25



离线皮子.
发帖
2090
C币
-60295
威望
420
贡献值
1
银元
-1
铜钱
4797
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
应该是的。

离线gratful.
发帖
2079
C币
-611306
威望
371
贡献值
2
银元
-2
铜钱
4648
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
谢谢ssffzz1

发帖
2168
C币
-60397
威望
407
贡献值
1
银元
-1
铜钱
4944
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 5639863 于 2007-8-17 20:25 发表
由这张图可不可以这样认为mangle表中的PREROUTING要先于nat 表中的PREROUTING 和 filter表中的FORWARD的呢?

PREROUTING 和 FORWARD 没有可比性,PREROUTING 一定先于 FORWARD
你应该问:mangle 的 PREROUTING 是否优先于 nat 的 PREROUTING?
或者:mangle 的 FORWARD 是否优先于 filter 的 FORWARD?
答案是:是的

从 netfilter 的内核代码看,各个处理流程的优先级如下
enum nf_ip_hook_priorities {

        NF_IP_PRI_FIRST = INT_MIN,

        NF_IP_PRI_CONNTRACK = -200,

        NF_IP_PRI_BRIDGE_SABOTAGE_FORWARD = -175,

        NF_IP_PRI_MANGLE = -150,

        NF_IP_PRI_NAT_DST = -100,

        NF_IP_PRI_BRIDGE_SABOTAGE_LOCAL_OUT = -50,

        NF_IP_PRI_FILTER = 0,

        NF_IP_PRI_NAT_SRC = 100,

        NF_IP_PRI_LAST = INT_MAX,

};
复制代码
可见,nat 在 mangle 之后,而 nat 中又有 NAT_DST(PREROUTING)和 NAT_SRC(POSTROUTING)
其他部分优先级见上面的枚举结构

[ 本帖最后由 platinum 于 2007-8-18 08:18 编辑 ]

离线qq273580105.
发帖
2049
C币
-235857
威望
381
贡献值
1
银元
-1
铜钱
4522
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
谢谢,看来我对IPTABLES还是很不了解啊。谢谢指正!
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个