免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ippen
打印 上一主题 下一主题

[网络管理] linux nat 不支持双cpu? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-05-12 11:10 |只看该作者
方才发现更怪的问题,运行了/etc/init.d/iptables restart后,cpu的状态好了

11:12:44  up 21:23,  1 user,  load average: 0.00, 0.02, 0.14
33 processes: 32 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total    0.0%    0.0%    0.0%   0.1%    27.6%    0.0%   72.2%
           cpu00    0.0%    0.0%    0.0%   0.2%    29.2%    0.0%   70.5%
           cpu01    0.0%    0.0%    0.0%   0.2%    26.6%    0.0%   73.1%
           cpu02    0.0%    0.0%    0.0%   0.0%    26.6%    0.0%   73.3%
           cpu03    0.0%    0.0%    0.0%   0.2%    28.0%    0.0%   71.7%
Mem:  1009404k av,  152464k used,  856940k free,       0k shrd,    1316k buff
        21144k active,               6604k inactive
Swap:       0k av,       0k used,       0k free                   24416k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND

论坛徽章:
0
12 [报告]
发表于 2006-05-12 11:12 |只看该作者

晕,竟然自动 CPU 分担了?!

论坛徽章:
0
13 [报告]
发表于 2006-05-12 11:18 |只看该作者
前面的RETURN是有些协议不能NAT,我网内是公网地址,对邮件等协议是不能nat的,如果放再filter表,最终经过POSTROUTING 时做了NAT,会影响用户的邮件服务器
tcp 的 established时间在centos3.6里没法调,迟些自己编译一个新的内核试一下

论坛徽章:
0
14 [报告]
发表于 2006-05-12 11:23 |只看该作者
原帖由 ippen 于 2006-5-12 11:18 发表
前面的RETURN是有些协议不能NAT,我网内是公网地址,对邮件等协议是不能nat的,如果放再filter表,最终经过POSTROUTING 时做了NAT,会影响用户的邮件服务器
tcp 的 established时间在centos3.6里没法调,迟些自己 ...

FORWARD 的优先级在 POSTROUTING 前面
若 FORWARD 那里已经 DROP 了,数据包不会路由到 POSTROUTING 那里

论坛徽章:
0
15 [报告]
发表于 2006-05-12 11:23 |只看该作者
原帖由 platinum 于 2006-5-12 11:12 发表

晕,竟然自动 CPU 分担了?!

是呀,搞了一宿竟然是这样结果
继续观察中----不知什么时候又出问题呢

论坛徽章:
0
16 [报告]
发表于 2006-05-12 11:28 |只看该作者
原帖由 platinum 于 2006-5-12 11:23 发表

FORWARD 的优先级在 POSTROUTING 前面
若 FORWARD 那里已经 DROP 了,数据包不会路由到 POSTROUTING 那里

问题是我要让数据包通过,而不是DROP

论坛徽章:
0
17 [报告]
发表于 2006-05-12 11:57 |只看该作者
原帖由 ippen 于 2006-5-12 11:28 发表

问题是我要让数据包通过,而不是DROP

我没看出 -j RETURN 在你的规则里的用途,因为我没有发现有子链
或许是你的规则没贴全,或许是你用错了

论坛徽章:
0
18 [报告]
发表于 2006-05-12 13:13 |只看该作者
画个图容易明白些

          chinanet                                   cnc  
               |                                      |
   +-----------+------------+             +-----------+-----------+
   |        Router1         |             |        Router2        |
   +-----------+------------+             +-----------------------+
               |                                      |  
               |                                      |
   +-----------+------------+   cnc网段   +-----------------------+
   |        Router3         |------------>|      Nat Server       |
   +-----------+------------+             +-----------------------+
               |
               |
   +------------------------+
   |       用户......       |
   +------------------------+       

route2 和 nat server是为了解决用户访问网通速度慢的问题,但是用户中有邮件服务器等应用,如果网通的用户访问我的用户的邮件服务器,回应的数据包被router3指向Nat Server,如果这个数据包被nat后,ip地址变更了,网络连接就会有问题,所以邮件的端口的数据不能DROP,也不能做NAT,只能用RETURN让数据包通过,ACCEPT也不行,ACCEPT规则通过后仍然会跑到下面的NAT规则里的。至于其他的RETURN规则是应用户要求不做nat

论坛徽章:
0
19 [报告]
发表于 2006-05-12 13:24 |只看该作者
系统又变成只用一个cpu工作了,看样子是内核有些问题

论坛徽章:
0
20 [报告]
发表于 2006-05-12 13:33 |只看该作者

我想不明白的是,为何 DROP 和 ACCEPT 都不能满足你的需求,唯有 RETURN 可以?
RETURN 是返回上一层链,你的“上一个”是什么呢?
你的 POSTROUTING 已经是 top 链了,若再 RETURN,只会交给 default policy,而你的 default 是 ACCEPT,因此你这里设计有问题
不知道你的 Linux 是不是上图中的 NAT Server,我认为你们的网络有问题,出在 routing、nat 的处理上面,因为不知道详细的网络拓扑和其他相关设备的设置,所以我也说不好是哪里的问题,但设计绝对 100% 存在问题,因为就 iptables 的用法上可以判断,用的不对,而实际根据我以往的经验,是不没必要这样做的,因为如果设计好了,不会出现这样的问题(比如你上面说的“回应的数据包被router3指向Nat Server,如果这个数据包被nat后,ip地址变更了,网络连接就会有问题”)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP