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

jopen 10年前發布 | 9K 次閱讀 Squid Linux

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

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

10個關于linux中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’ 文件。

   
  1. # nano /etc/squid/squid.conf

現在把它修改成未被使用的其它端口,并保存退出。

   
  1. http_port 3128

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

   
  1. # service squid restart

4. 你的公司管理層要求你通過Squid代理服務器屏蔽掉一些域名,你怎么做?

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

a. 在 ‘/etc/squid’ 目錄下創建一個名為 ‘blacklist’ 的文件。

   
  1. # touch /etc/squid/blacklist

b. 用nano編輯器打開這個文件。

   
  1. # nano /etc/squid/blacklist

c. 以每行一個域名的方式將想要屏蔽的域名寫進這個文件里。

   
  1. .非死book.com
  2. .推ter.com
  3. .gmail.com
  4. .yahoo.com
  5. ...

d. 保存退出,然后從 ‘/etc/squid/squid.conf’ 打開Squid配置文件。

   
  1. # nano /etc/squid/squid.conf

e. 在配置文件中添加如下行。

   
  1. acl BLACKLIST dstdom_regex -i “/etc/squid/blacklist
  2. http_access deny blacklist

f. 保存配置文件并退出,重啟Squid服務讓其生效。

   
  1. # service squid restart

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

回答 : 媒體范圍限制是Squid的一種特殊的功能,它只從服務器中獲取所需要的數據而不是整個文件。這個功能很好的實現了用戶在各種視頻流媒體網站如 油Tube和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’ 目錄中刪除緩存。

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

b. 創建交換分區目錄。

   
  1. # squid -z

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

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

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

   
  1. # nano /etc/squid/squid.conf

b. 在配置文件中添加如下行,保存文件并退出。

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

c. 重啟Squid服務。

   
  1. # 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中國 榮譽推出

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!