無公網ECS/雲桌面通過有公網ECS部署Squid 實現私網訪問外網實踐
本示例應用場景
場景一:雲桌面訪問外網(internet)
雲桌面(Workspace)是一種基於雲端計算的優於個人電腦(PC)和傳統本地虛擬桌面基礎設施(VDI)解決方案的桌面服務。提供和PC一樣的配置(包括vCPU、GPU、記憶體、磁碟)以及您所熟悉的Windows作業系統,您可以像使用自己的PC一樣使用Workspace。
由於雲桌面建立完畢之後並沒有公網IP,如需訪問外網,即可通過本示例
場景二:多臺ECS共享一條頻寬上網
在同一vpc下的多臺ECS主機,只有一臺主機購買了彈性公網IP,由於很多臺主機只是偶爾訪問外網的需求,所以沒有購買公網頻寬。則也可以通過配置 squid 代理,來使沒有購買公網的伺服器通過已購買公網的伺服器訪問外網。
Squid官方簡介
SQUID是支援HTTP、HTTPS、FTP等更多功能的Web快取代理。它通過快取和重用頻繁請求的網頁來減少頻寬和改善響應時間.SQUID具有廣泛的訪問控制,並且提供了一個很好的伺服器加速器。它執行在大多數可用的作業系統上,包括Windows,並在GNUGPL下獲得許可。
充分利用你的網際網路連線
全世界數以百計的網際網路提供商使用SQUID為他們的使用者提供最好的網路訪問。SQUID優化客戶端和伺服器之間的資料流,以提高效能和快取頻繁使用的內容,以節省頻寬。SQUID還可以多種方式將內容請求路由到伺服器,從而構建快取伺服器層次結構,從而優化網路吞吐量。
網站內容加速與釋出
成千上萬的網際網路網站使用Squid大幅度增加其內容傳遞。SQUID可以減少伺服器負載,提高客戶端的交付速度。SQUID也可以用於提供來自世界各地的內容-只複製正在使用的內容,而不是無效率地複製所有內容。最後,Squid的高階內容路由配置允許您構建內容叢集,通過各種Web伺服器路由和負載平衡請求。
前提
-
擁有華為雲賬號,並且實名認證。
註冊賬號參考:
https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0069252244.html
實名認證參考:
https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0077914254.html
2、雲桌面已開通並且建立完畢,建立雲桌面步驟可以參考:建立雲桌面
建立連結:https://www.huaweicloud.com/product/workspace.html,此處不再贅述建立流程
3、雲桌面的VPC與ECS 必須屬於同一VPC ,並且處於相同的安全組
基本環境如下:
ECS 伺服器一臺:
公網IP 114.116.x.x
私網IP 192.168.2.75
VPC名稱 vpc_default
業務子網 subnet-2 (192.168.2.0/24)
雲桌面一臺:
私網IP 192.168.0.90
VPC名稱 vpc_default
業務子網 subnet-1 (192.168.0.0/24)
子網如下:
Squid的安裝配置
1. 檢 查squid 軟體包安裝其情況
[root@ecs-41d0 ~]# rpm -qa|grep squid
2. 如果未安裝,則使用 yum 方式安裝
[root@ecs-41d0 ~]# yum -y install squid
3. 設定服務開機自啟動(可選)
[root@ecs-41d0 ~]# chkconfig --level 35squid on
4.配置/etc/squid/squid.conf檔案
可以先把預設的squid.conf 檔案修改個名稱,重新建立squid.conf配置檔案
[root@ecs-41d0 ~]# mv /etc/squid/squid.conf /etc/squid/squid.conf.bak
[root@ecs-41d0 ~]# vim /etc/squid/squid.conf
配置內容示例參考:
[root@ecs-41d0 ~]# cat /etc/squid/squid.conf
http_port 192.168.2.75: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.0.0/24 #根據實際情況修改
http_access allow localnet
http_access deny all
visible_hostname squid.taotie.dev
cache_mgr [email protected]
5.初始化並 squid
[root@ecs-41d0 ~]# squid –z
[root@ecs-41d0 ~]# /etc/init.d/squid start
測試雲桌面代理訪問公網是否生效
開啟IE 瀏覽器,選單欄 > 工具 > Internet 選項 > 連線 > 區域網設定 > 代理伺服器,按照以下格式設定:
如測試可以正常訪問外網,說明配置成功
下面是華為雲客戶端瀏覽器截圖
下面是手機端訪問截圖
探討:
-
squid預設埠為3128埠,為避免被惡意利用,請更換其他埠使用
-
本案例用於演示,故防火牆均屬於關閉狀態,後期可以增加防火牆策略
-
Squid方案並不是最完美的,其他工具可以考慮使用varnish
-
其他