squid緩存服務的搭建和配置管理

1.什麼是squid服務?
html

       提供的代理服務(緩存服務),能夠緩存用戶訪問過的數據,當用戶下次訪問一樣的數據時,squid代理能夠從緩存中提取數據,能夠直接訪問,提升了訪問速度和下降了對帶寬的使用。web

2.應用的環境後端

      公司現有100個用戶須要所有上網,經過路由交換能夠能夠實現,也能夠每人一個IP地址,經過以上方式上網不能緩存用戶訪問過的數據。瀏覽器

3.squid代理的方式有三種:緩存

    普通代理:客戶端必須在本身的瀏覽器裏指定代理服務器的ip地址和代理服務監聽的端口號,纔可以經過代理服務器上網,代替局域網內的全部客戶端上網。安全

    透明代理:客戶端不須要在本身的瀏覽器裏指定代理服務器的ip地址和代理服務監聽的
服務器

    反向代理:代替公網客戶端訪問私網的服務器。網絡

4.squid經過什麼限制客戶端經過本身訪問什麼樣的資源?tcp

      經過ACL(訪問控制列表)來限制客戶端 經過本身訪問資源。
ide

*acl要先定義後調用,但能夠只定義不調用
*調用acl時遇到匹配就執行,後邊的就不查看了
*因此在調用acl時,要把要小範圍的放在大範圍的上邊

5.squid優勢:

  1. 1)經過緩存增長訪問速度。

    2)提供用私有IP訪問internet的方法。

    3)提升網絡的安全性。

    4)方便對用戶的管理。

6.squid缺點:

     1)產生單點故障。

     2)當同時訪問時網絡比較慢。

7.進程名  squid
進程全部者/組   squid
端口號   3128
數據傳輸協議    tcp

實驗(一)

實驗目的:搭建普通代理

實驗環境:3臺服務器

       pc1      主機名:localhost     IP地址:192.168.1.10      內網客戶機

       pc2      主機名:fanlj          代理服務器  (eth0鏈接內網IP地址192.168.1.254,eth1鏈接外網IP地址1.1.1.254)

       pc3      主機名:fanxiaohui   IP地址:1.1.1.1      外網web服務

實驗要求:
      PC2代理內網用戶PC1能夠訪問外網的WEB服務。

搭建實驗環境分別安裝以上要求進行搭建,而且在pc2上測試是否能夠ping通1.1.1.254和1.1.1.1。

wKiom1XlSLDA48GYAAHLK6N0F80591.jpg

在外網WEB建立一個網頁index.html,內容是1.1.1.1

wKioL1XlXkrBvC0gAABLizch0eM843.jpg

在PC2上測試是否能夠訪問WEB的內容

wKioL1XlXgiiC9ScAAA8I2v0CRQ653.jpg

在PC2上部署squid代理,能夠代替內網用戶PC1的用戶能夠訪問PC3WEB的內容

1.查看軟件包是否安裝,若是沒有安裝,就安裝squid軟件包。

wKiom1XlW_TwJCg9AAA9kFZQCko619.jpg

wKiom1XlXQ6zO5U-AAE_rIB16-4134.jpg

2.修改主配置文件,http_port訪問squid端口爲3128,cache_dir爲緩存存放的目錄,ufs爲目錄的固定格式,/var/spool/squid爲存放的位置,100爲緩存的大小,16爲/var/spool/squid目錄下有16個目錄,256爲在16個目錄下有256個子目錄,cache_mem爲拿出實際物理內存32M作高速緩存,visible_hostname爲主機名,當系統的主機名和hosts文件中127.0.0.1中的主機名不一致時,必須在squid配置文件中要指明主機名,默認squid服務就代替私ip地址經過本身上網。

wKioL1XlZjfixvUpAAAz3-5FESg495.jpg

wKioL1XnBU2RW_2rAAGfyUHruks732.jpg

wKioL1XlZpCjcZGdAACK_QkUEYc797.jpg

3.從新啓動squid服務,而且查看/var/spool/squid目錄下是否有16個目錄。

wKiom1XlZMfA6Ok_AAB5wVXjdYQ402.jpg

wKiom1XlZReRGzHbAAB2FmIrkUk724.jpg

查看端口和進程

wKioL1XlaSXQNKIwAAFPoywEekw658.jpg

4.在客戶端PC1測試,客戶端必須在本身的瀏覽器中指定代理 服務器的IP地址和代理服務監聽的端口  。

在客戶端瀏覽器上選擇編輯---首選項----高級----網絡---設置----手動配置代理指向本身本網段squid代理的IP地址和端口爲3128.

wKiom1XlaI-De6ZyAADBHyj5vJ0361.jpg

在本身的瀏覽器中直接輸入http://1.1.1.1
wKiom1XlaQPCy65OAACD8Y-0F7k956.jpg

5.在代理服務器上查看有那些客戶端訪問過1.1.1.1

wKiom1XlaevzKIY2AADIKHYiY0g492.jpg

普通代理缺點:

       客戶端必須在本身瀏覽器中指定代理服務器的IP地址。

實驗(二)

實驗目的:配置透明代理

透明代理優勢:客戶端不須要在本身的瀏覽器裏指定代理服務器的ip地址和代理服務監聽的,只要把網關指定代理服務器的私網接口的IP地址就能夠上網。

實驗要求:客戶端不在本身的瀏覽器中指定代理的接口和IP地址就能夠上網。

配置squid透明代理的前題條件?
企業的網關(共享接入Internet)
防火牆服務必須和代理服務運行在一臺服務器上
須要設置防火牆策略(將客戶機的Web訪問數據轉交給代理服務程序處理)

一、把客戶端訪問網站的請求包,發個代理服務器

wKiom1Xm5QSSlzZyAAFBb64-Nlc708.jpg

二、在代理服務器上運行防火牆服務,編寫防火牆規則,把本機接收到的訪問web的請求轉交給本機的代理服務

wKiom1Xm5iORV6lQAAA1axR6J0E322.jpg

wKioL1Xm6E_jzSv8AABV2SR7NA0443.jpg

wKiom1Xm5jbQTRd0AADuU-3Hh9o891.jpg

wKiom1Xm-PHir4IXAADvFe-gSkg475.jpg

wKiom1Xm5tSwJBfIAAAmuKm0PBw979.jpg

wKioL1Xm9QPTOlxqAAF38T7OEiw600.jpg


iptables    -t   表名    管理選項     鏈名     匹配條件    -j   處理動做

表名(不一樣的表有不一樣的功能)
filter          數據包過濾
mangle     給數據包打標記
nat            給數據包作轉換(源地址 \ 目的地址\ 端口)
raw            跟蹤數據包狀態

管理選項
-L    查看
-D   刪除
-A   添加
-F    清空

鏈 (數據包傳輸的方向  以防火牆本機爲參照物)
INPUT    進入防火牆的數據包
OUTPUT  從防火牆本機出去的數據包
FORWARD   通過防火牆的數據包
POSTROUTING   路由後     
PREROUTING      路由前

匹配條件
-i   指定數據包從那個物理接口進入
-s   指定數據包的來源地址
-p   指定數據傳輸協議
--dport   指定數據包的目標端口

處理動做
DROP  丟棄
REJECT 拒絕
DNAT  目標地址轉換
SNAT   源地址轉換
REDIRECT  端口狀態


3.在客戶端測試,打開客戶端瀏覽器輸入http://1.1.1.1

wKioL1Xm-5WDgvDTAACdqZbDx9w850.jpg


實驗(三)squid反向代理

反向代理: 代替公網客戶端訪問私網的服務器。

實驗目的:配置squid的反向代理

實驗要求:公網用戶要訪問私網的服務器的內容。

實驗環境:3臺服務器

       pc1      主機名:localhost     IP地址:192.168.1.10      內網web服務器

       pc2      主機名:fanlj          代理服務器  (eth0鏈接內網IP地址192.168.1.254,eth1鏈接外網IP地址1.1.1.254)

       pc3      主機名:fanxiaohui   IP地址:1.1.1.1      外網client(用戶)


環境分析:外網用戶要訪問內網web服務器必須經過代理服務器來訪問,代理服務器必須監聽80端口才能使外網訪問內網,因此代理服務器上的httpd訪問必須中止,若是代理服務器上有httpd服務,那麼外網只能訪問代理上的web服務。

1.修改主配置文件,使代理服務器作反向代理。cache_peer爲真正後端服務器的地址,parent代理服務器和實現web服務器的關係,80表明訪問的端口,0表明與其餘代理服務器通訊的接口,originserver表明提供服務器的真正主機。

wKioL1XnlR_jgmAYAAICg79GPao854.jpg

2.代理服務器中止防火牆和查看80端口是否被佔用,若是佔用被釋放,重新啓動squid服務。

wKiom1Xnw__Sc-HFAADHGbldvqI266.jpg

3.在web服務器端192.168.1.10作一個網頁頁面,並查看 httpd是否開啓

wKiom1Xnwf_Bm-KhAAF6ONcTRPw544.jpg

4.公網用戶查看是否能夠訪問web服務器。

wKioL1XnxKTixBAqAAB1f9gX0iY425.jpg


實驗(四)基於域名和端口的虛擬主機的訪問。

實驗目的(一):當外網用戶訪問www.tarena.com,內網服務器端顯示wwwpage頁面,(http://www.tarena.com顯示wwwpage)

用戶訪問bbs.tarena.com ,內網服務器端顯示bbspage頁面(http://bbs.tarena.com 顯示bbspage)。

1.在內網服務器建立兩個文件夾用來存放頁面分別爲:wwwpage和bbspage

wKiom1XoGYyCDMTQAABLSEH41EE681.jpg

wKioL1XoG7fDdqnsAABzvjOovrU956.jpg

2.在內網服務器上建立基於域名的虛擬主機,使外網用戶訪問不一樣地址時顯示不一樣的頁面。

wKiom1XoHI_hWk2uAADwgtOfU_g512.jpg

wKioL1XoHtijeIGaAAEPUtWnY6w364.jpg

wKioL1XoIbjALTMeAABIsHUF19A054.jpg

3.測試本身訪問是否能夠解析

wKioL1XoKXHQyo61AABGbDtNt94327.jpg

wKiom1XoJ6ahF5dPAACSLQ1PW8s911.jpg

4.在squid服務器上配置DNS服務用來解析www.tarena.com和bbs.tarena.com.

wKiom1XoHkbAcJRbAAD8l-M3Y8k763.jpgwKiom1XoHk_S4tVkAABjt-V9dVM713.jpg

wKiom1XoMyPzg8NVAAEL2rLPSbk826.jpg

5.在外網客戶端上測試查看是否能夠訪問www.tarena.com 和bbs.tarena.com

wKioL1XoKmnz0G-5AAA6XZsiZlk179.jpg

wKiom1XoM5_TwyrmAACWXfiM5eI799.jpg

相關文章
相關標籤/搜索