iptables带大量用户时的问题,急需高手指点 (dst cache overflow报警)

 原贴:http://www.be10.com/vbb3.0.1/showthread.php?t=1985

ChinaUnix.net » Linux » 网络与硬件 » iptables带大量用户时的问题,急需高手指点

页: [1] 2


xxwanglei 2006-1-6 08:10

iptables带大量用户时的问题,急需高手指点

我的防火墙用户较多,以前常出现dst cache overflow报警
后来我将/proc/sys/net/ipv4/route/max_size 设置为60000后,报警消失了
但route -Cn|wc -l 发现输出结果极不稳定,几十、几百、几千反复变(以前用户少时极其稳定)
我怀疑是缓存溢出,应该有有其他参数限制了存储路由信息的内存占用空间
在网上查了一些文章,未找到结果,不知/proc/sys/net/ipv4/route/gc_thresh是否有影响

顽主 2006-3-2 13:23

不适这个问题,增加垃圾回收即可解决!

不适这个问题,增加垃圾回收即可解决!
/proc/sys/net/ipv4/neigh/ethx/gc_thresh1,2,3这3个数

skylove 2006-3-2 13:56

cat /proc/sys/net/ipv4/route/max_size
262144

这个是我nat上的值。。。。我用户也多

platinum 2006-3-2 13:58
引用:
原帖由 skylove 于 2006-3-2 21:56 发表
cat /proc/sys/net/ipv4/route/max_size
262144

这个是我nat上的值。。。。我用户也多
有多少用户?
网络带宽多大?

skylove 2006-3-2 14:03

有几个nat,每个nat在线的时候1k多;带宽是100+20+2,总计122m

platinum 2006-3-2 14:08

这么高的带宽?
平时跑的满吗? /proc/net/ip_conntrack 有多大?CPU 有多大?

skylove 2006-3-2 14:11

还行,因为是3个出口,不好统计,100m这个一般就用到45-60m吧。。。换算下来基本就差不多了
cat /proc/net/ip_conntrack | wc -l
7719
随便找了一台上的,这台今天只有500人不到在线

platinum 2006-3-2 14:12

做了什么优化没有?
有什么经验可以传授的?
我一个朋友也要我给他做呢 ^_^

skylove 2006-3-2 14:21
引用:
原帖由 platinum 于 2006-3-2 22:12 发表
做了什么优化没有?
有什么经验可以传授的?
我一个朋友也要我给他做呢 ^_^

我用的是linux as 3,内核已经升了,优化的地方不好说,我大体说说我的做法,你帮忙看看有没能再改进的做法吧。。。

1.尽量用/dev/shm来放数据;
2.开启了arp代理 (这个我是从某个国外站看的,说的是看了后效率更好!??)
3.#可以改变滑动窗口的大小
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling

4.修改内核共享内存限制为256M,默认是32M
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax

5。#可使用的代理端口
echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range

6。#刷新flush参数
echo "100 1200 128 512 15 5000 500 1884 2">/proc/sys/vm/bdflush

7.#禁止广播和ping入
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

8。/proc/sys/net/ipv4/netfilter/ip_conntrack_max 改大

大体上就这些

platinum 2006-3-2 14:40

很多参数我不知道做什么用的,一会去 google 挖一下

我再提供给你一个很有用的参数
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1800
默认是 432000,也就是 5 天,我把这个改为 1800 秒,可以有效减少 ip_conntrack 的使用

skylove 2006-3-2 14:59

谢谢,我是用的另外一种方法来清理的连接。。。就是hping 2 ,伪造结束连接的请求

platinum 2006-3-2 15:22
引用:
原帖由 skylove 于 2006-3-2 22:59 发表
谢谢,我是用的另外一种方法来清理的连接。。。就是hping 2 ,伪造结束连接的请求
啊,高招啊
介绍介绍!

skylove 2006-3-2 15:29

不是我想出来的,我不过是借人之美

http://www.linuxforum.net/forum/sho...sts&Main=511656

platinum 2006-3-2 15:38

看了一下原理,创意不错,但负载过高,不可取
还是用我上面的方法吧,把 5 天降为 1800 秒

skylove 2006-3-2 15:40

我用那脚本1个小时清理一次,感觉还行,将就着用了

ybbnew 2006-3-3 08:30

我的机器上怎么没有/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established这个文件??
/proc/sys/net/ipv4/就没有netfilter这个目录了!!
redhat7.3 、as3都一样。怎么回事啊

platinum 2006-3-3 09:30

高版本内核才有,好像是 2.4.27 以上
RH7.3 的内核是 2.4.18
AS3 的内核是 2.4.21
我用的内核是 2.4.31

jiecho 2006-3-3 10:41
引用:
原帖由 skylove 于 2006-3-2 22:21 发表


1.尽量用/dev/shm来放数据;
2.开启了arp代理 (这个我是从某个国外站看的,说的是看了后效率更好!??)
3.#可以改变滑动窗口的大小
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling

4.修改内核共享内存限制为256M,默认是32M
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax

5。#可使用的代理端口
echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range

6。#刷新flush参数
echo "100 1200 128 512 15 5000 500 1884 2">/proc/sys/vm/bdflush

7.#禁止广播和ping入
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

8。/proc/sys/net/ipv4/netfilter/ip_conntrack_max 改大
...


能讲讲这些的作用吗?

skylove 2006-3-3 11:33
引用:
原帖由 jiecho 于 2006-3-3 18:41 发表



能讲讲这些的作用吗?


我上面不是有中文说明嘛。。。想知道更多的就只有麻烦您google了

顽主 2006-3-3 11:57

我们单位12000人同时在线,都没有问题

我们单位12000人同时在线,都没有问题
主要是连接状态保持时间,还有垃圾回收!就全部搞定!


查看完整版本: iptables带大量用户时的问题,急需高手指点



Copyright © 2001-2005 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值