時下擁有兩台以上台式機的家庭已經為數不少,退役下來的老機器食之無味,棄之可惜。其實你完全可以利用它作為一台區域網路伺服器,在晚飯後呼朋喝友,喊上鄰居,拉幾條網線,搬上膝上型電腦一起對戰 CS 和帝國時代,或者利用Proxy 伺服器共用上網。跟我來一起動手,搭建一個簡單的 Linux 區域網路伺服器吧。
Linux 系統對伺服器的要求相當低,筆者用賽揚 466CPU、128MB 記憶體微機作伺服器,完全可以為 50 台單機服務,速度很快。如果採用 PⅢ1G 的專業伺服器,理論上甚至可以同時滿足 250 個使用者的需要。
首先,到 http://www.redhat.com 或者國內的相關網站下載 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 Proxy 伺服器軟體進行配置了。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 通外部的地址。