前提很明确,在中小型企业的内部网络中用iptables做一个简单的NAT服务器共享上网,由于网络流量的限制使用ipp2p模块禁止P2P下载保证日常工作的正常。
准备工作:
安装好Slackware10.2,升级内核至2.6.1*,不保证在2.4内核下成功应用。
下载附件:
iptables-1.3.3.tar.bz2 http://www.netfilter.org/
l7-protocols-2006-04-09.tar.gz http://l7-filter.sourceforge.net/
netfilter-layer7-v2.1.tar.gz http://l7-filter.sourceforge.net/
ipp2p-0.8.0.tar.gz http://ipp2p.org/
HTML 代码:
# wget http://ftp.netfilter.org/pub/iptables/iptables-1.3.5.tar.bz2
# wget http://superb-west.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.2.tar.gz
# wget http://superb-west.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2006-06-03.tar.gz
# wget http://ipp2p.org/downloads/ipp2p-0.8.0.tar.gz
# tar xvf iptables-1.3.5.tar.bz2 -C /usr/src/
# ln -s /usr/src/iptables-1.3.5
# tar xvf l7-protocols-2006-06-03.tar.gz -C /usr/src/
# tar xvf netfilter-layer7-v2.2.tar.gz -C /usr/src/
# tar xvf ipp2p-0.8.0.tar.gz -C /usr/src/
然后开始给内核打上补丁,然后重新编译内核。
HTML 代码:
# cd /usr/src/
linux
# patch -p1
< ../netfilter-layer7-v2.2/kernel-2.6.13-2.6.16-layer7-2.2.patch
# make menuconfig
Networking --->
Networking options --->[*] Network packet filtering (replaces ipchains) --->
IP: Netfilter Configuration --->
<M> Layer 7 match support (E
XPERIMENTAL)
[*] Layer 7 de
bugging output
# time make –j 2
# make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2614
# lilo
# reboot
Reboot以后给iptables打上补丁。
HTML 代码:
# cd /usr/src/iptables
# patch -p1 < /usr/src/netfilter-layer7-v2.2/iptables-layer7-2.2.patch
# chmod 755 extensions/.layer7-test
# export KERNEL_DIR=/usr/src/linux
# export IPTABLES_DIR=/usr/src/iptables-1.3.5/
# make PREFIX=/usr/local/iptables/ LIBDIR=/lib/iptables/ BINDIR=/sbin
# make PREFIX=/usr/local/iptables/ LIBDIR=/lib/iptables/ BINDIR=/sbin install
然后是安装l7-filter协议文件:
HTML 代码:
cd /usr/src/l7-protocols-2006-06-03/
Make install
只是CP了几个文件到/etc/里面,最后一步就是安装ipp2p了。
HTML 代码:
# cd /usr/src/ipp2p-0.8.0/
# vi Makefile
:36
ifeq ($(IPTABLES_SRC),)
IPTABLES_SRC = /usr/src/iptables-1.3.5
endif
# make
# # cp libipt_ipp2p.so /usr/local/lib/iptables/
# insmod ipt_ipp2p.o
# depmod -a
# cp libipt_ipp2p.so /lib/iptables/
# insmod ipt_ipp2p.ko
# depmod -a
这个时候应该就OK了,
# iptables -m layer7 --help
# iptables -m ipp2p --help