歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> 中小企業服務器配置方案 第一章(5)

中小企業服務器配置方案 第一章(5)

日期:2017/2/27 11:12:50   编辑:Linux業界

作 者: 湯海京


( E-mail:[email protected] )

第一章 代理接入服務器

第五節 Squid代理服務器


5.1 簡介

 作為一種免費的網絡操作系統,Linux越來越受到廣大網絡愛好者的歡迎,目前因特網(Internet)上運行的主機有相當一部分采用的就是linux操作系統,而且中國已經把linux操作系統作為政府上網年的指定網絡操作系統,種種跡象表明,linux操作系統正在逐漸走向成熟。在本章我將向大家介紹一種能在Linux系統下使用的比較優秀的代理服務器軟件的配置方法。

眾所周知,當今因特網發展速度極其迅猛,IP地址資源非常緊張。而如果您想訪問因特網,共享因特網的豐富資源,您的機器必須擁有一個標准的IP地址。在因特網上,IP地址是識別您的機器的唯一標志。目前,有兩種方式可以讓您的機器擁有標准的IP地址:一種是局域網通過專線接入因特網,您的機器可以擁有靜態的IP地址。所謂靜態IP地址,就是對使用者來說,是固定不變的IP地址,這個IP地址給您使用後,其他人就不能再用了。一種是通過電話線撥號或ISDN撥號等方式接入因特網,您的機器可以在您撥號上網的在線期間從ISP的訪問服務器的IP地址池中獲得一個臨時的標准IP地址,這個IP地址在您下線後就不歸您使用了,而您下次撥號再上網,很可能分配給您的機器的是另外一個臨時的IP地址了。這種臨時分配的IP地址,稱為動態IP地址。無論是靜態地址還是動態地址,在您的機器訪問因特網時,使用起來沒有什麼區別。

 現在因特網發展速度這麼快,而IP地址資源又這麼緊張,這不能不說是一個尖銳的矛盾。雖說Ipv6正在開發中,但遠水不解近渴,好多的企業、公司內部的Intranet現在就想接入因特網這個浩瀚的資源海洋,但又苦於沒有充足的IP地址資源,怎麼辦?還好,有代理服務這個好東西。代理服務是指由一台擁有標准IP地址的機器代替若干沒有標准IP地址(以下稱內部地址)的機器和因特網上的其他主機打交道,提供代理服務的這台機器稱為代理服務器。擁有內部地址的機器想到因特網上查找資料時,先把這個請求發給擁有標准IP地址的代理服務器,由代理服務器把這個請求通過它的標准IP地址發到請求的目標地址。然後目標地址的服務器把返回的結果發回給代理服務器,代理服務器再原封不動的把資料發給最初那台擁有內部IP地址的機器。這樣就完成了一次內部機器訪問因特網的一個過程。若干擁有內部地址的機器就組成了內部網,代理服務器的作用就是勾通內部網和因特網,解決內部網訪問因特網的問題。而且這種代理是不可逆的,因特網上的主機不能訪問任何一台擁有內部地址的機器,這樣又可以保障內部資料的安全性。

能夠完成這種代理功能的服務器軟件有好多,我給大家推薦一種能在linux下使用的比較優秀的代理服務器軟件Squid。之所以說它比較優秀,是因為它可以在代理服務器上作一個很大的緩存,可以把好多常去的網站內容存儲到緩存中,這樣,內部網的機器再訪問那些網站,就可以從緩存裡調用了。這樣一方面可以加快內部網浏覽因特網的速度,這就是所謂的提高客戶機的訪問命中率, 另一方面,Squid不僅僅支持HTTP協議,而且還支持FTP,GOPHER,SSL和WAIS等協議考慮到簡捷實用的原則,我們本章只向大家介紹如何設置HTTP代理,而其他的代理大同小異,各位理解了HTTP的配置也就明白應該如何配置其他的代理了。


5.2 所需資源

5.2.1 所需包
squid-2.3.STABLE1-5.rpm

5.2.2 所需配置文件
/etc/squid/squid.conf 系統自帶,管理員配置

5.2.3 相關工具



5.3 配置方案

/etc/squid/squid.conf
說明:squid主配置文件
源文件:

acl deny_ip_01 dst 1.1.1.1
http_access deny deny_ip_01
# 以上兩行是基於IP的訪問控制
acl deny_url_01 url_regex http://www.www.www
http_access deny deny_url_01
# 以上兩行是基於URL的訪問控制
http_port 3128 # HTTP協議代理默認代理端口
cache_mem 32 MB #開劈一塊內存區域作為緩沖
cache_dir ufs /home/squid/cache 1024 16 256
# 開劈一塊硬盤空間,作為硬盤緩沖區,這塊區域的分布是連
續的,邏輯關系由管理員設定
cache_access_log /var/log/squid/access.log
# 該log文件是用來描述每次客戶請求HTTP內容時,高速緩
存命中或未命中的項目。同時描述提出請求的主機身份及它
們所需的內容。
cache_log /var/log/squid/cache.log
#用於描述當squid守護進程啟動時,可看到有多少內存、交
換空間,高速緩存目錄的位置,所接受的連接類型及接受連
接的端口。
cache_store_log /var/log/squid/store.log
#用於描述頁面從高速緩存中被調入調出的情況。
pid_filename /var/run/squid.pid
#管理員可以通過查看此文件了解當前執行的squid進程。
dns_nameservers 192.168.0.1
#定義域名解析服務器的地址
acl all src 0.0.0.0/0.0.0.0
cache_mgr [email protected]
#設置cache管理員的郵件箱地址
reference_age 3 days
#設置緩沖區的更新周期
maximum_object_size 4096 KB
#設置允許被緩存的一次性最大請求


5.4 測試及管理辦法

5.4.1 測試方法
1. 在客戶機下打開浏覽器,設置好代理服務器,端口是3128,看看能不能上網就是拉。

5.4.2 管理方法
1.修改完配置文件需要執行/etc/rc.d/init.d/squid restart使得配置生效。


5.7 小結

看完本章之後,我想各位一定有個深切的感受,squid的配置文件十分的長,而且能干的事情實在是太多了,但是我們作為一名合格的管理員應該從需求方案出發,以客戶的需求為導向,配置出我們自己需要的服務器,這樣不但可以滿足需要,還能大大減少我們的工作量,配置squid就是一個鮮明的例子。




Copyright © Linux教程網 All Rights Reserved