用CDlinux做防火墙和上网共享

作者:未知 来源:http://www.wodr.cn 加入时间:2006-4-24

为什么要选用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一样,功能远不止这些,你还可以在其上安装各种代理软件,将其建成功能强大的集防火墙、透明代理为一身的系统。它还会常常被用来维护系统。至于你用它来作什么,全由你决定:)

END

你可能感兴趣的:(linux,防火墙,脚本,测试,文档)