linux网络流量iptables,如何用IPtables限制网络流量(4)
ipp2p的应用
1.ipp2p目前支持如下Linux内核和iptables版本:
◆ Linux-Kernels 2.6:2.6.3
◆ Linux-Kernels 2.4:2.4.18、2.4.19、2.4.20、2.4.21、2.4.22、2.4.23
◆ iptables(www.netfilter.org)1.2.7a、1.2.8、1.2.9
2.获取ipp2p帮助
# iptables -m ipp2p --help
……
IPP2P v0.5c options:
--ipp2p Grab all known p2p packets
(抓所有已知的P2P包)
--ipp2p-data Grab all known p2p data packets
(抓所有已知P2P数据包)
--edk Grab all known eDonkey/eMule/Overnet packets
(抓所有已知的eDonkey/eMule/Overnet类型的包)
--edk-data Grab all eDonkey/eMule/Overnet data packets
(抓所有已知的eDonkey/eMule/Overnet数据包)
--dc Grab all known Direct Connect packets
(抓所有已知的直接连接包)
--dc-data Grab all Direct Connect data packets
(抓所有已知的直接连接数据包)
--kazaa Grab all KaZaA packets
(抓所有KaZaA包)
--kazaa-data Grab all KaZaA data packets
(抓所有KaZaA数据包)
--gnu Grab all Gnutella packets
(抓所有Gnutella包)
--gnu-data Grab all Gnutella data packets
(抓所有Gnutella数据包)
--bit Grab all BitTorrent packets (beta - handle with care)
(抓所有BitTorrent包)
--apple Grab all AppleJuice packets (beta - handle with care)
(抓所有AppleJuice包)
--soul SoulSeek (beta - handle with care)
(SoulSeek类型的包)
……
3.应用实例
ipp2p只能识别P2P连接请求,而不能识别所有P2P包,因此也必须和CONNMARK目标结合在一起使用,目前只支持TCP协议标示。下面来看一个实例。
#iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
上面代码表明从CONNMARK目标中恢复标记。
#iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
上面代码表明接收所有非0的标记包。
#iptables -A PREROUTING -t mangle -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1
上面代码表明将ipp2p连接标记为“1”。
#iptables -A PREROUTING -t mangle -p tcp -m mark --mark 1 -j CONNMARK --save-mark
上面代码表明保存所有标记为“1”的包到CONNMARK目标中。
通过上面设置得到的结果是,每一个标示为P2P连接的包被标记成“1”,然后再通过tc过滤,执行下面的操作:
#tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:11
#tc filter add dev eth1 parent 2:0 protocol ip prio 4 handle 1 fw classid 2:11
使用HTB和过滤,将所有标记为“1”的包放到每一个设备类中,通过对这些设备类的限制来达到对P2P连接带宽的限制。
应用效果
笔者在单位防火墙上应用了iptables-p2p和ipp2p配置,对P2P的FastTrack协议进行限制后,用贪婪BT(ABC)进行测试,取得了理想的效果,能有效地限制P2P通信。
【编辑推荐】
【责任编辑:高圆圆 TEL:(010)68476606】
linux网络流量iptables,如何用IPtables限制网络流量(4)相关推荐
- java 网络爬虫_如何用Java实现网络爬虫
原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...
- 如何用iptables限制BT、电驴等网络流量(示例如何过滤mark标志包)
今年4月,看到一则报道说尽管某宽带公司现有技术可以容纳的网络用户容量为400至600万用户,可是目前,在容纳了45万用户的情况下,网络已经拥挤不堪,时常出现断网情况,一到上网高峰,网速就会急剧下降. ...
- 如何用iptables限制BT、电驴等网络流量
今年4月,看到一则报道说尽管某宽带公司现有技术可以容纳的网络用户容量为400至600万用户,可是目前,在容纳了45万用户的情况下,网络已经拥挤不堪,时常出现断网情况,一到上网高峰,网速就会急剧下降. ...
- Linux网络/firewalld和netfilter/netfilter/iptables语法
为什么80%的码农都做不了架构师?>>> linux网络相关 查看网卡网络信息 ifconfig 命令查看网卡网络信息,比如ip.网关.子网掩码等,但是安装centos7的版本 ...
- linux启用NAT功能,双网卡共享网络,iptables简单实现
最近在研究linux双网卡共享网络的情况 简单来说就是一台linux有两块网卡,比如eth0及eth1,eth0可以正常连接外网,eth1连接内部网络,那么可以通过iptables实现eth1内部网络 ...
- linux防火墙究竟如何使用?iptables的原理与简单应用
iptables的原理与简单应用 1. 什么是防火墙? 1.1 netfilter和iptables的关系 2.iptables的基本概念 2.1 链的概念 2.2 表的概念 2.3 表链的关系 2. ...
- linux系统中查看己设置iptables规则
1.iptables -L 查看filter表的iptables规则,包括所有的链.filter表包含INPUT.OUTPUT.FORWARD三个规则链. 说明:-L是--list的简写,作用是列出规 ...
- Linux中的火墙策略优化(iptables,firewalld)
一.火墙介绍 1.netfilter 2.iptables 3.iptables | firewalld 二.火墙管理工具切换 在rhel8中默认使用的是firewalldfirewalld----- ...
- Linux的铜墙铁壁:防火墙之iptables
Linux的铜墙铁壁:防火墙之iptables [来源] 所谓防火墙,实质上是指由软硬件组合成的一个在内外网之间构造的一种保护屏障,它是一种隔离技术.因此从物理上区分,可以分为软件和硬件防火墙,从逻辑 ...
最新文章
- SQL Server 中的ROWID
- 朱棣文在哈佛大学毕业典礼上的演讲
- C语言实现线索二叉树Threaded Binary Tree (附完整源码)
- linux内核深度解析_十年磨一剑,第一本龙芯平台的Linux内核书来了
- extjs树使用别的皮肤的样式_设计师发布努努重做之后的冰雪节皮肤设计稿
- Android 时间维护服务 TimeService(针对于特殊定制设备)
- 北京工业大学c语言期末考试题,北京工业大学C语言部分练习答案.docx
- sql中having、group by用法及常用聚合函数
- java关键字有system吗_java 关键字
- IE6——png图片的修复
- 邓侃:中国首个全过程智能诊疗系统,全方位披露技术核心和商业模式
- 北京航空航天大学、浙江大学等27支海内外高校队伍晋级ASC超算大赛总决赛
- 开发环境配置 - Python 3的安装(Win+Linux+Mac)
- 三国志·魏书·满宠传
- Python、Selenium、火狐浏览器,简单的自动化实现
- jdk-17下载与安装(window10)
- 一步步解密微商城系统开发流程
- 推荐一个非常不错得网站——精品视频网
- 2021 年 Q4 随笔
- Mutex与Semaphore 第二部分 互斥锁
热门文章
- 简述股票程序化交易的关键点是什么?
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java学生公寓智慧管理系统d6472
- Matlab图像处理工具箱使用
- 关于员工背景调查的五个误区(yes背调)
- way、method、means、approach的区别
- 三面窄边 + 全新处理器 — ROG 枪神 2 长测
- 会计凭证增强抬头文本维护失败
- 计算机固态硬盘作用,笔记本固态硬盘有哪些作用 笔记本固态硬盘有什么用?...
- 第一行代码 开发酷欧天气DataSupport,ProgressDialog,加载失败,PreferenceManager.getDefaultSharedPreferences()方法
- 万年历c语言程序课设,万年历C语言程序设计.pdf