设为首页 收藏本站
查看: 1032|回复: 1

[经验分享] iptables实现应用层的包过滤

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-10-21 09:16:58 | 显示全部楼层 |阅读模式
平台:
linux5.4
源码包:
iptables-1.4.2.tar.bz2
l7-protocols-2008-10-04.tar.gz
linux-2.6.25.19.tar.bz2
netfilter-layer7-v2.20.tar.gz

卸载原有的iptables、可以先把iptables的启动脚本提前备份一份;等后面重新编译iptables时再复制过来。
( /etc/init.d/iptables )
而后把源码包解压缩到 /usr/local/src/下;
步骤:
一、重新编译内核
1、合并kernel+layer7补丁
# tar jxvflinux-2.6.25.19.tar.gz2 -C /usr/src/
# tar zxvfnetfilter-layer7-v2.20.tar.gz -C /usr/src/
# cd/usr/src/linux-2.6.25.19/
# patch-p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch
2、配置新内核
# cp/boot/config-2.6.18-8.el5 .config
【 可以沿用原本的内核 或者升级内核 】
# makemenuconfig
【 配置内核时,在“Networking ---> Networking Options ---> NetworkPacket filtering framework (Netfilter) ”处主要注意两个地方:
1) ---> Core Netfilter Configuration
//将“Netfilter connection tracking suport (NEW)”选择编译为模块(M),需选取此项才能看到layer7支持的配置。
//将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块,根据需要看着办。
2) ---> IP: Netfilter Configuration
//将“IPv4 connection tracking support (require for NAT)”编译成模块。
//将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。
--->.config
3、编译及安装模块、新内核
# make&& make modules_install && make install
【 编译安装成后后,重启选择使用新的内核(2.6.25.19)引导系统 】
二、重新编译iptables
1、卸载现有iptables
# rpm -eiptables --nodeps

2、合并iptables+layer7补丁
# tar jxvfiptables-1.4.2.tar.bz2 -C /usr/src/
# cd/usr/src/netfilter-layer7-v2.20/iptables-1.4.1.1-for-kernel-2.6.20forward/
# cplibxt_layer7.c libxt_layer7.man /usr/src/iptables-1.4.2/extensions/

3、编译安装
# cd/usr/src/iptables-1.4.2/

# ./configure --prefix=/ --with-ksource=/usr/src/linux-2.6.25.19
# make&& make install

4、安装l7-protocols模式包
# tar zxvfl7-protocols-2008-10-04.tar.gz -C /etc/
# mv/etc/l7-protocols-2008-10-04 /etc/l7-protocols

这个时候测试页是无任何规则的:
232641610.png

三、layer7规则示例
1、layer7 match
如果想过滤了条件就是在这个目录进行分类、可以在此设置规则:
/etc/l7-protocols-2008-10-04/protocols/
# iptables-A FORWARD -m layer7 --l7proto qq -j DROP
filter 表forward 链处理七层协议;
232642149.png
# iptables-A FORWARD -m layer7 --l7proto msnmessenger -j DROP
# iptables-A FORWARD -m layer7 --l7proto msn-filetransfer -j DROP
# iptables-A FORWARD -m layer7 --l7proto xunlei -j DROP
# iptables-A FORWARD -m layer7 --l7proto edonkey -j DROP
# iptables-A FORWARD -m layer7 --l7proto bittorrent -j DROP
2、string match
# iptables-A FORWARD -p udp --dport 53 -m string --string "tencent" --algo bm-j DROP
# iptables-A FORWARD -p udp --dport 53 -m string --string "verycd" --algo bm -jDROP
# iptables-A FORWARD -p tcp --dport 80 -m string --string "sex" --algo bm -jDROP
3、state match
# iptables-A FORWARD -m state --state NEW -p tcp ! --syn -j DROP
# iptables-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
4、connlimit match
# iptables-A FORWARD -p tcp --syn -m connlimit --connlimit-above 100 --connlimit-mask 24-j DROP
5、time match
# iptables-A FORWARD -p tcp --dport 80 -m time --timestart 8:00 --timestop 17:00--weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-9946-1-1.html 上篇帖子: rsync+inotif实现数据同步 下篇帖子: Centos6.4下安装mplayer的整个过程 应用层

尚未签到

发表于 2014-1-13 08:12:56 | 显示全部楼层
寂寞的房间只剩下寂寞的人.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表