本文轉載自:https://help.aliyun.com/knowledge_detail/41342.html
Squid 介紹
Squid 是一個緩存 Internet 數據的軟件,其接收用戶的下載申請,並自動處理所下載的數據。當一個用戶想要下載一個主頁時,可以向 Squid 發出一個申請,要 Squid 代替其進行下載,然后 Squid 連接所申請網站並請求該主頁,接着把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid 把保存的備份立即傳給用戶。
按照代理類型的不同,可以將 Squid 代理分為正向代理和反向代理,正向代理中,根據實現方式的不同,又可以分為普通代理和透明代理。
- 普通代理:需要客戶機在瀏覽器中指定代理服務器的地址、端口。
- 透明代理:適用於企業的網關主機(共享接入 Internet)中,客戶機不需要指定代理服務器地址、端口等信息,代理服務器需要設置防火牆策略將客戶機的 Web 訪問數據轉交給代理服務程序處理。
- 反向代理:是指以代理服務器來接受 Internet 上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給 Internet 上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
Squid 配置說明
實驗環境信息
- 操作系統:CentOS release 6.5(Final)
- Squid 版本:squid-3.1.23-9.el6.x86_64
本文僅介紹普通代理的搭建方式。相關操作步驟如下:
1. 檢 查squid 軟件包安裝其情況
rpm -qa|grep squid
2. 如果未安裝,則使用 yum 方式安裝
yum -y install squid
3. 設置服務開機自啟動
chkconfig --level 35 squid on
4. 編輯 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 10.0.0.0/8
http_access allow localnet
http_access deny all
visible_hostname squid.taotie.dev
cache_mgr admin@test.com
#注意:
# acl localnet src 10.0.0.0/8 中 10.0.0.0/8 是ECS內網的網段,要求 ECS 之間內網可以互通。可根據實際情況替換成所需內網 IP 段
5. 初始化 squid
squid –z
6. 啟動 Squid
/etc/init.d/squid start
至此,squid 配置完畢。
客戶端配置和使用
使用另一台沒有公網 IP 的服務器連接 squid 代理,測試是否可以上網。
1. 打開瀏覽器(以 IE 為例,其他類似),菜單欄 > 工具 > Internet 選項 > 連接 > 局域網設置 > 代理服務器,按照以下格式設置:
其中的 10.51.65.207 是代理服務器的私網地址, 3128 是前面 squid 配置文件中配置的端口。
2. 打開任意網站,測試是否可以正常顯示。