• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

用CDlinux做防火墙和上网共享

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网
  为什么要选用linux?
  因为linux稳定,安全,对计算机硬件要求低。
  
  何为CDlinux?
  CDlinux为在linux基础上制作的,针对光盘运行的linux,但其还可以安装到硬盘、优盘上。详见http://cdlinux.berlios.de/
  
  为什么要选用CDlinux?
  因为CDlinux体积小(仅需20M硬盘空间),易定制(软件包采用标准tgz包),又基本具备完整linux的所有功能,理论上你可以安装任何linux版本的软件,而且内核更新很快(0.4.7版内核为2.4.23,0.4.8版内核为2.4.25),用其做防火墙完全可以满足需要。
  
  硬件配置586,24M内存,40M硬盘两块网卡。
  
  1、先从http://cdlinux.berlios.de/下载cdlinux。然后按其帮助文档将其安装到硬盘上。
  
  2、建立/etc/rc.d/rc.local脚本
  
  内容如下:
  #!/bin/sh
  /etc/rc.d/netshare
  #执行网卡配置
  /etc/rc.d/firewall
  #执行防火墙脚本
  
  3、建立/etc/rc.d/netshare脚本
  
  内容如下:
  #!/bin/sh
  if [ -f \"/etc/dhcpc/dhcpcd-eth0.pid\" ] ; then
  rm /etc/dhcpc/dhcpcd-eth0.pid -rf
  fi
  #eth0为对外网卡,我们的上网方式是动态ip,如果你的不是那得改成......
  #判断是否已经运行过dhcpcd,如果是,删除生成的dhcpcd-eth0.pid文件,重新获得ip地址
  dhcpcd eth0
  ifconfig eth1 192.168.0.254
  #192.168.0.254是对内网关地址,eth1为对内网卡
  if [ -f \"/etc/dhcpc/dhcpcd-eth0.pid\" ] ; then
  rm /etc/dhcpc/dhcpcd-eth0.pid -rf
  fi
  dhcpcd eth0
  
  #我的系统,第一次获得ip好像有些不正常,所以又执行了一次,你看情况吧
  
  4、建立/etc/rc.d/firewall防火墙脚本
  
  防火墙脚本,iptables的功能十分强大,就不给出内容了,你可以参考别人的脚本建立。
  
  
  5、删除系统默认用户ok,并修改root口令,这一步很重要哦,否则........
  
  6、如果为0.4.7版,请将dhcpcd-1.3.22-pl4-cdl.tgz(在586cpu上运行有问题),iptables-1.2.9-cdl.tgz包替换为0.4.8版中的对应包(我没有具体试过,我是在0.4.7基础上修改包的,如果有问题干脆直接用0.4.8版)。
  
  删除用不到的包(必须,因为机子的内存才24M,否则不正常可别怪我没有告诉你),保留以下包:
  
  cce-0.50-20031205-cdl.md(如果希望显示和输入汉字)
  dcron-2.3.3-cdl.tgz(如果想根据时间来控制防火墙,应保留)
  dhcpcd-1.3.22-pl4-cdl.tgz(必须)
  iptables-1.2.9-cdl.tgz(必须)
  kernel-modules-2.4.23-cdl.md(必须)
  smbmount-samba-2.2.8a-cdl.tgz(与网内机子沟通方便,但不利于安全。防火墙配置好后,建议去掉)
  ssh-1.2.33-cdl.tgz(可以进行远程管理)
  system-extra-cdl.tgz(必须)
  
  7、以上的配置完成了,为了以后管理方便,请制作以下脚本:
  
  #!/bin/sh
  chmod +x /etc/rc.d/netshare /etc/rc.d/firewall /etc/rc.d/rc.local /root/NetShareConfig
  
  if [ -f \"/mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz\" ] ; then
  rm /mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz
  fi
  #删除原来的包rc.local-cdl.tgz
  
  if [ -f \"/mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz\" ] ; then
  rm /mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz
  fi
  #
  
  if [ -f \"/mnt/CDlinux/cdlinux/extra/root-cdl.tgz\" ] ; then
  rm /mnt/CDlinux/cdlinux/extra/root-cdl.tgz
  fi
  
  #
  
  tar czPfc /mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz /etc/rc.d/rc.local
  #生成新的包rc.local-cdl.tgz
  tar czPfc /mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz /etc/rc.d/netshare /etc/rc.d/firewall /usr/local/lib
  
  #
  netshare为网卡初始化脚本,firewall为防火墙脚本,lib为库连接文件=>/usr/lib(为CDlinux0.4.7版本iptables的一个bug,在CDlinux0.4.8版本不需要)
  tar czPfc /mnt/CDlinux/cdlinux/extra/root-cdl.tgz /etc/passwd /etc/shadow /root/NetShareConfig
  
  #passwd,shadow为修改过用户后的口令相关文件(很重要),NetShareConfig为本文件自身(否则下次就不能使用了)
  
  将其保存为/root/NetShareConfig
  
  执行sh /root/NetShareConfig (执行后NetShareConfig就具备可执行属性,下次直接执行就可以了),程序会生成以下文件并放置于硬盘cdlinux\\extra目录下
  
  netshare-cdl.tgz
  rc.local-cdl.tgz
  root-cdl.tgz
  
  注意:修改任意配置文件,请保证测试正常后,一定执行本脚本,否则启动后配置文件会丢失。
  
  8、重新启动计算机,看是否一切都正常。
  
  当然,作为linux的CDlinux同标准linux一样,功能远不止这些,你还可以在其上安装各种代理软件,将其建成功能强大的集防火墙、透明代理为一身的系统。它还会常常被用来维护系统。至于你用它来作什么,全由你决定。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网