原帖由 ippen 于 2006-5-11 23:47 发表
在网上搜索了一下,可以确认netfilter是支持多CPU的
原帖由 platinum 于 2006-5-12 00:45 发表
哪里有提到?我去看一下
原帖由 ippen 于 2006-5-12 11:18 发表
前面的RETURN是有些协议不能NAT,我网内是公网地址,对邮件等协议是不能nat的,如果放再filter表,最终经过POSTROUTING 时做了NAT,会影响用户的邮件服务器
tcp 的 established时间在centos3.6里没法调,迟些自己 ...
原帖由 platinum 于 2006-5-12 11:12 发表
晕,竟然自动 CPU 分担了?!
原帖由 platinum 于 2006-5-12 11:23 发表
FORWARD 的优先级在 POSTROUTING 前面
若 FORWARD 那里已经 DROP 了,数据包不会路由到 POSTROUTING 那里
原帖由 ippen 于 2006-5-12 11:28 发表
问题是我要让数据包通过,而不是DROP
原帖由 ippen 于 2006-5-12 13:53 发表
我对 RETURN的理解和你的不一样,在一个表中,如果一个数据包匹配RETURN的条件,就表示这个数据包返回上一层,不再尝试匹配RETURN后面的规则,也就是说退出当前表的匹配,但如果用ACCEPT的话,就表示如果这个规则通过后,仍然尝试匹配ACCEPT后面的规则,所以使用ACCEPT和RETURN产生的效果并不一样
packet1.png (6.99 KB, 下载次数: 76)
packet2.png (4.39 KB, 下载次数: 75)
原帖由 ippen 于 2006-5-12 13:13 发表
画个图容易明白些
chinanet cnc
| |
+-----------+------------+ +------ ...
原帖由 ippen 于 2006-5-12 14:24 发表
翻了一下iptables的手册,应该说两人的理解都没有错误,只是在具体应用上对RETURN用法的理解并不太相同
原帖由 springwind426 于 2006-5-12 14:22 发表
对于这种情况,你应该做策略路由(在router3中)
ip route add default via chinanet的网关 dev chinanet的接口 table 100
ip rule add 需要提供服务的内网IP table 100
这样,所有的访问控制在fo ...
原帖由 platinum 于 2006-5-12 14:27 发表
ACCEPT 就是让数据包逃离本 hook 点,RETURN 是逃离本链到上一层逻辑链去处理(默认规则也算上一层逻辑链),现在你明白了吗?
原帖由 ippen 于 2006-5-12 14:31 发表
这点的理解大家完全一样,至于我的RETURN用法,也是没有问题,具体回头再解释,我现在要外出办事
原帖由 platinum 于 2006-5-12 14:37 发表
你用了 RETURN 实际和 ACCEPT 没区别,在你的规则里,RETURN 只是交给 default policy 去 ACCPET 而已,和直接使用 ACCEPT 没什么不同,且效率低下,但不知为何你却说 ACCEPT 不行
能解释的都解 ...
原帖由 ippen 于 2006-5-12 18:25 发表
自己搭了个环境测试了一下,白金老大说的对,RETURN 和 ACCEPT 的确是一样的......
我用RETURN的原由肯定是以前的某个linux版本用ACCEPT不行,而用RETURN就可以,所以一直沿用到现在....可能是rh9.0or7.2
我用RETURN的原由肯定是以前的某个linux版本用ACCEPT不行,而用RETURN就可以,所以一直沿用到现在....可能是rh9.0or7.2
原帖由 adrh123 于 2006-5-16 10:16 发表
至少加上flags
你的iptables有好多东西都没有加,多看看tcp/ip的知识
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j xxx
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j xxx
iptables ...
原帖由 JohnBull 于 2006-5-16 14:03 发表
SMP不适合I/O密集型的任务。
原帖由 ippen 于 2006-5-16 17:26 发表
明天编译个UP的内核试试
另,请教白金,2.4 or 2.6 的内核,你认为那个的NAT效率更高些,或者推荐一个内核版本给我试试,我这里有比较好的测试环境,测试结果可以提供给大家参考
原帖由 ippen 于 2006-5-16 17:00 发表
是否就是说在NAT的环境中使用SMP的机器不如使用单cpu的机器?
原帖由 bluespray 于 2006-6-4 11:03 发表
我的服务器也是双至强CPU,只有一个CPU负载很大,其它几乎都没有负载,请问怎么通过irqbalance 将一个网卡绑定在一个cpu上?
原帖由 bluespray 于 2006-6-4 11:03 发表
我的服务器也是双至强CPU,只有一个CPU负载很大,其它几乎都没有负载,请问怎么通过irqbalance 将一个网卡绑定在一个cpu上?
原帖由 louiezhu 于 2006-6-28 16:58 发表
我也碰到了在2.4内核的时候只有一个cpu跑流量的情况,2.6的我没试过,但我觉得既然2.6开始支持了irq balance,那么这种情况2.6就不会出现……
"Local APICs before P4 by default arbitrated for interrupt ...
原帖由 ippen 于 2006-6-29 13:41 发表
就目前而言,我已经将NAT优化得比较好了,一颗cpu的机子最高nat承载260m,cpu大约在16%左右,已经基本能满足我的应用要求了。迟些有空再写个NAT服务器优化总结。
原帖由 ippen 于 2006-6-29 13:41 发表于 64楼
2.4和2.6都有irqbalance,而且都有效,但都不能分摊NAT的任务,只能分别处理不同的网卡;就是说,如果有两张网卡,那就是有两个cpu分别为这两个网卡工作,其他CPU是基本空闲的。irqbalance好像没有任何设置的 ...
2.4和2.6都有irqbalance,而且都有效,但都不能分摊NAT的任务,只能分别处理不同的网卡;就是说,如果有两张网卡,那就是有两个cpu分别为这两个网卡工作,其他CPU是基本空闲的。irqbalance好像没有任何设置的地方,只是运行及可以了,我找不到还有哪些地方需要启动的:p
参考 platinum 和johnbull 的意见,应该是单cpu更适合于NAT的应用环境,现在正在重新编译内核,迟些将测试结果告诉各位
原帖由 sisi8408 于 2007-5-30 16:08 发表
其他CPU是基本空闲的, 这是大实话~~
可以让它忙起来,代码都写好了,想让jack测测,
不知死哪去了,郁闷~~~~~~
问 LZ:
您的4核机器,让俺玩3天?
你找到/boot/System.map文件,(uname -a )看版本,
grep physical_balance 看有无。
CONFIG_IRQBALANCE=y 应该 有
同一个时刻, 一个NIC中断还是在一个CPU运行。
但SMP还是应该快,因为另一个NIC现在没有使用的CPU可以负责用户程序。
间接地提高了速度。
to:sisi8408 想试试解决双核机器nat的问题?
4核的机器在用,双核的行吗?有兴趣的话联系我,ippen@21cn.com
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |