10個關於linux中Squid代理伺服器的實用面試問答

Avishek Kumar發表於2014-09-23

不僅是系統管理員和網路管理員時不時會聽到“代理伺服器”這個詞,我們也經常聽到。代理伺服器已經成為一種企業常態,而且經常會接觸到它。它現在也出現在一些小型的學校或者大型跨國公司的自助餐廳裡。Squid(常被視作代理服務的代名詞)就是這樣一個應用程式,它不但可以被作為代理伺服器,其同時也是在該類工具中比較被廣泛使用的一種。

本文旨在提高你在遇到關於代理伺服器面試點時的一些基本應對能力。

以下為面試問答的內容

1. 什麼是代理伺服器?代理伺服器在計算機網路中有什麼用途?

回答 : 代理伺服器是指那些作為客戶端和資源提供商或伺服器之間的中介軟體的物理機或者應用程式。客戶端從代理伺服器中尋找檔案、頁面或者是資料,而且代理伺服器能處理客戶端與伺服器之間所有複雜事務,從而滿足客戶端的生成的需求。

代理伺服器是WWW(全球資訊網)的支柱,它們其中大部分都是Web代理。一臺代理伺服器能處理客戶端與伺服器之間的複雜通訊事務。此外,它在網路上提供的是匿名資訊(LCTT 譯註:指瀏覽者的 IP、瀏覽器資訊等被隱藏),這就意味著你的身份和瀏覽痕跡都是安全的。代理可以去配置允許哪些網站的客戶能看到,哪些網站被遮蔽了。

2. Squid是什麼?

回答 : Squid是一個在GNU/GPL協議下發布的既可作為代理伺服器,同時也可作為Web快取守護程式的應用軟體。Squid主要是支援像HTTP和FTP那樣的協議,但是對其它的協議比如HTTPS,SSL,TLS等同樣也能支援。其特點是Web快取守護程式透過從經常上訪問的網站裡快取Web和DNS資料,從而讓上網速度更快。Squid支援所有的主流平臺,包括Linux,UNIX,微軟公司的Windows和蘋果公司的Mac。

3. Squid的預設埠是什麼?怎麼去修改它的操作埠?

回答 : Squid執行時的預設埠是3128。我們可以透過編輯它的配置檔案來把它的預設埠修改成未被使用者使用的埠,路徑是 /etc/squid/squid.conf ,建議如下。

用你的編輯器開啟 ‘/etc/squid/squid.conf’ 檔案。

# nano /etc/squid/squid.conf

現在把它修改成未被使用的其它埠,並儲存退出。

http_port 3128

重新啟動Squid代理服務,如下顯示。

# service squid restart

4. 你的公司管理層要求你透過Squid代理伺服器遮蔽掉一些域名,你怎麼做?

回答 : 遮蔽域名是一個在配置檔案中實現的功能模組。我們只需要執行一個小的手動配置即可,建議如下。

a. 在 ‘/etc/squid’ 目錄下建立一個名為 ‘blacklist’ 的檔案。

# touch /etc/squid/blacklist

b. 用nano編輯器開啟這個檔案。

 # nano /etc/squid/blacklist

c. 以每行一個域名的方式將想要遮蔽的域名寫進這個檔案裡。

.facebook.com
.twitter.com
.gmail.com
.yahoo.com
...

d. 儲存退出,然後從 ‘/etc/squid/squid.conf’ 開啟Squid配置檔案。

# nano /etc/squid/squid.conf

e. 在配置檔案中新增如下行。

acl BLACKLIST dstdom_regex -i “/etc/squid/blacklist”
http_access deny blacklist

f. 儲存配置檔案並退出,重啟Squid服務讓其生效。

# service squid restart

5. 在Squid中什麼是媒體範圍限制(Media Range Limitation)和部分下載?

回答 : 媒體範圍限制是Squid的一種特殊的功能,它只從伺服器中獲取所需要的資料而不是整個檔案。這個功能很好的實現了使用者在各種影片流媒體網站如YouTube和Metacafe看影片時,可以點選影片中的進度條來選擇進度,因此整個影片不用全部都載入,除了一些需要的部分。

Squid部分下載功能的特點是很好地實現了類似在Windows更新時能以一個個小資料包的形式下載,並可以暫停,正因為它的這個特點,正在下載檔案的Windows機器可以重新繼續下載,而不用擔心資料會丟失。Squid的媒體範圍限制和部分下載功能只有在儲存了一個完整檔案的副本之後才行。此外,當使用者訪問另一個頁面時,除非Squid進行了特定的配置,部分下載下來的檔案會被刪除且不留在快取中。

6. 什麼是Squid的反向代理?

回答 : 反向代理是Squid的一個功能,這個功能被用來加快終端使用者的上網速度。下面用縮寫 ‘RS’ 的表示包含了資源的原伺服器,而代理伺服器則稱作 ‘PS’ 。初次訪問時,它會從RS得到其提供的資料,並將其副本按照配置好的時間儲存在PS上。這樣的話每次從PS上請求的資料就相當於就是從原伺服器上獲取的。這樣就會減輕網路擁堵,減少CPU使用率,降低網路資源的利用率,從而緩解原來實際伺服器的負載壓力。但是RS統計不了總流量的資料,因為PS分擔了部分原伺服器的任務。‘X-Forwarded-For HTTP’ 資訊能用於記錄下透過HTTP代理或負載均衡方式連線到RS的客戶端最原始的IP地址。

從技術上說,用單個Squid伺服器同時作為正向代理伺服器和反向代理伺服器是可行的。

7. 由於Squid能作為一個Web快取守護程式,那快取可以刪除嗎?怎麼刪除?

回答 : 當然!作為一個Web快取守護程式,Squid能加快網頁的訪問速度,清除快取也是非常簡單的。

a. 首先停止Squid代理服務,然後從這個 ‘/var/lib/squid/cache’ 目錄中刪除快取。

# service squid stop
# rm -rf /var/lib/squid/cache/*<

b. 建立交換分割槽目錄。

# squid -z

8. 你有一臺工作中的機器可以訪問代理伺服器,如果想要限制你的孩子的訪問時間,你會怎麼去設定那個場景?

把允許訪問的時間設定成晚上4點到7點三個小時,跨度為星期一到星期五。

a. 想要限制Web訪問時間在星期一到星期五的晚上4點到7點,要先開啟Squid的配置檔案。

# nano /etc/squid/squid.conf

b. 在配置檔案中新增如下行,儲存檔案並退出。

acl ALLOW_TIME time M T W H F 16:00-19:00
shttp_access allow ALLOW_TIME

c. 重啟Squid服務。

# service squid restart

9. Squid儲存的資料是什麼檔案格式?

回答 : Squid儲存的資料是UFS檔案格式的。UFS是一種老的,使用比較廣泛的Squid儲存格式

10. Squid的快取會儲存到哪裡?

回答 : Squid儲存的快取是位於 ‘/var/spool/squid’ 的特定目錄下。

以上就是全部內容了,很快我還會帶著其它有趣的內容回到這裡。


via: http://www.tecmint.com/squid-interview-questions/

作者:Avishek Kumar 譯者:ZTinoZ 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章