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] &nb! sp;
获取: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 si! d/main l ibncurses5-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_i 386.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
--0! 5: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-20050! 614# KERNEL_DIR=/usr/src/linux IPTABLES_DIR=/root/iptables-1.3! .1 ./run me 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 supp! ort &n! bsp; &nb sp;
<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 sour! ce 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点可以上网,其他时间不可以

没有评论:
发表评论