前提介绍:

   我们有时候在公司需要限制员工的上网,如:QQ、迅雷、MSN、P2P等一些比较常见的协议,那么如果要是简单的配置下,可以装一台Linux服务器,配置好防火墙策略及安装好l7(补丁包)的配合使用,做好安装之后,我们就可以配置规则来限制公司的员工上网限制,这里简单的介绍下,具体的还需要看文章中配置:





一、安装包:netfilter-layer7-v2.22.tar.gz

1、解压:

wKioL1NOwcyyzF_RAAFzR9Ah5hY924.jpg

2、查看内核版本: uname -r

wKiom1NOwfWS6ccQAABzLNcF1sA538.jpg

3、目前来说CentOS6.5这个版本与netfilter-layer7-v2.22版本有差别,所以这个不适合了,我们要用时一下的安装补丁包来实现:


二、将准备好的补丁包解压:

基于layer7应用层过滤配置解析_第1张图片



三、安装配置及步骤:

1、获取并编译内核:

基于layer7应用层过滤配置解析_第2张图片


2、给内核打补丁:

1).复制config配置文件为模板:

wKioL1NOwc6wH0ZEAAB1fCelVlM312.jpg

2).打补丁,如下图:

基于layer7应用层过滤配置解析_第3张图片


3、编译并安装内核

1).选择编译模块化选项:

基于layer7应用层过滤配置解析_第4张图片

2).为了方便使用安装screen工具:

wKiom1NOwfnS6jdWAAA53YTF7WU647.jpg

3).编译/模块/安装内核:

wKioL1NOwdCA9piHAACTE0doNQA945.jpg

注意: make install 时要是报错不用管,这是由于我们之前不是把那个声卡驱动没有勾选的结果;注意一下就可以;

基于layer7应用层过滤配置解析_第5张图片


4、重启系统,启用新内核 :
1).编辑下grub.conf配置文件:

基于layer7应用层过滤配置解析_第6张图片

2).最后重新启动系统:

wKiom1NOwfzi7lqcAAAjx7aFPXc949.jpg

3).重启时候按e键选择自定义的那个内核并且进入:

基于layer7应用层过滤配置解析_第7张图片

4).进入系统后查看内核版本:

wKiom1NOwfyyYv66AABM7Hg-aqQ003.jpg


5、编译iptables :
准备好安装包:
iptables-1.4.20.tar.bz2
l7-protocols-2009-05-28.tar.gz
1).解压iptables包且复制文件:

wKioL1NOwdSR6JV3AAD1RC77kGM643.jpg

2).在卸载之前,先停止iptables:

wKiom1NOwf3S4ps7AADOgajn2yU345.jpg


3).在卸载之前先做备份工作:

wKioL1NOwdTw4-YxAAB-eg3Pc4g341.jpg


4).卸载iptables:

wKioL1NOwdSCKnTGAAA024cDaGY913.jpg


5).编译安装iptables:

wKioL1NOwp-wuPaQAADGszkyUxI587.jpg


6).将之前备份的文件复制至源目录:

wKiom1NOwsmwxKmoAAB4oNUwzJY785.jpg


7)查看iptables的版本:

wKioL1NOwqCgAKOWAABC7GRGvAA472.jpg


8).配置脚本后:
[root@xiaoma ~]# vim /etc/rc.d/init.d/iptables

wKiom1NOwsnSVZnBAACx6VqUXrQ889.jpg

9).先查看状态/重启iptables服务:

基于layer7应用层过滤配置解析_第8张图片


6、为layer7模块提供其所识别的协议的特征码:
1).解压并且安装:

wKiom1NOwsqw0z_jAAEEzAJc0Xs667.jpg

2).简单查看几个协议(应用程序):

wKioL1NOwqHgy6GbAABa4-OBgWQ626.jpg


7、如何使用layer7模块?
1).ACCT的功能已经可以在内核参数中按需启用或禁用。此参数需要装载nf_conntrack模块后方能生效。

wKiom1NOwsqBMLHCAABQCgJRDA4469.jpg

2)查看是否存在nf_conntrack模块:

基于layer7应用层过滤配置解析_第9张图片


8.配置网络:
1).防火墙配置地址为:

基于layer7应用层过滤配置解析_第10张图片

2).WinXP配置地址为:

基于layer7应用层过滤配置解析_第11张图片

3).Win XP路由配置:

开始->运行->输入cmd->添加如下内容:

C:\Users\Administrator>route add 192.168.10.0 MASK 255.255.255.0 172.16.17.201

基于layer7应用层过滤配置解析_第12张图片


9、配置规则实现WinXP 能够上网:
1)配置SNAT实现WinXP上网:

wKiom1NOwsyyyfiKAAB64ai4GbA628.jpg

2).设置规则,过滤qq使其不能登录:

wKioL1NOwqPjGfbHAABfJLRIJh0304.jpg

3).WinXP测试登录QQ-->注意这时候你如果是之前登录过,就已经建立连接,这是你就需要重启机器,等会儿在登录QQ,就会生效的:

基于layer7应用层过滤配置解析_第13张图片

4).这时候已经匹配到报文,请看:

基于layer7应用层过滤配置解析_第14张图片

5).如果这时候还不行,你就在限制http服务试一试?

wKiom1NOw7mCUF8iAABdO6oxhLA536.jpg

6).这时候http已生效,网页已经打不开了(之所以这么快就匹配到了,是因为http协议时无状态的).

基于layer7应用层过滤配置解析_第15张图片

7).注意事项:

wKiom1NOws-AhwzjAAFjmwnRKzQ500.jpg


10. 记录日志:

1).格式:
-j LOG
--log-prefix "":指定日志前缀信息
注意:如果同样的内容要做过滤,日志规则一定放在过滤规则之前。
例子:

wKioL1NOwqbSyZsVAABXM0twOrE264.jpg

2).查看qq的访问日志:

基于layer7应用层过滤配置解析_第16张图片

3).指定日志前缀:

wKioL1NOwqeC_2GNAABqc891lDY105.jpg

4).查看qq的访问日志:

基于layer7应用层过滤配置解析_第17张图片


最后你也试一试吧,看好你吆!!!




Welcome to the xiaomazi blog!!