| Debian 3.1下升级iptables到1.3.1并重编译内核后侧底封杀p2p协议软件----彻底封杀BT |
| 作者:情灭缘尽 文章来源:www.routerbbs.com 点击数: 更新时间:2005-6-17 9:07:27 |
|
|
|
|
|
|
DEBIAN 3.1重编译内核后封杀p2p协议来封彻底封bt
这里纠正一个错误,中间在接kernel的原代码的时候报错了,我当时没管,都后来才改了系统时间,我自己又重新解压了一次的,这里没说,现在补充一下
lcnja:/# uname -a Linux lcnja 2.6.11-1-386 #1 Fri May 20 06:15:52 UTC 2005 i686 GNU/Linux 看一下,我现在已经是2.6.11-1的内核了,已经非常的新了,但是因为iptables的最新版需要给内核打补丁,所以我决定重新编译内核 因为我的系统是通过debian的网络安装上去的。n多的东西没装,现在我们来装一下
lcnja:/# apt-get install make automake gcc g++ kernel-source-2.6.11 kernel-package ncurses-dev fakeroot wget bzip2 make patch 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 make 已经是最新的版本了。 注意,我选了 automake1.4 而非 automake automake1.4 已经是最新的版本了。 gcc 已经是最新的版本了。 g++ 已经是最新的版本了。 注意,我选了 libncurses5-dev 而非 ncurses-dev bzip2 已经是最新的版本了。 make 已经是最新的版本了。 将会安装下列的额外的软件包: dpkg dpkg-dev libncurses5 libncurses5-dev 建议安装的软件包: gnupg debian-keyring libdb3-dev docbook-utils libqt3-mt-dev ed 下列【新】软件包将被安装: dpkg-dev fakeroot kernel-package libncurses5-dev patch 下列的软件包将被升级: dpkg kernel-source-2.6.11 libncurses5 wget 共升级了 4 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 40 个软件未被升级。 需要下载 40.8MB 的软件包。 解压缩后会消耗掉 7700kB 的额外空间。 您希望继续执行吗?[Y/n]y 获取:1 http://mirrors.geekbone.org sid/main dpkg 1.13.9 [1781kB] 获取:2 http://mirrors.geekbone.org sid/main libncurses5 5.4-6 [289kB] 获取:3 http://mirrors.geekbone.org sid/main wget 1.10-1 [412kB] 获取:4 http://mirrors.geekbone.org sid/main patch 2.5.9-2 [96.4kB] 获取:5 http://mirrors.geekbone.org sid/main dpkg-dev 1.13.9 [163kB] 获取:6 http://mirrors.geekbone.org sid/main fakeroot 1.3 [70.4kB] 获取:7 http://mirrors.geekbone.org sid/main kernel-package 9.001 [360kB] 获取:7 http://mirrors.geekbone.org sid/main kernel-package 9.001 [360kB] 获取:8 http://mirrors.geekbone.org sid/main kernel-source-2.6.11 2.6.11-6 [36.4MB] 获取:9 http://mirrors.geekbone.org sid/main libncurses5-dev 5.4-6 [1247kB] 下载 40.8MB,耗时 2m34s (264kB/s) tar: ./postinst:时间戳 2005-06-12 23:28:54 是将来的 153109 秒之后 tar: ./preinst:时间戳 2005-06-12 23:28:54 是将来的 153109 秒之后 tar: ./prerm:时间戳 2005-06-12 23:28:54 是将来的 153109 秒之后 tar: ./postrm:时间戳 2005-06-12 23:28:54 是将来的 153109 秒之后 tar: ./conffiles:时间戳 2005-06-12 23:28:54 是将来的 153109 秒之后 tar: ./md5sums:时间戳 2005-06-12 23:28:57 是将来的 153112 秒之后 tar: ./control:时间戳 2005-06-12 23:28:57 是将来的 153112 秒之后 tar: .:时间戳 2005-06-12 23:28:57 是将来的 153112 秒之后 (正在读取数据库 ... 系统当前总共安装有 19003 个文件和目录。) 正预备替换 dpkg 1.10.28 (使用 .../archives/dpkg_1.13.9_i386.deb) ... 正在解压缩将用于更替的包文件 dpkg ... 正在设置 dpkg (1.13.9) ... 正在安装新版本的配置文件 /etc/dpkg/origins/debian ... Removing /usr/info symlink ... Adding `local diversion of /usr/bin/md5sum.textutils to /usr/bin/md5sum' Adding `local diversion of /usr/share/man/man1/md5sum.textutils.1.gz to /usr/share/man/man1/md5sum.1.gz'
tar: ./shlibs:时间戳 2005-06-13 22:43:34 是将来的 236784 秒之后 tar: ./postinst:时间戳 2005-06-13 22:44:08 是将来的 236818 秒之后 tar: ./control:时间戳 2005-06-13 22:44:06 是将来的 236816 秒之后 tar: ./postrm:时间戳 2005-06-13 22:44:08 是将来的 236818 秒之后 tar: .:时间戳 2005-06-13 22:44:08 是将来的 236818 秒之后 (正在读取数据库 ... 系统当前总共安装有 19004 个文件和目录。) 正预备替换 libncurses5 5.4-4 (使用 .../libncurses5_5.4-6_i386.deb) ... 正在解压缩将用于更替的包文件 libncurses5 ... 正在设置 libncurses5 (5.4-6) ...
(正在读取数据库 ... 系统当前总共安装有 19005 个文件和目录。) 正预备替换 wget 1.9.1-12 (使用 .../archives/wget_1.10-1_i386.deb) ... 正在解压缩将用于更替的包文件 wget ... 选中了曾被取消选择的软件包 patch。 正在解压缩 patch (从 .../patch_2.5.9-2_i386.deb) ... tar: ./conffiles:时间戳 2005-06-12 23:29:01 是将来的 153107 秒之后 tar: ./md5sums:时间戳 2005-06-12 23:29:01 是将来的 153107 秒之后 tar: ./control:时间戳 2005-06-12 23:29:01 是将来的 153107 秒之后 tar: .:时间戳 2005-06-12 23:29:01 是将来的 153107 秒之后 选中了曾被取消选择的软件包 dpkg-dev。 正在解压缩 dpkg-dev (从 .../dpkg-dev_1.13.9_all.deb) ... 选中了曾被取消选择的软件包 fakeroot。 正在解压缩 fakeroot (从 .../archives/fakeroot_1.3_i386.deb) ... tar: ./control:时间戳 2005-06-13 14:38:02 是将来的 207647 秒之后 tar: .:时间戳 2005-06-13 14:38:02 是将来的 207647 秒之后 选中了曾被取消选择的软件包 kernel-package。 正在解压缩 kernel-package (从 .../kernel-package_9.001_all.deb) ... tar: ./control:时间戳 2005-06-12 06:05:26 是将来的 90490 秒之后 tar: ./postinst:时间戳 2005-06-12 06:03:37 是将来的 90381 秒之后 tar: .:时间戳 2005-06-12 06:05:26 是将来的 90490 秒之后 正预备替换 kernel-source-2.6.11 2.6.11-5 (使用 .../kernel-source-2.6.11_2.6.11-6_all.deb) ... 正在解压缩将用于更替的包文件 kernel-source-2.6.11 ... tar: ./preinst:时间戳 2005-06-13 22:44:08 是将来的 236806 秒之后 tar: ./control:时间戳 2005-06-13 22:44:06 是将来的 236804 秒之后 tar: .:时间戳 2005-06-13 22:44:08 是将来的 236806 秒之后 选中了曾被取消选择的软件包 libncurses5-dev。 正在解压缩 libncurses5-dev (从 .../libncurses5-dev_5.4-6_i386.deb) ... 正在设置 wget (1.10-1) ... 正在安装新版本的配置文件 /etc/wgetrc ...
正在设置 patch (2.5.9-2) ... 正在设置 dpkg-dev (1.13.9) ... 正在设置 fakeroot (1.3) ...
正在设置 kernel-package (9.001) ... 正在设置 kernel-source-2.6.11 (2.6.11-6) ...
正在设置 libncurses5-dev (5.4-6) ... lcnja:/# lcnja:/# cd /usr/src/ lcnja:/usr/src# ls kernel-source-2.6.11.tar.bz2 lcnja:/usr/src# tar xvjf kernel-source-2.6.11.tar.bz2 因为这里太长,所以就不cp过来了,我们继续 创建一个link lcnja:/usr/src# ls kernel-source-2.6.11 kernel-source-2.6.11.tar.bz2 lcnja:/usr/src# ln -s ./kernel-source-2.6.11 ./linux lcnja:/usr/src# ls -l 总用量 35492 drwxr-xr-x 18 root root 4096 2005-06-12 06:03 kernel-source-2.6.11 -rw-r--r-- 1 root root 36295899 2005-06-12 06:05 kernel-source-2.6.11.tar.bz2 lrwxrwxrwx 1 root src 22 2005-06-11 05:01 linux -> ./kernel-source-2.6.11 lcnja:/usr/src#
下面我们来给内核和iptables打补丁 打开http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/我们找到最新的快照 http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050614.tar.bz2
我们下载它 lcnja:/usr/src/linux# cd /root/ lcnja:~# wget http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050614.tar.bz2 --05:05:33-- http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050614.tar.bz2 => `patch-o-matic-ng-20050614.tar.bz2' 正在解析主机 ftp.netfilter.org... 213.95.27.115, 2001:780:0:1d:20d:93ff:fe9b:e443 Connecting to ftp.netfilter.org|213.95.27.115|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:474,196 (463K) [application/x-tar]
100%[====================================>] 474,196 137.78K/s ETA 00:00
05:05:47 (137.60 KB/s) - `patch-o-matic-ng-20050614.tar.bz2' saved [474196/474196]
lcnja:~# 然后我们打开 http://www.netfilter.org/downloads.html 找到最新的iptables 然后我们下载它
lcnja:~# wget http://www.netfilter.org/files/iptables-1.3.1.tar.bz2 --05:07:10-- http://www.netfilter.org/files/iptables-1.3.1.tar.bz2 => `iptables-1.3.1.tar.bz2' 正在解析主机 www.netfilter.org... 213.95.27.115, 2001:780:0:1d:20d:93ff:fe9b:e443 Connecting to www.netfilter.org|213.95.27.115|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:180,670 (176K) [application/x-tar]
100%[====================================>] 180,670 87.82K/s
05:07:13 (87.66 KB/s) - `iptables-1.3.1.tar.bz2' saved [180670/180670]
lcnja:~#
然后我们把那个patch的包打开 lcnja:~# tar xvjf patch-o-matic-ng-20050614.tar.bz2 :55:29 是将来的 348470 秒之后 tar: patch-o-matic-ng-20050614/addrtype/linux-2.6/net:时间戳 2005-06-15 05:55:29 是将来的 348470 秒之后 tar: patch-o-matic-ng-20050614/addrtype/linux-2.6:时间戳 2005-06-15 05:55:29 是将来的 348470 秒之后 patch-o-matic-ng-20050614/addrtype/info tar: patch-o-matic-ng-20050614/addrtype:时间戳 2005-06-15 05:55:29 是将来的 348470 秒之后 tar: patch-o-matic-ng-20050614:时间戳 2005-06-15 05:55:28 是将来的 348469 秒之后 看到了吧 上面开始报错了,因为时间不对 我们来设置一下时间 lcnja:~# date 061605422005 四 6月 16 05:42:00 CST 2005 现在时间设置对了 我们再解压缩一次 lcnja:~# tar xvjf patch-o-matic-ng-20050614.tar.bz2 下面非常正常的解压了,我们继续 下面我们来解压缩 iptables-1.3.1.tar.bz2 lcnja:~# tar xvjf iptables-1.3.1.tar.bz2 然后我们来给iptables打补丁 lcnja:/usr/src/linux# cd /usr/src/linux ; make mrproper lcnja:/usr/src/linux# make mrproper CLEAN scripts/basic CLEAN scripts/kconfig CLEAN scripts/lxdialog CLEAN .config .config.old include/linux/autoconf.h lcnja:/usr/src/linux# make menuconfig 什么都不动,直接选择exit退出,只是记得保存一下,否则将来你就会出错的哦 然后输入 lcnja:~/patch-o-matic-ng-20050614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/iptables-1.3.1 ./runme ipp2p
lcnja:~/patch-o-matic-ng-20050614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/iptables-1.3.1 ./runme time
lcnja:~/patch-o-matic-ng-20050614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/ iptables-1.3.1 ./runme iprange
lcnja:~/patch-o-matic-ng-20050614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/ iptables-1.3.1 ./runme string
lcnja:~/patch-o-matic-ng-20050614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/ iptables-1.3.1 ./runme time
然后我们到内核设定的 Device Drivers ---> Networking support ---> Networking options ---> Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration --->
我们把最下面的这4个都选上,用上下箭头移动上这个<>里面,然后敲空格选择,都选择为M,M表示模块,是动态加载到内核里面的,*表示装载到内核里面,静态的,速度快,但是内核不可以太大,所以不是必须的东西可以考虑做成模块,动态加载,不要的时候内核自动卸载模块
< > TTL target support < > quota match support < > TIME match support < > IPP2P match support
改了就是下面的 <M> TTL target support <M> quota match support <M> TIME match support <M> IPP2P match support
一路exit退出,到最后的时候选择保存 在这之前,其实我已经把我的内核修改过了,很多的垃圾东西都移除了,比如什么对FDDI,什么对苹果的网络协议,ATM,PPP的东西,因为我不用,大家不要随便动,然后是做服务器的,声音有关的都不要,如果你不用scsi的东西,scsi的全干掉,除非你可以看懂里面的选择是干什么的,反正是我知道自己不用的全部干掉了,包括什么ipv6,用都不用的他还默认加载到内核里,都干掉,但是不懂的不要随便修改文件系统配置,否则系统有启动不了的危险
把里面些没用的专用的厂家硬件的支持全部干掉,除非你是品牌服务器
然后还是一路退出然后保存,然后下面我们就开始来编译内核了,下面是debian官方的方法,比较好,也比较方便,不像rh那样遍个上10遍都不成功,但是也没gentoo的编译那样简单
lcnja:/usr/src/linux# make-kpkg clean lcnja:/usr/src/linux# fakeroot make-kpkg --initrd --append-to-version=lcnja --revision=1.0 kernel_image
下面你可以去逛街泡MM,打牌下棋随便你去干什么,因为这个地方要等很长时间的 如果你的服务器或者用来做nat的机器很差的话,我建议你到一个好的机器上面编译了再cp过来安装,否则够你受的
然后我们在/usr/src目录会看到一个以kernel-image开始头的deb包,我们dpkg -i kernel-image.....然后回车就开始安装最新的内核了
然后我们重新启动,cd 到iptables下面去,make ;make install 然后我们depmod -a 然后就iptables -V看一下版本,你是不的1.3.1的啊,呵呵 lcnja:~# iptables -V iptables v1.3.1 lcnja:~# 然后你一条命令就可以封bt了 iptables -A FORWARD -m ipp2p --bit -j DROP 然后查看一下 iptables -nL
lcnja:~# iptables -A FORWARD -m ipp2p --bit -j DROP lcnja:~# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination DROP all -- 0.0.0.0/0 0.0.0.0/0 ipp2p v0.7.2 --bit 这个就是刚才加进去的东西 Chain OUTPUT (policy ACCEPT) target prot opt source destination lcnja:~#
lcnja:~# iptables -A OUTPUT -m time --timestart 8:00 --timestop 18:00 -j ACCEPT lcnja:~# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination DROP all -- 0.0.0.0/0 0.0.0.0/0 ipp2p v0.7.2 --bit
Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 TIME from 8:0 to 18:0 on all days lcnja:~#
早上8点到晚上18点可以上网,其他时间不可以
|
| 文章录入:dnbm 责任编辑:dnbm |
|
上一篇文章: 双线的负载均衡配置实例 下一篇文章: 缓存代理服务器Squid |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |