中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下如何搭建Squid代理服務器

發布時間:2022-01-26 10:44:55 來源:億速云 閱讀:459 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Linux下如何搭建Squid代理服務器的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Squid是基于Unix的代理服務器(proxy server),它緩存比起點源點更接近請求者的互聯網內容。Squid支持緩存多種不同的網絡對象,包括那些通過HTTP和FTP訪問的人。緩存頻繁要求網頁、媒體文件和其它加速回答時間并減少帶寬堵塞的內容。

Linux下如何搭建Squid代理服務器
img

1.1 工作流程

當代理服務器中有客戶端需要的數據時: a. 客戶端向代理服務器發送數據請求; b. 代理服務器檢查自己的數據緩存; c. 代理服務器在緩存中找到了用戶想要的數據,取出數據; d. 代理服務器將從緩存中取得的數據返回給客戶端。

當代理服務器中沒有客戶端需要的數據時: \1. 客戶端向代理服務器發送數據請求; \2. 代理服務器檢查自己的數據緩存; \3. 代理服務器在緩存中沒有找到用戶想要的數據; \4. 代理服務器向Internet 上的遠端服務器發送數據請求; \5. 遠端服務器響應,返回相應的數據; \6. 代理服務器取得遠端服務器的數據,返回給客戶端,并保留一份到自己的數據緩存中。 Linux下如何搭建Squid代理服務器 Squid代理服務器工作在TCP/IP的應用層。 Linux下如何搭建Squid代理服務器

1.2 Squid 分類

按照代理類型的不同,可以將Squid 代理分為正向代理和反向代理,正向代理中,根據實現方式的不同,又可以分為普通代理和透明代理。 • 普通代理:需要客戶機在瀏覽器中指定代理服務器的地址、端口; • 透明代理:適用于企業的網關主機(共享接入Internet)中,客戶機不需要指定代理服務器地址、端口等信息,代理服務器需要設置防火墻策略將客戶機的Web訪問數據轉交給代理服務程序處理; • 反向代理:是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。

二、系統環境

操作系統:CentOS release 6.5 Squid版本:squid-3.1.10-20.el6_5.3.x86_64 關閉httpd 關閉防火墻

三、安裝Squid服務

3.1 檢查squid軟件是否安裝

# rpm -qa|grep squid

3.2 如果未安裝,則使用yum 方式安裝

# yum -y install squid

3.3 設置開機自啟動

# chkconfig --level 35 squid on             //在3、5級別上自動運行squid服務

四、squid服務器的配置文件說明

squid 的主配置文件是 /etc/squid/squid.conf,所有squid的設定都是在這個文件里配置,下面是一些常用的配置選項。

http_port 3128      //設置監聽的IP與端口號

cache_mem 64 MB      //額外提供給squid使用的內存,squid的內存總占用為 X * 10+15+“cache_mem”,其中X為squid的cache占用的容量(以GB為單位),
               //比如下面的cache大小是100M,即0.1GB,則內存總占用為0.1*10+15+64=80M,推薦大小為物理內存的1/3-1/2或更多。
maximum_object_size 4 MB   //設置squid磁盤緩存最大文件,超過4M的文件不保存到硬盤

minimum_object_size 0 KB   //設置squid磁盤緩存最小文件

maximum_object_size_in_memory 4096 KB   //設置squid內存緩存最大文件,超過4M的文件不保存到內存

cache_dir ufs /var/spool/squid 100 16 256   //定義squid的cache存放路徑 、cache目錄容量(單位M)、一級緩存目錄數量、二級緩存目錄數量

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh      //log文件日志格式

access_log /var/log/squid/access.log combined  //log文件存放路徑和日志格式

cache_log /var/log/squid/cache.log   //設置緩存日志

logfile_rotate 60   //log輪循 60天

cache_swap_high 95  //cache目錄使用量大于95%時,開始清理舊的cache

cache_swap_low 90   //cache目錄清理到90%時停止。

acl localnet src 192.168.1.0/24  //定義本地網段

http_access allow localnet  //允許本地網段使用

http_access deny all  //拒絕所有

visible_hostname squid.david.dev  //主機名

cache_mgr example@test.com  //管理員郵箱

五、普通代理服務

即標準的、傳統的代理服務,需要客戶機在瀏覽器中指定代理服務器的地址、端口。 實驗拓撲圖如下: Linux下如何搭建Squid代理服務器

5.1 配置Squid 代理服務器IP地址

將eth2的IP地址修改為200.168.10.1

# ifconfig eth2 200.168.10.1
Linux下如何搭建Squid代理服務器
CentOS6 Squid代理服務器的安裝與配置CentOS6 Squid代理服務器的安裝與配置

5.2 編輯squid 主配置文件/etc/squid/squid.conf

http_port 3128
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr mchina_tang@qq.com

5.3 初始化

# squid -z
Linux下如何搭建Squid代理服務器
CentOS6 Squid代理服務器的安裝與配置CentOS6 Squid代理服務器的安裝與配置

5.4 啟動Squid

# /etc/init.d/squid start

5.5 配置Web 服務器

A. 安裝Apache

# rpm -qa|grep httpd# yum -y install httpd

B. 啟動Apache并加入開機啟動

# /etc/init.d/httpd start# chkconfig httpd on

C. 創建index.html

# echo "Squid-Web1/200.168.10.2" > /var/www/html/index.html

D. 修改Web服務器IP地址 將web服務器的IP地址修改為200.168.10.2

# ifconfig eth0 200.168.10.2

5.6 配置客戶端IP地址

Linux下如何搭建Squid代理服務器
CentOS6 Squid代理服務器的安裝與配置CentOS6 Squid代理服務器的安裝與配置

5.7 配置瀏覽器代理

打開瀏覽器(以IE為例,其他類似),菜單欄 -> 工具 -> Internet 選項 -> 連接 -> 局域網設置 -> 代理服務器,按照以下格式設置。 Linux下如何搭建Squid代理服務器

5.8 測試

Linux下如何搭建Squid代理服務器
CentOS6 Squid代理服務器的安裝與配置CentOS6 Squid代理服務器的安裝與配置

六、透明代理服務

適用于企業的網關主機,客戶機不需要指定代理服務器地址、端口等信息,通過iptables將客戶機的Web訪問數據轉交給代理服務程序處理。 實驗拓撲圖如下: Linux下如何搭建Squid代理服務器

6.1 修改squid 主配置文件/etc/squid/squid.conf

http_port 3128 transparent
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr mchina_tang@qq.com

在http_port 3128 后添加transparent 關鍵字。

6.2 reload

reload 讓上面的配置生效。

# /etc/init.d/squid reload

6.3 添加iptables規則,把內部的http請求重定向到3128端口

A. 啟動iptables 服務

# /etc/init.d/iptables start

B. 清除現有iptables filter 表規則

# iptables -F

C. 保存iptables 設置

# /etc/init.d/iptables save

D. 在nat表中新增一條規則

# iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

E. 保存

# /etc/init.d/iptables save

6.4 修改客戶端IP地址

將默認網關設置為squid 服務器的內網ip地址。 Linux下如何搭建Squid代理服務器

6.5 在瀏覽器中,取消代理設置

Linux下如何搭建Squid代理服務器
CentOS6 Squid代理服務器的安裝與配置CentOS6 Squid代理服務器的安裝與配置

七、反向代理服務

為Internet用戶訪問企業Web站點提供緩存加速。 實驗拓撲: Linux下如何搭建Squid代理服務器

7.1 關閉防火墻

# /etc/init.d/iptables stop

7.2 修改Web Server 主頁

Web1:# echo "Squid-Web1/192.168.1.18" > /var/www/html/index.htmlWeb2:# echo "Squid-Web1/192.168.1.19" > /var/www/html/index.html

7.3 配置squid

http_port 80 accel vhost
http_access allow all
cache_peer 192.168.1.18 parent 80 0 originserver round-robin weight=1
cache_peer 192.168.1.19 parent 80 0 originserver round-robin weight=1
visible_hostname squid.david.dev
cache_mgr mchina_tang@qq.com

7.4 啟動Squid服務

Linux下如何搭建Squid代理服務器 squid啟動失敗,因為上面設定了squid的監聽端口是80,和系統的http服務沖突,所以要將http服務停掉,然后再啟動squid。

7.6 測試

squid 采用了round-robin,所以客戶端的訪問將輪詢兩臺web服務器,采用 “Ctrl + F5” 來深度刷新測試。 Web1: Linux下如何搭建Squid代理服務器 Web2: Linux下如何搭建Squid代理服務器


感謝各位的閱讀!關于“Linux下如何搭建Squid代理服務器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舟曲县| 乌兰县| 枣阳市| 沅陵县| 微博| 阳春市| 泽库县| 九寨沟县| 巴里| 吉水县| 抚松县| 崇礼县| 德庆县| 波密县| 临武县| 石楼县| 新宁县| 沂南县| 松阳县| 保定市| 婺源县| 南华县| 红安县| 安远县| 金溪县| 康定县| 花莲县| 双柏县| 大冶市| 衡水市| 峨山| 来宾市| 凤阳县| 罗城| 宁阳县| 鄂托克旗| 武功县| 洞口县| 马公市| 汉寿县| 乐都县|