1. 程式人生 > >無公網ECS/雲桌面通過有公網ECS部署Squid 實現私網訪問外網實踐

無公網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伺服器路由和負載平衡請求。

 

 

 

前提

  1. 擁有華為雲賬號,並且實名認證。

註冊賬號參考:

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)

image001.png

 

雲桌面一臺:

私網IP 192.168.0.90             

VPC名稱  vpc_default 

業務子網  subnet-1 (192.168.0.0/24)

 

 image004.jpg

 

子網如下:

image006.jpg

 

Squid的安裝配置

1. 檢 查squid 軟體包安裝其情況

[root@ecs-41d0 ~]# rpm -qa|grep squid

 

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

[root@ecs-41d0 ~]# yum -y install squid

 

 image007.png

3. 設定服務開機自啟動(可選)

[root@ecs-41d0 ~]# chkconfig --level 35squid on

image009.png

 

 

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

image011.png

 

配置內容示例參考:

 

 

[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

 image013.png

 

 

測試雲桌面代理訪問公網是否生效

開啟IE 瀏覽器,選單欄 > 工具 > Internet 選項 >  連線  >  區域網設定 > 代理伺服器,按照以下格式設定:

 

 

image015.png 

 

 

如測試可以正常訪問外網,說明配置成功

 

下面是華為雲客戶端瀏覽器截圖

 

image017.png 

下面是手機端訪問截圖       

image019.jpgimage022.jpg

 

 

探討:

  1. squid預設埠為3128埠,為避免被惡意利用,請更換其他埠使用

  2. 本案例用於演示,故防火牆均屬於關閉狀態,後期可以增加防火牆策略

  3. Squid方案並不是最完美的,其他工具可以考慮使用varnish

  4. 其他

購買華為雲請