组网不求人!搭建简易Linux局网服务器
时间:2007-02-17 来源:PHP爱好者
时下拥有两台以上台式机的家庭已经为数不少,退役下来的老机器食之无味,弃之可惜。其实你完全可以利用它作为一台局域网服务器,在晚饭后呼朋喝友,喊上邻居,拉几条网线,搬上笔记本电脑一起对战CS和帝国时代,或者利用代理服务器共享上网。跟我来一起动手,搭建一个简单的Linux局域网服务器吧。
Linux系统对服务器的要求相当低,笔者用赛扬466CPU、128MB内存微机作服务器,完全可以为50台单机服务,速度很快。如果采用PⅢ1G的专业服务器,理论上甚至可以同时满足250个用户的需要。
首先,到www.redhat.com或者国内的相关网站下载Redhat Linux的最新8.0版本,此系统有类似Windows操作界面的X-windows应用程序,操作比较简单。其次,我们要为服务器配备两块网卡,一块接外部的线路,一块接内部网络。Modem接入的配置方式与ADSL有一些不同,本文以ADSL接入为例,其他接入方式可以参考。
软件的安装比较简单,不过在分区时要注意以下几点:VAR分区要大一些,因为所有上网用户的文件,及http发布网站都在这个分区。最好设定一个Temp分区,作为管理员暂存文件使用。选择文件包群时,一定要选择KDE、Squid两个群包。在局域网中发布网站,那么就要选择http。如果你不太懂如何选择,那就全部选择也行,反正影响也不大。
安装过程中要注意:服务器在安装过程中要求输入网卡的IP地址,这个地方要认真选择,笔者的ADSL外部网卡输入的地址是10.89.127.6,子网掩码是255.255.255.0,网关是10.89.127.254。此网卡用于外部接入,并且要求在服务器启动时启用,名称定义为eth0。
局域网的拓扑结构图
内部网关使用的网卡一般使用三类地址,我们可以将它的地址设定为192.168.0.10,同时将子网的掩码设置为255.255.255.0,也要求在服务器启动时启用,名称定义为eth1。两块网的DNS服务地址采用同一个地址,例如笔者设定为202.102.227.68。注意eth0和eth1两个名称不能混,如果启动后发现不一样可以在服务器桌面的Server Configuration(服务配置)网络设定中重新设定。
硬件线路可以采用下面的拓扑结构图,服务器和客户机都接在同一台交换机上。服务器安装完毕后,主要的工作就是对Squid代理服务器软件进行配置了。Squid功能非常强大,但需要修改部分内容才能够正常使用。用高级编辑器打开/etc/squid/squid.conf文件,在1450行左右,有下面两句话:
http_access allow localhost
http_access deny all
第一句是说明可以让本地通过http上网,第二句是禁止其他用户通过本机上网,需要对第二句进行修改,将其改为
http_access allow all
配置完成。Squid代理在服务器启动时默认是关闭的,需要改一下。在服务器桌面图标Server Configuration(服务配置)/start at boot(启动选择)中,将Squid和Ipchains两项前边打上星号,这样,服务器启动时就可以同时启动Squid和Ipchains,也可以单独运行命令setup找到服务器配置项进行上述配置。
至此,服务器已经能够提供WWW的代理服务,不过需要配置的东西仍然很多。比如聊天功能,要特别设定地址欺骗才能进行。将下面的内容添加到/etc/rc.local文件的尾部,然后重新启动服务器。
echo 1 >/proc/sys/net/ipv4/ip_forward
/sbin/ipchains -P forward DENY
/sbin/ipchains -F
/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ -i eth0
这四句是设定地址欺骗的语句,对192.168.0.0至192.168.0.254地址范围实行地址欺骗。eth0是接外部的网卡名称。通过这样的设置,所有的客户机对外就只有一个地址,可以起到防火墙的作用。
在局域网中发布网站比较容易,我们可以使用FTP将已经做好的网页放在\var\www\http下面,就可以了。不过我们仍然需要在服务器桌面图标Server Configuration(服务配置)/start at boot(启动选择)中,将http和wu-ftp前面打上星号。
客户机的设定很简单,它的IP地址必须设定在192.168.0.0至192.168.0.254之间,并且不能设定为与服务器的内部地址相同。我们将客户机的网关设定为服务器的内部网卡的IP地址,端口设定为3128。这是Squid代理中默认的值,用户可以在服务器上重新设定。客户机的DNS可以直接设置为统一的地址,如202.102.227.68。因为客户机采用地址欺骗方式上网,所以可以直接使用ping命令,ping通外部的地址。
php爱好 者站 http://www.phpfans.net php基础|php进阶|php模板.