无公网ECS/云桌面通过有公网ECS部署Squid 实现私网访问外网实践

举报
极客潇 发表于 2019/05/15 16:46:54 2019/05/15
【摘要】 本示例适用于多台ECS共享一条带宽上网场景、云桌面访问internet场景(云桌面创建完毕之后并没有公网IP,无法直接访问外网)、实现节省带宽费用

 

本示例应用场景

场景一:云桌面访问外网(internet

云桌面(Workspace)是一种基于云计算的优于个人电脑(PC)和传统本地虚拟桌面基础设施(VDI)解决方案的桌面服务。提供和PC一样的配置(包括vCPUGPU、内存、磁盘)以及您所熟悉的Windows操作系统,您可以像使用自己的PC一样使用Workspace

由于云桌面创建完毕之后并没有公网IP,如需访问外网,即可通过本示例

 

场景二:多台ECS共享一条带宽上网

在同一vpc下的多台ECS主机,只有一台主机购买了弹性公网IP,由于很多台主机只是偶尔访问外网的需求,所以没有购买公网带宽。则也可以通过配置 squid 代理,来使没有购买公网的服务器通过已购买公网的服务器访问外网。

 

Squid官方简介

SQUID是支持HTTPHTTPSFTP等更多功能的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、云桌面的VPCECS 必须属于同一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 jkx@qq.com

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. 其他

 

 



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。