CentOS5.1做NAT代理,实现封迅雷,BT,pplive.思科认证

文章作者 100test 发表时间 2009:06:15 07:19:08
来源 100Test.Com百考试题网


  公司最近有要求,需要封一些和办公无关的东西,又不想买硬件防火墙。我只好用iptables实现了,2.6内核编译内核为IPTABLES添加模块(ipp2p l7协议),今天就写最近工作需要的吧,技术浅陋,不敢说原创,借鉴了很多前人的东西,还望各位大虾不要笑话。
  系统安装CentOS5.1 默认内核 Linux-2.6.18-53.el5 ,默认的iptables版本是1.3.5
  需要的安装包,放在/root下吧
  kernel-2.6.18-53.el5.src.rpm //内核的源码包//
  iptables-1.3.5.tar.bz2 //iptables-1.3.5的安装源码包//
  dhcp-3.0.5-7.el5.i386.rpm //dhcp服务所用的包//
  libpcap-0.9.4-11.el5.i386.rpm //很多网络软件所依附的驱动包//
  libpcap-devel-0.9.4-11.el5.i386.rpm //libcap的开发包//
  l7-protocols-2008-02-20.tar.gz //layer7协议的安装包//
  netfilter-layer7-v2.17.tar.gz //内核和iptables的补丁//
  ipp2p-0.99.15.tar.gz // ip2p2的模块,能限制迅雷.BT.QQ旋风和主流的网络电视//
  tcptrack-1.2.0.tar.gz //一个简单的流量查看工具//
  防火墙选择关闭
  关闭SELINUX
  配好网卡IP
  网络配置信息
  外网卡:192.168.0.1 255.255.255.0
  内网卡:192.168.3.1 255.255.255.0
  默认网关: 192.168.0.1
  DNS: 219.141.136.10
  211.94.69.34
  以上配置信息你可根据实际需求来配置,不用照搬
  系统装完用root登陆
  # rpm -qa | grep kernel
  把 kernel-smp*.rpm 和 kernel-smp-devel*.rpm 这两个包卸掉
  # rpm -e --nodeps kernel-smp
  # rpm -e --nodeps kernel-smp-devel
  查看grub.conf 启动项就变成一项啦 否则系统默认启动项是SMP多处理器的,我的机器只有一个CPU,所以就卸掉啦,当然你要是双核或有多个CPU就不要卸载了
  #cat /boot/grub/menu.lst
  # grub.conf generated by anaconda
  #
  # Note that you do not have to rerun grub after making changes to this file
  # NOTICE: You do not have a /boot partition. This means that
  # all kernel and initrd paths are relative to /, eg.
  # root (hd0,0)
  # kernel /boot/vmlinuz-version ro root=/dev/hda1
  # initrd /boot/initrd-version.img
  #boot=/dev/hda
  default=0
  timeout=1
  splashimage=(hd0,0)/boot/grub/splash.xpm.gz
  hiddenmenu
  title CentOS (2.6.18-53.el5)
   root (hd0,0)
   kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/1
   initrd /boot/initrd-2.6.18-53.el5.img
  修改SSH远程启用root登陆
  # vi /etc/ssh/sshd_config
  #PermitRootLogin yes 找到这句把前面的#注释去掉 保存退出
  注意:因为iptables我们以后要配的 所以安装的时候选择不启用,也就是说你现在的机器INPUT、OUTPUT都是ACCEPT 如果你不是选择防火墙使你SSH连接不上,可以停掉,反正我们等下升级完它后还是会自己写脚本的 否则就没升级它的必要啦
  现在我们需要关闭些不重要的服务
  #ntsysv
  只保留以下几个服务就够了,其他都不选
  crond
  microcode_ctl
  network
  syslog
  sshd
  选好后保存退出
  重启 #reboot
  好,以上步骤都是在主机上做的,以后我们可以终端SSH上去。
  开工!!!
  解开所有压缩包
  # tar zxvf ipp2p-0.99.15.tar.gz -C /usr/src/
  # tar zxvf l7-protocols-2008-02-20.tar.gz -C /usr/src/
  # tar zxvf netfilter-layer7-v2.17.tar.gz -C /usr/src/
  # tar xvjf iptables-1.3.5.tar.bz2 -C /usr/src/
  修正rpm包安装key警告问题
  # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
  建立内核源码包安装所需用户
  # useradd mockbuild
  安装源码包 考一份内核到 /usr/src/linux-2.6.18做编译使用,如果编译失败 可以删除后再考新的 所以不建议做软连接操作
  # rpm -ivh kernel-2.6.18-53.el5.src.rpm
  # cd /usr/src/redhat/SPECS
  # rpmbuild -bp --target=i686 kernel-2.6.spec
  # cp -a /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686 /usr/src/linux-2.6.18
  修改拷贝的内核与当前系统内核版本一致(很重要,否则编译出来的模块不能被内核所使用)
  # cd /usr/src/linux-2.6.18
  # vi Makefile
  修改 EXTRAVERSION = -prep
  该成 EXTRAVERSION = -53.el5
  保持跟uname -r 的版本一致 检测一下
  # uname -r
  2.6.18-53.el5
  # head -n4 Makefile
  VERSION = 2
  PATCHLEVEL = 6
  SUBLEVEL = 18
  EXTRAVERSION = -53.el5
  # make mrproper
  该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。
  #make oldconfig
  该命令是生成就的内核配置文件,运行完后就会有.config文件了
  好了,现在为内核打补丁并添加模块
  设置内核和iptables的环境变量。

相关文章


思科帮助企业开展协作将安全服务扩展到云思科认证
思科客户利用网络提高移动性与协作能力思科认证
以太网光纤通道渐成热点业界仍持观望态度思科认证
广域网优化与否直接关系到虚拟化应用成败思科认证
CentOS5.1做NAT代理,实现封迅雷,BT,pplive.思科认证
思科预计2013年网络视频流量将占90%总流量思科认证
着眼账号设置让网络控制更加高效思科认证
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛