實驗名稱:squid 服務器的應用
實驗目標:
任務一:實現正向代理
任務二:實現透明代理
任務三:實現反向代理
提示1、在啓動squid服務程序之前需要先確認Linux主機具有完整的域名,如果沒有可以在hosts文件中進行設置
提示2、squid服務器第一次啓動前的初始化工作可以使用squid –z命令手工完成,如不手工進行,squid啓動腳本也會自動完成初始化工作。
實驗拓撲:
此時虛擬機B爲外網的一臺 squid代理服務器、
根據拓撲配置好實驗環境,在這裏就不演示了
任務一:實現正向代理
分析:在B上做squid代理,(B可以是企業內部的一臺有着外網ip的計算機,或是外網的計算機)然後在客戶端訪問外網web服務器,在後查看是那個ip地址在訪問自己 如果是代理服務器的ip則說明代理成功
Squid服務器在RHEL5系統中已經默認安裝了
確認主機具有完整的域名
在B上配置
修改squid主配置文件
然後退出保存
唉、在啓動服務的時候出現了一個錯誤
服務總是啓動不成功,然後再網上搜了下 ,解決方案如下
把squid.conf中的visible_hostname改爲:
visible_hostname 192.168.15.2 (爲本機ip)
然後啓動服務
記得要初始化
A還需開啓路由功能,還需要在B上添加一條路由,使xp可以ping通squid代理服務器,因爲xp要和代理服務器通信
最後一步設置客戶端IE
然後再客戶端訪問Cweb服務器
可以訪問、最後在C 服務器上查看是那個ip訪問了自己、如果是代理服務器的ip1.1.1.3訪問自己說明代理成功
按住shift+上頁 翻到上面
都是代理服務器的ip在訪問自己的80端口,成功.
任務二:實現透明代理
分析:透明顧名思義是看不見的代理,客戶端不用作任何操作,(客戶端是不連外網的)但前提條件squid服務器必須在客戶端網關服務器上做,即在A上做squid代理服務器,最後通過squid代理服務器上網。
開始試驗,在網關服務器A上
然後再A上安裝squid軟件包,我這Linux沒有安裝,這裏就不演示安裝步驟了,上面有
安裝成功後,修改主配置文件
然後退出保存
初始化
然後啓動服務
再添加一條規則
註明:客戶端不用作任何操作,只用把網關設置上,這個實驗A也需開啓路由功能
最後用xp進行訪問C web server
訪問成功,然後再C上查看訪問自己的計算機應該是虛擬機A 因爲他是代理服務器
代理成功,訪問本機網站的都虛擬機A的ip 1.1.1.1
其實沒有什麼要配置的命令,大概只需要將squid服務安裝到A上略加修改配置文件即可
任務三:實現反向代理
分析:反向顧名思義是爲服務器做的代理,比如新浪網、百度網、等等、它們在世界各地都有反向代理,客戶訪問它們的代理服務器即可以訪問相應的網站、這樣一來百度着一些大的網站服務器就會負擔減輕,可以爲web服務器加速,它通過在繁忙的WEB服務器和Internet之間增加一個高速的WEB緩衝服務器(即:WEB反向代理服務器)來降低實際的WEB服務器的負載
在本實驗中c爲一臺web服務器,將在B上做反向代理,實驗效果是客戶機192.168.15.10訪問1.1.1.3 可以出現Cweb服務器的網站內容,這樣就提到反向代理的作用,
n 修改squid.conf配置文件中的設置
# vi /etc/squid/squid.conf
//在配置文件中設置以下的配置行
http_port 80 vhost vport
cache_peer 1.1.1.2 parent 80 0 no-query originserver
icp_port 3130
n 重新啓動squid服務器
# service squid reload
實驗開始
根據拓撲配置好實驗環境,在B上安裝squid軟件包,就不演示步驟了,上面有安裝步驟
現在修改squid主配置文件
然後退出保存,重啓服務
現在已經配置好了 ,但是不知道那裏出了問題,用xp訪問1.1.1.3連接不到1.1.1.2的網站,正常情況下應該是可以訪問的
現在好了,我吧不能訪問的原因找到了,xp連B虛擬機都ping不通肯定不能訪問了 ,因爲xp要訪問反向代理服務器,達到訪問C web服務器的效果,那麼肯定要首先能ping通B虛擬機,我在A上開啓了路由功能即可以訪問,如下圖
成功。。。
試驗總結:再做反向代理的時候把我整的無言了 ,經過研究才發現是iptables裏面的問題 ,要注意防火牆的設置情況