电脑技术学习

用FreeBSD构建家庭网络世界(4)

dn001

第五章 配置成代理服务器

使用教育网的朋友经常遇到一种情况就是不能直接访问国外的网站,很多人都知道只要能够找到一个出国代理服务器就能够间接的访问国外的站点了;另一些情况恰好相反,比如在一些企业和学校内部的重要服务器设置为只能通过内部IP地址才能访问,外部IP地址一律拒绝,如果遇到公司员工急需公司内部的文件或者在校学生急需查询自己图书馆的书目借还情况却不在公司内部或学校内部,那他们如何利用身边的网络获得他们想要的信息资料呢?这种情况依然得求助于代理服务器。Squid就是一款运行在Linux、Unix平台上的优秀的代理服务器软件。以外部网络通过代理服务器访问内部网络为例,首先代理服务器必须拥有一个企业或学校内部的IP地址,安装配置squid成功后,拥有外部IP的电脑只需要把IE浏览器的HTTP代理服务器设置为该服务器IP地址和指定的端口后就可以借用代理服务器的IP地址自由访问内部WEB服务器了。安装配置squid服务器过程如下:

首先到 http://www.squid-cache.org/上下载该软件,还是用FTP将下载的squild软件上传到服务器,这里以2.4版为例。

#tar –zxvf squid-2.4.STABLE7-src.tar.gz /*解压缩软件包*/

#cd squid-2.4.STABLE7-src /*进入解压目录*/

#./configure --prefix=/usr/local/squid /*配置安装目录*/

#make /*编译连接*/

#make install /*安装拷贝*/

#ee /usr/local/squid/etc/squid.conf /*修改/usr/local/squid/etc/squid.conf文件*/

利用ee编辑器的查找命令Ctrl+y搜索“http_port 3128”将找到”#http_port 3128”字符串,将其前面的注释的“#”号去掉并把“3128”修改为代理服务器的端口,这里假如是8080,那么修改后为“http_port 8080”;接下来搜索“acl all src”,会找到字符串“acl all src 0.0.0.0/0.0.0.0”,现在把将它改为” acl all src 0.0.0.0-255.255.255.255/255.255.255.255”,修改的目的是为了让源主机地址没有限制;最后查找“http_access deny all”,将该字符串改为“http_access allow all”后就可以从任何地方使用这个代理服务器了,存盘退出这一步就算结束了。

随便创建一个用户来运行Squid,因为Squid出于安全考虑也不让root用户运行。这里为假设用户名就取为“squid”。

# adduser squid /*添加用户”squid”*/

# cd /usr/local/squid /* 进入安装目录*/

#chown squid * /*将这个目录下所有文件的归属设置为用户squid */

#exit /*退出root管理员的登陆*/

以squid登陆后,出现“$”提示符。

$/usr/local/squid/bin/squid –z /*建立缓存目录*/

$/usr/local/squid/bin/squid /*启动squid服务器*/

接下来就可以在客户端的IE浏览器中设置HTTP代理服务器IP为这台服务器的IP,端口为前面所设置的8080,如图16所示。确定之后输入一个你以前不能进入的网址看看是不是已经发生变化了。

第六章 收 场

现在已经把我们老机配置成功能强大的网关服务器、FTP服务器、文件服务器、Apache+PHP+Mysql服务器以及代理服务器,但是一旦我们重新启动了电脑有些服务却不能自动启动,所以我们还必须作一个类似于Dos中的Autoexec.bat一样自动批处理文件。这个文件不是象DOS一样放在根目录而且系统指定了一个特殊的目录――“/usr/local/etc/rc.d”,如果你没有找到这个目录可以自己创建,现在我们在这个目录下面创建一个文本文件start.sh,该文件名字可以任取。

写入如下内容

/usr/local/apache/bin/apachectl start

#启动apache服务器

/usr/local/mysql/bin/safemysqld &

#启动mysql服务器

/usr/local/samba/smbd –D

/usr/local/samba/nmbd –D

#启动samba服务器

/usr/local/squid/bin/squid

#启动squid服务器

然后我们必须让这个文件具有可执行的属性:

#chmod +x /usr/local/etc/rc.d/start.sh /*给予start.sh执行权限*/

经过这样整理,可能已经花去你半天的时间了,看到你本已经淘汰的电脑现在已经成为身兼多职的服务器,是不是喜上眉梢了。其实在FreeBSD上能提供的服务还远不止以上这些,它作为一个网络操作系统可以在小到局域网大到互联网的环境中充当关键角色,不过Mail服务、News服务、DNS服务、DHCP等功能对于局域网用户用处不大所以就没有介绍,如有兴趣的话可以看看FreeBSD安装光盘自带的帮助文件。

在配置的过程中难免会有些不顺利,只要你认真思考这些障碍产生的原因都不难加以解决。比如我就遇到在拔掉光驱之后,FreeBSD在启动的时候经常在一个ATA的设备处停顿几分钟才继续启动,考虑到可能是FreeBSD在查找这个并不存在的IDE设备的耽误了时间,于是便进入BIOS中在“Chipset feature setup”中把“Onboard pci”的值由缺省的“Both”修改为“Primary”,取消了第二个IDE接口,结果立马解决了这个问题,希望大家也能顺利利用自己的智慧解决一些配置中的问题。

参考书目

慷齐资讯,2000.9,FreeBSD & Windows集成组网实务,中国铁道出版社

e benM.;UrbanMichael、tai manB.;TiemannBrian,2002,FreeBSD技术内幕,机械工业出版社

仲进平、寿加炎,2001,PHP+MySQL网络开发技术,人民邮电出版社

Bei Si;BainesDominic,2000.10,Samba技术内幕,机械工业出版社

ArnoldMark;AlmeidaJeff,2001,APACHE系统管理指南,清华大学出版社
里 Questions 则回答你关于FreeBSD的问题。

标签: