又见table full!!

         RAS3,做nat,又是table full ,导致客户机上网奇慢无比,其实已经把ip_conntrack_max设得很大了,但是还是出了这样的问题,google找到一个解决办法。暂用测试

       到http://www.hping.org/download.html 下载hping2,我下的是rc3了

    tar xvfz hping2.0.0-rc3.tar.gz

   cd hping2-rc3

   ./configure
   make
   make install

vi clr_conns,输入

!/bin/sh

echo
echo "############################"
echo "# Edit by Youngh 2003.06.24 v1.1 "
echo "# Usage : clr_conns IpAddress"
echo "# This will clear all connections from this IP_Address"
echo "# Example:/root/clr_conns 10.0.3.3 "
echo "############################"
echo
 
if [ -z $1 ] ; then
exit
fi
 
grep -E "^tcp .{10,25}ESTABLISHED src=$1 " /proc/net/ip_conntrack | while read line ; do
lefttime = `echo $line | awk '{print substr($3,5)}'`
S_IP=`echo $line | awk '{print substr($5,5)}'`
S_SOCK=`echo $line | awk '{print substr($7,7)}'`
D_IP=`echo $line | awk '{print substr($6,5)}'`
D_SOCK=`echo $line | awk '{print substr($8,7)}'`
echo "$S_IP:$S_SOCK $D_IP:$D_SOCK" 
hping2 $D_IP -R -s $S_SOCK -p $D_SOCK -a $S_IP -k -c 1 >/dev/null 2>/dev/null &
 
done

################end########################

chmod 755 clr_conns ,再增加一个定时执行清除的设置

#crontab -e  

0 */4 * * * /root/clear_conn.sh 172.16.*    &

#172.16.*是我这里的客户机地址,每隔4小时清除一次,

由于上面的脚本是清除所有已经建立的连接的,所以我在这里再修改了下,只清除建立已经超过一段时间的连接

=============code start=====================


echo
echo "############################"
echo "# Edit by Youngh 2003.06.24 v1.1 "
echo "#modify by liswa 2006.05.16"
echo "# Usage : clr_conns IpAddress"
echo "# This will clear all connections from this IP_Address"
echo "# Example:/root/clr_conns 10.0.3.3 "
echo "############################"
echo

if [ -z $1 ] ; then
exit
fi
grep -E "^tcp .{10,25}ESTABLISHED src=$1 " /root/ip_conntrack | while read line ; do
LEFT_TIME=`echo $line | awk '{print $3}'`
#ifspend time is less then 4300,then clear it
if [ "$LEFT_TIME" -lt 43000 ];
then
S_IP=`echo $line | awk '{print substr($5,5)}'`
S_SOCK=`echo $line | awk '{print substr($7,7)}'`
D_IP=`echo $line | awk '{print substr($6,5)}'`
D_SOCK=`echo $line | awk '{print substr($8,7)}'`
echo "$LEFT_TIME  $S_IP:$S_SOCK $D_IP:$D_SOCK"
hping2 $D_IP -R -s $S_SOCK -p $D_SOCK -a $S_IP -k -c 1 >/dev/null 2>/dev/null &
fi
done

附:crontab参数简介(来自chinaunix)

简介 
crontab-操作每个用户的守护程序和该执行的时间表。 

部分参数说明 
crontab file [-u user]-用指定的文件替代目前的crontab。 
crontab-[-u user]-用标准输入替代目前的crontab. 
crontab-1[user]-列出用户目前的crontab. 
crontab-e[user]-编辑用户目前的crontab. 
crontab-d[user]-删除用户目前的crontab. 
crontab-c dir- 指定crontab的目录。 
crontab文件的格式:M H D m d cmd. 
M: 分钟(0-59)。 
H:小时(0-23)。 
D:天(1-31)。 
m: 月(1-12)。 
d: 一星期内的天(0~6,0为星期天)。 
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。 
下面是一个例子文件: 
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND 
#每天早上6点 
106* * * date 

#每两个小时 
0*/2* * * date 

#晚上11点到早上8点之间每两个小时,早上部点 
0 23-7/2,8* * * date 

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 
0 11 4* mon-wed date 

#1月份日早上4点 
0 4 1 jan* date 
范例 
lark:~>crontab-1 列出用户目前的crontab. 
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND 
10 6* * * date 
0*/2* * * date 
0 23-7/2,8 * * * date 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值