時下擁有兩台以上台式機的家庭已經為數不少,退役下來的老機器食之無味,棄之可惜。其實你完全可以利用它作為一台局域網服務器,在晚飯後呼朋喝友,喊上鄰居,拉幾條網線,搬上筆記本電腦一起對戰 CS 和帝國時代,或者利用代理服務器共享上網。跟我來一起動手,搭建一個簡單的 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 代理服務器軟件進行配置了。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 通外部的地址。