`
ithero
  • 浏览: 145907 次
社区版块
存档分类
最新评论

iptables封讯雷

阅读更多

本文转自网络

下载文件
最新内核: 
http://www.kernel.org/pub/linux/kernel/v2.6/
我下载的最新的 linux-2.6.30.tar.bz2 (注意,这个内核layer7没标明测试通过)
查看netfilter-layer7里的readme,2.6.30版本还是untested
附内核支持情况http://l7-filter.sourceforge.net/kernelcompat

iptables:
http://www.netfilter.org/projects/iptables/files/iptables-1.4.4.tar.bz2

netfilter:
http://sourceforge.net/projects/l7-filter/files/
netfilter-layer7-v2.22.tar.gz

l7-protocols:
http://ufpr.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2009-05-28.tar.gz
(这个我在sourceforge.net/projects/l7-filter的目录下没找到,后来在别的地方找的上面的链接)

下载完成后将4个文件全部放在/usr/src目录下(当然,放其它目录也可以)
#tar -jxvf linux-2.6.30.tar.bz2
#tar -jxvf iptables-1.4.4.tar.bz2
#tar -zxvf netfilter-layer7-v2.22.tar.gz
#tar -zxvf L7-protocols-2009-05-28.tar.gz

打内核打l7补丁并升级内核
#cd linux-2.6.30
#patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch
将以前的内核配置参数copy到当前目录下为.config
#cp /boot/config-2.6.18-92.el5     .config

#make menuconfig
选择 Load an Alternate Configuration File
选择 .config

再按以下项目配置 networking support----->networking options---->network packet filtering framework(netfilter)

1 ---->core netfilter configuration
A 将 "Netfilter connection tracking suport (NEW)" 选择编译为模块(M),需选取此项才能看到下面layer7支持的配置。(开始不知道这个,找了半天没看到layer7,晕)
B 将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块,根据需要看着办
C 将netbios name service protocal support(new)编译成模块,不然后面升级iptables后启动时会出错

2 ----->IP: Netfilter Configuration
A 将 "IPv4 connection tracking support (require for NAT)" 编译成模块。
B 将 "Full NAT" 下的 "MASQUERADE target support" 和 "REDIRECT target support" 编译成模块。

关闭Selinux

vi /etc/sysconfig/selinux
   SELINUX=disabled

#make 这步要很久,等了快1个小时完成
#make modules
#make modules_install
#make install
#reboot
#uname -r
2.6.30

系统起来了,成功了一半,继续

升级iptables并加入layer7补丁

#cd /usr/src/iptables-1.4.4
copy libxt_layer7.c与libxt_layer7.man到iptables目录下
#cp /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/* extensions/
#./configure --prefix=/ --with-ksource=/usr/src/linux-2.6.30
或./configure --with-kernel=/usr/src/linux-2.6.30
#make ; make install
#reboot
#iptables -V
iptables v1.4.4 (已经更新至新版本)

安装Layer7 协议文件

# cd /usr/src/l7-protocols-2009-05-28
# make install
#cd /etc/l7-protocols/protocols
#ls (以下都是l7定义好的模板)
100bao.pat                hotline.pat           shoutcast.pat
aim.pat                   http.pat              sip.pat
aimwebcontent.pat         http-rtsp.pat         skypeout.pat
applejuice.pat            ident.pat             skypetoskype.pat
ares.pat                  imap.pat              smb.pat
armagetron.pat            imesh.pat             smtp.pat
battlefield1942.pat       ipp.pat               snmp.pat
battlefield2142.pat       irc.pat               socks.pat
battlefield2.pat          jabber.pat            soribada.pat
bgp.pat                   kugoo.pat             soulseek.pat
biff.pat                  live365.pat           ssdp.pat
bittorrent.pat            liveforspeed.pat      ssh.pat
chikka.pat                lpd.pat               ssl.pat
cimd.pat                  mohaa.pat             stun.pat
ciscovpn.pat              msn-filetransfer.pat subspace.pat
citrix.pat                msnmessenger.pat      subversion.pat
counterstrike-source.pat mute.pat              teamfortress2.pat
cvs.pat                   napster.pat           teamspeak.pat
dayofdefeat-source.pat    nbns.pat              telnet.pat
dazhihui.pat              ncp.pat               tesla.pat
dhcp.pat                  netbios.pat           tftp.pat
directconnect.pat         nntp.pat              thecircle.pat
dns.pat                   ntp.pat               tonghuashun.pat
doom3.pat                 openft.pat            tor.pat
edonkey.pat               pcanywhere.pat        tsp.pat
fasttrack.pat             poco.pat              unknown.pat
finger.pat                pop3.pat              unset.pat
freenet.pat               pplive.pat            uucp.pat
ftp.pat                   qq.pat                validcertssl.pat
gkrellm.pat               quake1.pat            ventrilo.pat
gnucleuslan.pat           quake-halflife.pat    vnc.pat
gnutella.pat              radmin.pat            whois.pat
goboogy.pat               rdp.pat               worldofwarcraft.pat
gopher.pat                replaytv-ivs.pat      x11.pat
guildwars.pat             rlogin.pat            xboxlive.pat
h323.pat                  rtp.pat               xunlei.pat
halflife2-deathmatch.pat rtsp.pat              yahoo.pat
hddtemp.pat               runesofmagic.pat      zmaap.pat


使用iptables layer-7 filter例子:
# iptables -t mangle -I PREROUTING -m layer7 --l7proto edonkey -j DROP (禁止edonkey)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto bittorrent -j DROP (禁止bt)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto qq -j DROP (禁止QQ通讯)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto msnmessenger -j DROP (禁止edonkey)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto xunlei -j DROP (禁止迅雷)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto kugoo -j DROP (禁止kugoo)
# iptables -t mangle -I PREROUTING -m layer7 --l7proto yahoo -j DROP (禁止Yahoo! Messenger)

注意: layer7屏蔽的信息日志会在终端画面显示,搞得满屏都是,可以通过改变以下参数来关闭终端的显示:
#vim /etc/sysconfig/syslog
KLOGD_OPTIONS="-x -c 3"

#service syslog restart

最后:

如果启动iptables时报ip_conntrack_netbios_ns有错
在/etc/sysconfig/iptables-config
将以下一行注释掉。
IPTABLES_MODULES="ip_conntrack_netbios_ns"
ip_conntrack_netbios_ns是配置netbios穿越NAT用的,一般用不到的。

分享到:
评论

相关推荐

    iptables的用法,用iptables封IP的方法

    iptables的用法,用iptables封IP的方法,安装,启动,关闭

    iptables详解:图文并茂理解iptables.pdf

    iptables 防火墙 linux

    Centos离线安装iptables.docx

    ### Centos离线安装iptables详解 #### 一、前言 在CentOS系统中,iptables是用于设置网络规则的重要工具之一。然而,在某些情况下,由于网络环境限制或安全考虑,我们可能无法通过在线方式安装iptables。本文将...

    linux iptables防火墙黑名单(封IP) Connection reset by peer

    linux iptables防火墙黑名单(封IP) Connection reset by peer

    iptables源码iptables源码

    iptables源码 iptables工具

    iptables 编译内核 iptables-1.4.6.tar.bz2

    iptables 源码包安装,编译linux内核

    iptables防火墙

    iptables防火墙iptables防火墙iptables防火墙

    iptables-tutorial-cn-1.1.19.pdf

    iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables

    iptables讲解

    iptables 好用的叫学,非常的厉害iptables 好用的叫学,非常的厉害iptables 好用的叫学,非常的厉害iptables 好用的叫学,非常的厉害iptables 好用的叫学,非常的厉害iptables 好用的叫学,非常的厉害iptables 好用...

    iptables基本命令规则简介

    iptables 是基于内核的防火墙,功能非常强大,iptables 内置了 filter,nat 和 mangle 三张表。filter 负责过滤数据包,包括的规则链有,input,output 和 forward;nat 则涉及到网络地址转换,包括的规则链有,...

    iptables防火墙终结版

    iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版iptables防火墙终结版...

    Linux iptables Pocket Refrence

    - **The iptables-restore and iptables-save(iptables-restore和iptables-save)**:分别用于从文件恢复iptables配置和保存当前iptables配置到文件。 通过以上介绍,我们不仅了解了iptables的基本概念和架构,还...

    iptables

    设置iptables的界面程序

    android流量防火墙iptables原理详解

    Android 流量防火墙 Iptables 原理详解 Android 流量防火墙是一种基于 Iptables 的防火墙解决方案,旨在限制单个应用的联网状态。Iptables 是一个功能强大的 IP 信息包过滤系统,可以用于添加、编辑和删除规则,...

    iptables简介文档

    iptables

    iptables配置(/etc/sysconfig/iptables)操作方法

    下面小编就为大家带来一篇iptables配置(/etc/sysconfig/iptables)操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    iptables详解

    ### iptables详解 #### 一、iptables简介 iptables是一款功能强大的网络管理工具,主要用于Linux操作系统中的数据包过滤和网络地址转换(NAT)。通过iptables,系统管理员能够灵活地定义网络策略,实现对进出网络...

    iptables应用手册详细介绍

    iptables 应用手册详细介绍 iptables 是 Linux 核心里的 Netfilter 子系统所提供的唯一工具程序,用于创建防火墙、网址转换、数据包记录、流量统计等功能。iptables 的接口很可能是 Linux 有史以来最精致的,使得 ...

    Linux使用iptables限制多个IP访问你的服务器

    iptables是一个管理netfilter的工具。 多个连续IP操作 1、拆分成多条命令运行 iptables -A INPUT 192.168.122.2 -j ACCEPT iptables -A INPUT 192.168.122.3 -j ACCEPT iptables -A INPUT 192.168.122.4 -j ACCEPT ...

    iptables tutorial iptables 向导

    对Linux下防火墙配置工具 iptables 的使用作了详细的说明,并给出了丰富的例子

Global site tag (gtag.js) - Google Analytics