测试lvs时出现的现象,望章博士指点!

章博士,您好:
我在测试 lvs 防御DOS攻击的性能时,发现系统自带的几种 anti-ddos 方式基本上没什么效果;如果有空,望指点一下,谢谢!参考这里的文档(http://www.linuxvirtualserver.org/docs/defense.html),测试过程如下:

测试硬件环境:
dell 1750(2.80G*2/2G RAM/36G SCSI)*4, 一台做director,3台realserver
软件环境:
Linux 2.6.16 #6 SMP i686 i686 i386
piranha-0.8.1-1
ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1)
DR方式
测试方法:
由另一个网段的几台主机不停发包,建立真实的连接总量在20000左右;在测试过程中发包没有停过。

###----------方式 1 测试结果 ---
echo 1 > /proc/sys/net/ipv4/vs/drop_entry
echo 100 >/proc/sys/net/ipv4/vs/amemthresh

实际观测值
# ipvsadm -ln -c | grep -c ESTAB
19033
drop_entry 为 1 没有自动跳变为 2
LVS正常工作

#----------方式 2 测试结果 ---
echo 0 > /proc/sys/net/ipv4/vs/drop_entry
echo 1024 >/proc/sys/net/ipv4/vs/amemthresh
sleep 600
echo 1 > /proc/sys/net/ipv4/vs/drop_packet

实际观测值:
drop_packet 为 1
连接数保持在 17800 左右,

方式2第二次测试:
echo 3 > /proc/sys/net/ipv4/vs/drop_packet
echo 10 > /proc/sys/net/ipv4/vs/am_droprate
echo 50 > /proc/sys/net/ipv4/vs/am_droprate
echo 100 > /proc/sys/net/ipv4/vs/am_droprate

实际观测值:连接数均保持在 17800 左右

#----------方式 3 测试结果 ---
没有这些文件 /proc/sys/net/ipv4/vs/timeout_*

Forums:

我想这里可能有一些误解,LVS的防卫策略只是保护它自己,而不是后端的服务器。后端的服务器需要有自己的机制对抗syn-flooding。

在你的测试中,LVS机器应该没有用完内存,而没有反应吧?

LVS防卫策略对正常连接一般没有影响。

随后又测试几次,
echo 100 > /proc/sys/net/ipv4/vs/amemthresh
攻击主机只发送 syn 的包,流量大概有 24Mbits/s, 35K pkgs/s, 现象是类似的;10秒钟后,每台 realserver 上 InActConn 连接数达到 100000 左右时,开始掉线;
看似 director 的这个参数对系统没有影响

randomness