随着现在电脑的普及和更新换代,越来越多的家庭已经有了好几台电脑,上网的家庭也越来越多,于是经常会出现好几台电脑想同时上网的情况,这样的话必须让其中一台电脑安装两块网卡作为网关服务器,大部分的人会选择Windows2000作为该服务器的操作系统,因为配置起来非常简单,而同时这台服务器还可以继续充当普通的工作站使用,但是这样一台服务器的配置一般来说是家里的“主力”,否则跑Win2000会非常慢,而且为了能让其他的电脑能够随时上网的话它还必须24小时不间断的工作,大家都知道如今主流配置的电脑功耗都很大,这样的话为此支付电费也将是个不小的数额,再说让你爱机连轴转你也不舍得对么?加上目前蠕虫满天飞,一个不小心中招了就麻烦了,因为这将经常导致网络无法正常使用,对于家庭用户可能是小事,但对于一些科研、企事业单位来说,网络也许一分钟都不能断的。而同时,一些若干年以前被追星捧月的老电脑如今却大多是被冷落在墙角,这些机器是基本上跑不了Win2000,所以我们无法用传统的方法来利用它发挥余热,不过有了FreeBSD操作系统,一切都不同了。
FreeBSD诞生于386BSD计划,该计划由Bill Jolitz等研究人员发起,旨在将Unix从当时昂贵的UNIX服务器移植到普通X86平台的PC机上运行,后来又有了另三个参与者-Nate Williams, Rod Grimes和Jordan K. Hubbard加入了该计划,他们都决定继续这项非常有意义的工作,后来他们采用由David Green man起的“FreeBSD”作为系统的新名字,因为经过他们的努力,从此就有了一种任何人都可以自由使用的Unix操作系统,Free就是只有的意思。FreeBSD是多用户操作系统,FreeBSD全面支持TCP/IP协议,从1993年12月FreeBSD 1.0版本正式发布到如今的FreeBSD5.X浮出水面,该操作系统超级的稳定性、可操作性、高效率、安全性、和对系统的低依赖性已经吸引了很多用户,在熟悉了FreeBSD之后,就不会有人怀疑这个系统的性能了,它已经是Internet上非常流行的一种网络操作系统,著名的Yahoo、Hotmail、163电子邮局等等都是用它作为系统平台。说了这么多大家肯定已经等不急了,下面马上进入正题-怎么利用FreeBSD4.5将一台老掉牙的配置为奔腾100CPU、16M EDO内存、850M硬盘的主机(从二手电脑城购买大概150元左右,486也行)变成稳定、高速的网关服务器、FTP服务器、文件服务器、Apache+PHP+Mysql服务器以及功能强大的代理服务器,让老机重唤青春。
第一章:安装FreeBSD
首先你最好要有FreeBSD的安装光盘,你可以从软件商店里面花10块钱买到,也可以从www.freebsd.org上免费下载三张安装光盘的第一张ISO镜像文件然后再将它刻录成光盘。FreeBSD还支持很多安装介质,比如Ftp、NFS等,但都不如光盘保险。接着可以从别的台式机上借过来光驱、键盘、显示器给该主机装上,把主板BIOS设置为从光驱引导,如果是486电脑,主板可能不支持光驱启动这个时候你可以用光盘上floppies目录里面的boot.flp和kern.flp这两个软盘镜像文件制作两张启动软盘,制作过程请参考光盘上的readme.txt文本,启动时候先插boot盘再按提示插kern盘引导。正常引导之后我们可以看到图1的画面。
图1
为了简单起见直接选择第一项“skip kernel configuration and continue with installation”忽略内核配置继续安装,如果选择第二项系统将进入一个简单内核的配置界面,在那里可以去除一些你电脑里面没有的设备,比如SCSI设备、USB设备等等,这样的好处就是精简了系统,减少了内核的大小也能缩短系统的启动检测硬件的时间。接下来的图2为选择安装方式,我们选择“Express”模式进行安装,这和“Standard”模式的主要区别在于在拷贝完文件之后不会要求你立刻设置网络、用户等信息,所以是给没有耐心的人的选项,此处选择这个模式的目的是不让安装系统设置网卡,因为网卡要到后面通过单独设置“/etc/rc.conf”来实现。
图2
图3
图4
图3显示的是FreeBSD自带的Fdisk硬盘分区编辑器,由于我的硬盘是个空盘,只显示了一个名为“unused”的未使用分区,如果硬盘上还有DOS或NTFS分区的话在这里均能看到,如果硬盘已经没有空余空间,请先用Pqmagic软件等分区工具事先划分出来一块未使用的空间。有了一定大小的“unused”分区后就可以选中这个“unused”的分区然后按“C”键在该分区上创建FreeBSD分区,FreeBSD称之为“Slice”,接着我们看到图4的画面,按“Q”键保存并进入下一步。
图5
图5显示让我们选择是否安装系统引导管理器,如果你的电脑以前有操作系统就选择第一项安装“Boot Manager”,系统将把Lilo程序安装到硬盘的MBR(主引导记录),开机Lilo将第一个运行来引导硬盘上的操作系统。由于这块硬盘只需要这一个系统所以不要安装系统引导管理器,所以选择模式“Standard”,这将把FreeBSD的引导模块加入硬盘的MBR。
图6
接下来是在刚才创建的“slice”上划分FreeBSD文件系统的界面,对于对Linux和UNIX不熟悉的用户建议让FreeBSD自动创建这些文件系统,简单的按一下“A”键就可以让FreeBSD自动划分空间了,如图6。
图7
再下来的安装模式选“Minimal”最小化安装模式,如图7所示,这样仅仅安装系统必须的143个包,节约硬盘空间和安装时间,其实最小安装已经包含了不少服务,比较实用Ftp、Telnet、sendmail、网卡驱动等都已经可以使用了。确认后系统会提示你数据将要丢失,继续确认后,出现选择安装介质的界面,选择”CD/DVD”从光驱安装后马上便开始安装拷贝过程,视电脑速度快慢,安装时间不同,在该CPU为P100的电脑上8分钟就完成了,推出安装重新重新启动,安装就全部结束了。
第二章:配置成为网关服务器
网关服务器是一台连接外部Internet网和内部家庭网络的计算机,它一般插有两块网卡,一块设置为外网卡,和ISP连接,一般有固定IP地址,如“202.115.65.225”;另外一块设为内网卡,IP地址设置为虚拟的地址,用得比较多的是“192.168.0.1”,它连接家里的HUB,使服务器成为家中局域网的一员。家中其他的电脑只要将IP设为“192.168.0.*”,“*”表示2-254的数字,注意不要两台电脑的IP地址设为相同,否则他们都将无法使用。把子网掩码设为“255.255.255.0”,网关设为“192.168.0.1”就都通过网关服务器上网了。接下来的内容讲述如何利用FreeBSD将该服务器配置成为能让所有客户机同时上网的网关服务器。
首先,在电脑主机上要有两块网卡,在此例中是两块RTL8029芯片PCI网卡。由于FreeBSD实现网关功能需要防火墙的支持,而不巧的是内核默认并没有配置防火墙支持,因此得先重新配置并编译内核才行。内核源代码目录在/usr/src/sys/i386下面,最小化安装时它并没有被安装,所以必须先安装。
第一步:安装内核源代码
启动FreeBSD,以root用户登陆,以下“#”开头的均是在电脑上执行的命令,输入命令注意大小写。看到“#”提示符之后运行
#/stand/sysinstall
命令执行后会出现图8的画面,我们选择“Index”后按空格键,在接下来的界面分别用空格键选“Distributions,Adding”、“Src”,在最后出现的界面仅仅选择“Sys”,这时放入FreeBSD的安装光盘,用“tab”键切换到“OK”按钮上回车就会将内核的源代码拷贝到相应的目录了。
图8
#cd /usr/src/sys/i386/conf /*现在可以进入内核源代码配置文件GENERIC所在目录了*/
#ee GENERIC /*用ee编辑器编辑GENERIC文件*/
加入如下内容
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE
options IPDIVERT
然后按ESC+回车保存退出
#config GENERIC /*用修改后的配置文件配置内核*/
# cd ../../compile/GENERIC
#make depend all install /*重新编译内核*/
接下来是漫长的编译内核过程,在该电脑上执行了1个小时左右之后回到“#”命令提示符模式,这样是成功配置完成的标志,用“reboot”命令重新启动电脑。
#reboot
第二步:配置网络
由于我们在安装FreeBSD的时候并没有配置网卡,重新启动电脑后的工作就是先配置网卡,以管理员“root”身份登陆后运行“ifconfig”命令察看目前检测到的网卡状态
#ifconfig
屏幕上会显示类似如下的结果:
ed0: flags=8843 mtu 1500
inet6 fe80::5054:abff:fe1e:8895%ed0 prefixlen 64 scopeid 0x1
ether 52:54:ab:1e:88:95
ed1: flags=8843 mtu 1500
inet6 fe80::2e0:4cff:fe80:132c%ed1 prefixlen 64 scopeid 0x2
ether 00:e0:4c:80:13:2c
lp