分类: LINUX
2008-03-22 09:58:04
时下拥有两台以上台式机的家庭已经为数不少,退役下来的老机器食之无味,弃之可惜。其实你完全可以利用它作为一台局域网服务器,在晚饭后呼朋喝友,喊上邻居,拉几条网线,搬上笔记本电脑一起对战 CS 和帝国时代,或者利用代理服务器共享上网。跟我来一起动手,搭建一个简单的 Linux 局域网服务器吧。
Linux 系统对服务器的要求相当低,笔者用赛扬 466CPU、128MB 内存微机作服务器,完全可以为 50 台单机服务,速度很快。如果采用 PⅢ1G 的专业服务器,理论上甚至可以同时满足 250 个用户的需要。
首先,到 或者国内的相关网站下载 Redhat Linux 的最新版本,此系统有类似 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 通外部的地址。