论坛风格切换切换到宽版
  • 1025阅读
  • 5回复

[问题求助]iptables+tc每ip带宽限制的动态实现解决思路 [复制链接]

上一主题 下一主题
离线xychina1006.
 
发帖
2047
C币
-198963
威望
352
贡献值
1
银元
-5
铜钱
4534
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
iptables -A FORW.ARD -i LAN1 -s  LANNET/.NETMASK -m recent --set (用来确定那些i.p段要动态限制) 虚拟主机

上面的命令实现了LA.N上正在连线的ip的当前列表。当第一次包通过时,在/proc/net/ipt_recen.t/DEFAULT下记录信息。以后有后续包           女人

时改写.last_seen的时间值。             电子

ca.t /proc/net/ipt_rec.ent/DEFAULT            杀毒

查看当前的记录。记录类似于

sr.c=.192.168.0.1  ttl: 127 last_seen: 4322325954 oldest_pkt: 1 last_pkts: 432.2325954           鲜花

src描.述源ip地址,last_seen是最后此ip地址发包的时间值(jiff.ies) 我们用到的就是这两项。服务器

好了,.现在有了这.些基础,那么动态tc的实现就没有问题了。学习
下面就是写一个shell用.cron.tabl来定时更新tc记录了。要做有以下几点.            杀毒
1.在shell中判断是否存在/e.tc/d.ytc。若无投资
2. .在shell中,用以下命令.生成/etc/dytc.temp电脑
cat /proc/net/ipt_recent/DEFAULT | awk '{print substr($1,5.)}" "$5' > /etc/dyt.c.t.emp投资
记录本次更新时的ip和时间.
3.根据src.确定有那些i.p最近在线,通过与/etc/dytc比对确定是否已经添加tc策略.根据la.st_seen加自定义的TCTIMEOUT来确定,是否           女人

从/proc/net./ipt_recent./DEFAULT和tc策略中删除长时间未连接的ip.(广告)
(/etc/dytc)la.st_seen值+TCTIMEOUT>(/etc/dytc.temp)last_seen值时则执行相关tc策略.删除工作.(广告)
echo   .-*.*.*.*   >  /proc/net/ipt_.recent/DEFAUTLT<性病>
tc的省略。
若是第一次无/etc/dy.tc则直接添加tc策略.           鲜花
3.完成本次更新.
cp -.fpv /etc/dytc..temp /etc/dytc健康

至此,动态tc每ip完成。

附:(注意事项)
1.rec.ent模块有以下几个参数。不多解释了。学习
       i.p_list_tot=100.
              Number of addresses remember..ed per table          婚庆
       ip_pkt_list_tot=20.电影
      .        Number of .packets per address remembered.
       ip_list_hash._size=0.           鲜花
              .Hash table size. 0 means to. calculate it based on ip_list_tot, d.efault: 512.
       ip_list_perms=06.44           女人
              Permissions for /proc/net/ip.t_recent/* .files健康

2.last_seen的时间值在32位机器.和64位机器的不同,timeo.ut根据实际情况自行决定。(        游戏          )

3.recent模块--name选项可以用来区分不.同的t.c策略..

本想写一个现成的脚.本给大家。不过喝酒归来,实在是不想动。抱谦,抱谦.。.

[ 本帖最后由 wysilly 于 2007-5-14 16:31. .编辑 ]<性病>

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线daofeng99.
发帖
2012
C币
-152620
威望
379
贡献值
1
银元
-5
铜钱
4612
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:iptables tc每ip带宽限制的动态实现解决思路
下次喝完咖啡在写吧。

发帖
2112
C币
-235117
威望
406
贡献值
1
银元
-2
铜钱
4772
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:iptables tc每ip带宽限制的动态实现解决思路
我正在喝.   呵呵.

离线huandream1.
发帖
1997
C币
-559569
威望
361
贡献值
5
银元
-1
铜钱
4513
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
Re:iptables tc每ip带宽限制的动态实现解决思路
那麻烦帮我们这些小网管写一个嘛。快受不了。。TC一直限上传。一直没搞定过。。。
不知上面的命令需要打iptables补丁不?


离线trefoil.
发帖
1962
C币
-199277
威望
397
贡献值
1
银元
-1
铜钱
4497
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
Re:iptables tc每ip带宽限制的动态实现解决思路
LZ 可以介绍下  recent模块 在哪个patch 里面吗?

离线gdvip.
发帖
2174
C币
-60200
威望
394
贡献值
1
银元
-3
铜钱
4879
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
Re:iptables tc每ip带宽限制的动态实现解决思路
http://snowman.net/projects/ipt_recent/

刚才看了一你的blog,强人啊.

[ 本帖最后由 wysilly 于 2007-5-14 18:55 编辑 ]
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个