Chinaunix

标题: 怎么用iptables封掉所有p2p的连接 [打印本页]

作者: zsgd    时间: 2006-04-25 10:47
标题: 怎么用iptables封掉所有p2p的连接
udp     src=192.168.1.110       dst=220.161.63.232      sport=1222      dport=1055      bytes=1904
udp     src=192.168.1.11        dst=58.49.225.29        sport=1997      dport=1823      bytes=44586
udp     src=192.168.1.11        dst=58.49.225.29        sport=1848      dport=1729      bytes=47036
udp     src=192.168.1.110       dst=218.26.157.218      sport=1222      dport=1703      bytes=11144
udp     src=192.168.1.11        dst=60.212.140.164      sport=2110      dport=9000      bytes=16629558
udp     src=192.168.1.11        dst=58.49.225.29        sport=1688      dport=1649      bytes=55200
udp     src=192.168.1.11        dst=58.49.225.29        sport=1697      dport=1658      bytes=54712
udp     src=192.168.1.11        dst=58.49.225.29        sport=1928      dport=1797      bytes=44104
udp     src=192.168.1.11        dst=58.49.225.29        sport=2007      dport=1830      bytes=21438
udp     src=192.168.1.11        dst=61.134.1.4  sport=1036      dport=53        bytes=1335
udp     src=192.168.1.11        dst=58.49.225.29        sport=1935      dport=1806      bytes=5662
udp     src=192.168.1.110       dst=222.241.209.139     sport=1222      dport=1025      bytes=2744
udp     src=192.168.1.110       dst=222.184.233.34      sport=1222      dport=1162      bytes=1400
udp     src=192.168.1.110       dst=222.171.37.121      sport=1222      dport=1762      bytes=135666
udp     src=192.168.1.11        dst=58.49.225.29        sport=1885      dport=1766      bytes=45965
udp     src=192.168.1.110       dst=218.30.90.12        sport=1222      dport=39311     bytes=1783120
udp     src=192.168.1.11        dst=58.49.225.29        sport=1633      dport=1630      bytes=56571
udp     src=192.168.1.110       dst=61.186.162.5        sport=1222      dport=1949      bytes=168
udp     src=192.168.1.11        dst=219.133.49.189      sport=4000      dport=8000      bytes=51265
udp     src=192.168.1.110       dst=61.132.63.94        sport=1222      dport=1727      bytes=72682


如上,有很多源和目的无规律的端口,其中一个是dport=9000,可以判断是poco应用程序的连接,是基于p2p的,现在的问题是,(1)如何禁用所有p2p的连接,现在用ipp2p禁用了电驴和bt(2)对于那些没有规律的连接想禁用该怎么处理,因为这样的连接的用户会经常有,会占用大量网络带宽。谢谢!!

[ 本帖最后由 zsgd 于 2006-4-25 10:49 编辑 ]
作者: chenyx    时间: 2006-04-25 10:55
单独从技术上入手可能性不大,你不可能只让人访问WEB吧,从行政上入手可能能效果好上一点.
好象Iptables里有一个限制连接数的补丁,试一下.
还有,利用TC可能能解决你的问题.
我也是菜鸟!!
作者: zsgd    时间: 2006-04-25 11:09
原帖由 chenyx 于 2006-4-25 10:55 发表
单独从技术上入手可能性不大,你不可能只让人访问WEB吧,从行政上入手可能能效果好上一点.
好象Iptables里有一个限制连接数的补丁,试一下.
还有,利用TC可能能解决你的问题.
我也是菜鸟!!

1、用行政的手段肯定是不行的,这里是一个相当于网吧的团体
2、你说的限制连接数就是这个connlimit了,我想也是不行的,因为发现有些主机发起的连接可能数量并不多,但每个连接都在疯狂的传数据,有一个freetv的网络电视就是这样的,所以这个数量不好判断,弄不好影响正常上网
3、偶也在考虑用tc,对这个还不清楚具体的功能及用法,现在在想,能不能实现这样一个功能,把某台机器的1024以上端口的连接限制在一个速率,1024以下的不做限制,希望对tc熟悉的朋友指点,谢谢!!

[ 本帖最后由 zsgd 于 2006-4-25 11:11 编辑 ]
作者: rickyfang    时间: 2006-04-25 12:51
只开放特殊的,限制所有的,呵呵,应该可行的,偶就是这样做的!
作者: platinum    时间: 2006-04-25 13:00
楼主的列表是如何得到的?
作者: zsgd    时间: 2006-04-25 13:20
原帖由 platinum 于 2006-4-25 13:00 发表
楼主的列表是如何得到的?

cu上有一个脚本,platinum好像知道的,可以统计nat时tcp和udp的连接,如下:
#!/bin/bash
case "$1" in
-t)
cat -n /proc/net/ip_conntrack |grep tcp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9"\t"$11}'|more
echo
sun= cat /proc/net/ip_conntrack|grep -c src
echo
echo
echo
;;

-u)
cat -n /proc/net/ip_conntrack |grep udp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t"$8"\t"$10}'|more
echo
sun= cat /proc/net/ip_conntrack|grep -c src
echo
echo
echo
;;

-a)
cat -n /proc/net/ip_conntrack |grep tcp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9"\t"$11}'|more
cat -n /proc/net/ip_conntrack |grep udp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t"$8"\t"$10}'|more
echo
sun= cat /proc/net/ip_conntrack|grep -c src
echo
echo
echo
;;

*)
echo "Usage {-t Tcp | -u Udp }"
echo
echo "Write By LouLancn@163.com"
echo
exit 1
esac
exit 0
作者: platinum    时间: 2006-04-25 13:24
哦,我想起来了 ^_^
作者: zsgd    时间: 2006-04-25 13:29
标题: 回复 7楼 platinum 的帖子
platinum,对上面的问题有什么看法,主要限制有人看网络电影,好像很多都是p2p的,也有tcp的,还有udp的,udp的好处理些,可以把53放开,其他DROP,要不把1024以上的都DROP,但还有一些人玩网游,不清楚都用什么端口
作者: platinum    时间: 2006-04-25 13:29
封杀 9000 端口
作者: zsgd    时间: 2006-04-25 13:33
原帖由 platinum 于 2006-4-25 13:29 发表
封杀 9000 端口

9000端口好处理,但还有其他随机端口,像p2p传输时的端口,但又不知道使用的什么p2p程序
作者: platinum    时间: 2006-04-25 13:39
这个没办法,只能通过社交工程学去寻找答案了。。。。
除非你掌握了所有 P2P 程序的编码规则,并自己写出了程序去判断,但这是不可能的
作者: zsgd    时间: 2006-04-25 14:00
标题: 回复 11楼 platinum 的帖子
谢谢,不能主动那就用被动方法,如果没有人反应网速慢,发现谁用,就drop谁
作者: platinum    时间: 2006-04-25 14:14
原帖由 zsgd 于 2006-4-25 14:00 发表
谢谢,不能主动那就用被动方法,如果没有人反应网速慢,发现谁用,就drop谁

对,或者平时吃饭的时候多问问大家“诶,现在都流行那些网络软件啊?”
作者: R9_Alien    时间: 2006-04-25 15:18
原帖由 platinum 于 2006-4-25 14:14 发表

对,或者平时吃饭的时候多问问大家“诶,现在都流行那些网络软件啊?”



老谋深算啊。。。高,实在是高!!!
作者: chris_wan    时间: 2006-04-26 17:50
原帖由 platinum 于 2006-4-25 14:14 发表

对,或者平时吃饭的时候多问问大家“诶,现在都流行那些网络软件啊?”




阴险,呵呵
作者: jbin82    时间: 2006-04-27 10:11
原帖由 zsgd 于 2006-4-25 13:20 发表

cu上有一个脚本,platinum好像知道的,可以统计nat时tcp和udp的连接,如下:
#!/bin/bash
case "$1" in
-t)
cat -n /proc/net/ip_conntrack |grep tcp |awk '{print $2"\t"$5"\t& ...


小声问一下:这个脚本怎么查看tcp和udp协议链接情况?查tcp的用这个命令吗?

#cat -n /proc/net/ip_conntrack |grep tcp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9"\t"$11} '|more
作者: lihn    时间: 2006-04-27 10:32
给内核打上IPP2P的补丁就可以了.我们这里正在用,效果不错
作者: zsgd    时间: 2006-04-27 11:00
原帖由 jbin82 于 2006-4-27 10:11 发表


小声问一下:这个脚本怎么查看tcp和udp协议链接情况?查tcp的用这个命令吗?

#cat -n /proc/net/ip_conntrack |grep tcp |awk '{print $2"\t"$5"\t"$6"\t"$7"\t" ...


把上面的脚本保存到一个文件,如nat,chmod 700 nat ,运行./nat -t查看tcp连接,./nat -u 查看udp连接

[ 本帖最后由 zsgd 于 2006-4-27 11:03 编辑 ]
作者: zsgd    时间: 2006-04-27 11:02
原帖由 lihn 于 2006-4-27 10:32 发表
给内核打上IPP2P的补丁就可以了.我们这里正在用,效果不错


ipp2p的补丁已经打了,使用时如果仅用bt ,-bit 就可以了,现在是不知道可能是什么程序,不知道了.......
作者: Ksharp    时间: 2006-04-27 11:08
受用了,谢谢各位
作者: jbin82    时间: 2006-04-27 15:04
谢啦,这样就好用多了,脚本里的cat命令可不可以改为tail -f 查看的形式,这样就可以查看链接的活动情况,但是本人不会改,望哪位好心人帮帮我!

[ 本帖最后由 jbin82 于 2006-4-27 15:13 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2