不僅是系統(tǒng)管理員和網(wǎng)絡(luò)管理員時(shí)不時(shí)會(huì)聽到“代理服務(wù)器”這個(gè)詞,我們也經(jīng)常聽到。代理服務(wù)器已經(jīng)成為一種企業(yè)常態(tài),而且經(jīng)常會(huì)接觸到它。它現(xiàn)在也出現(xiàn)在一些小型的學(xué)?;蛘叽笮涂鐕镜淖灾蛷d里。Squid(常被視作代理服務(wù)的代名詞)就是這樣一個(gè)應(yīng)用程序,它不但可以被作為代理服務(wù)器,其同時(shí)也是在該類工具中比較被廣泛使用的一種。
本文旨在提高你在遇到關(guān)于代理服務(wù)器面試點(diǎn)時(shí)的一些基本應(yīng)對能力。
以下為面試問答的內(nèi)容
1. 什么是代理服務(wù)器?代理服務(wù)器在計(jì)算機(jī)網(wǎng)絡(luò)中有什么用途?
回答 : 代理服務(wù)器是指那些作為客戶端和資源提供商或服務(wù)器之間的中間件的物理機(jī)或者應(yīng)用程序??蛻舳藦拇矸?wù)器中尋找文件、頁面或者是數(shù)據(jù),而且代理服務(wù)器能處理客戶端與服務(wù)器之間所有復(fù)雜事務(wù),從而滿足客戶端的生成的需求。
代理服務(wù)器是WWW(萬維網(wǎng))的支柱,它們其中大部分都是Web代理。一臺(tái)代理服務(wù)器能處理客戶端與服務(wù)器之間的復(fù)雜通信事務(wù)。此外,它在網(wǎng)絡(luò)上提供的是匿名信息(LCTT 譯注:指瀏覽者的 IP、瀏覽器信息等被隱藏),這就意味著你的身份和瀏覽痕跡都是安全的。代理可以去配置允許哪些網(wǎng)站的客戶能看到,哪些網(wǎng)站被屏蔽了。
2. Squid是什么?
回答 : Squid是一個(gè)在GNU/GPL協(xié)議下發(fā)布的既可作為代理服務(wù)器,同時(shí)也可作為Web緩存守護(hù)進(jìn)程的應(yīng)用軟件。Squid主要是支持像HTTP和FTP那樣的協(xié)議,但是對其它的協(xié)議比如HTTPS,SSL,TLS等同樣也能支持。其特點(diǎn)是Web緩存守護(hù)進(jìn)程通過從經(jīng)常上訪問的網(wǎng)站里緩存Web和DNS數(shù)據(jù),從而讓上網(wǎng)速度更快。Squid支持所有的主流平臺(tái),包括Linux,UNIX,微軟公司的Windows和蘋果公司的Mac。
3. Squid的默認(rèn)端口是什么?怎么去修改它的操作端口?
回答 : Squid運(yùn)行時(shí)的默認(rèn)端口是3128。我們可以通過編輯它的配置文件來把它的默認(rèn)端口修改成未被用戶使用的端口,路徑是 /etc/squid/squid.conf ,建議如下。
用你的編輯器打開 ‘/etc/squid/squid.conf’ 文件。
# nano /etc/squid/squid.conf
現(xiàn)在把它修改成未被使用的其它端口,并保存退出。
http_port 3128
重新啟動(dòng)Squid代理服務(wù),如下顯示。
# service squid restart
4. 你的公司管理層要求你通過Squid代理服務(wù)器屏蔽掉一些域名,你怎么做?
回答 : 屏蔽域名是一個(gè)在配置文件中實(shí)現(xiàn)的功能模塊。我們只需要執(zhí)行一個(gè)小的手動(dòng)配置即可,建議如下。
a. 在 ‘/etc/squid’ 目錄下創(chuàng)建一個(gè)名為 ‘blacklist’ 的文件。
# touch /etc/squid/blacklist
b. 用nano編輯器打開這個(gè)文件。
# nano /etc/squid/blacklist
c. 以每行一個(gè)域名的方式將想要屏蔽的域名寫進(jìn)這個(gè)文件里。
.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服務(wù)讓其生效。
# service squid restart
5. 在Squid中什么是媒體范圍限制(Media Range Limitation)和部分下載?
回答 : 媒體范圍限制是Squid的一種特殊的功能,它只從服務(wù)器中獲取所需要的數(shù)據(jù)而不是整個(gè)文件。這個(gè)功能很好的實(shí)現(xiàn)了用戶在各種視頻流媒體網(wǎng)站如YouTube和Metacafe看視頻時(shí),可以點(diǎn)擊視頻中的進(jìn)度條來選擇進(jìn)度,因此整個(gè)視頻不用全部都加載,除了一些需要的部分。
Squid部分下載功能的特點(diǎn)是很好地實(shí)現(xiàn)了類似在Windows更新時(shí)能以一個(gè)個(gè)小數(shù)據(jù)包的形式下載,并可以暫停,正因?yàn)樗倪@個(gè)特點(diǎn),正在下載文件的Windows機(jī)器可以重新繼續(xù)下載,而不用擔(dān)心數(shù)據(jù)會(huì)丟失。Squid的媒體范圍限制和部分下載功能只有在存儲(chǔ)了一個(gè)完整文件的副本之后才行。此外,當(dāng)用戶訪問另一個(gè)頁面時(shí),除非Squid進(jìn)行了特定的配置,部分下載下來的文件會(huì)被刪除且不留在緩存中。
6. 什么是Squid的反向代理?
回答 : 反向代理是Squid的一個(gè)功能,這個(gè)功能被用來加快最終用戶的上網(wǎng)速度。下面用縮寫 ‘RS’ 的表示包含了資源的原服務(wù)器,而代理服務(wù)器則稱作 ‘PS’ 。初次訪問時(shí),它會(huì)從RS得到其提供的數(shù)據(jù),并將其副本按照配置好的時(shí)間存儲(chǔ)在PS上。這樣的話每次從PS上請求的數(shù)據(jù)就相當(dāng)于就是從原服務(wù)器上獲取的。這樣就會(huì)減輕網(wǎng)絡(luò)擁堵,減少CPU使用率,降低網(wǎng)絡(luò)資源的利用率,從而緩解原來實(shí)際服務(wù)器的負(fù)載壓力。但是RS統(tǒng)計(jì)不了總流量的數(shù)據(jù),因?yàn)镻S分擔(dān)了部分原服務(wù)器的任務(wù)。‘X-Forwarded-For HTTP’ 信息能用于記錄下通過HTTP代理或負(fù)載均衡方式連接到RS的客戶端最原始的IP地址。
從技術(shù)上說,用單個(gè)Squid服務(wù)器同時(shí)作為正向代理服務(wù)器和反向代理服務(wù)器是可行的。
7. 由于Squid能作為一個(gè)Web緩存守護(hù)進(jìn)程,那緩存可以刪除嗎?怎么刪除?
回答 : 當(dāng)然!作為一個(gè)Web緩存守護(hù)進(jìn)程,Squid能加快網(wǎng)頁的訪問速度,清除緩存也是非常簡單的。
a. 首先停止Squid代理服務(wù),然后從這個(gè) ‘/var/lib/squid/cache’ 目錄中刪除緩存。
# service squid stop# rm -rf /var/lib/squid/cache/*
b. 創(chuàng)建交換分區(qū)目錄。
# squid -z
8. 你有一臺(tái)工作中的機(jī)器可以訪問代理服務(wù)器,如果想要限制你的孩子的訪問時(shí)間,你會(huì)怎么去設(shè)置那個(gè)場景?
把允許訪問的時(shí)間設(shè)置成晚上4點(diǎn)到7點(diǎn)三個(gè)小時(shí),跨度為星期一到星期五。
a. 想要限制Web訪問時(shí)間在星期一到星期五的晚上4點(diǎn)到7點(diǎn),要先打開Squid的配置文件。
# nano /etc/squid/squid.conf
b. 在配置文件中添加如下行,保存文件并退出。
acl ALLOW_TIME time M T W H F 16:00-19:00shttp_access allow ALLOW_TIME
c. 重啟Squid服務(wù)。
# service squid restart
9. Squid存儲(chǔ)的數(shù)據(jù)是什么文件格式?
回答 : Squid存儲(chǔ)的數(shù)據(jù)是UFS文件格式的。UFS是一種老的,使用比較廣泛的Squid存儲(chǔ)格式
10. Squid的緩存會(huì)存儲(chǔ)到哪里?
回答 : Squid存儲(chǔ)的緩存是位于 ‘/var/spool/squid’ 的特定目錄下。
以上就是全部內(nèi)容了,謝謝閱讀,希望能幫到大家,請繼續(xù)關(guān)注腳本之家,我們會(huì)努力分享更多優(yōu)秀的文章。