Linux实例通过Squid配置实现公网IP代理

Linux实例通过Squid配置实现公网IP代理

贡献者:

KB小秘书

 · 

更新时间:2019-08-06 20:59:30

提示: 这是一篇由阿里云ACE开发者(Alibaba Cloud Engineer)贡献,针对特定用户问题发布的文章。文档的内容以原稿呈现,阿里云对于文档内容不做任何形式的承诺。阿里云有权在未经通知的情形下对文档内容做出任何形式的修改。

概述

本文介绍了在Linux实例中,通过Squid配置实现公网IP代理。

 

详细描述

使用云服务器ECS时,经常有这样的需求: 购买了多台ECS主机,但其中只有一台服务器购买了公网带宽, 而其余ECS因为只有偶尔的公网访问需求,所以没有购买公网带宽。可以通过配置Spuid代理,来使没有购买公网的服务器通过已购买公网的服务器访问外网。本文对此进行概要说明。

 

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 -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 src10.0.0.0/8中10.0.0.0/8 是ECS内网的网段,要求ECS之间内网可以互通。可根据实际情况替换成所需内网IP段。
  5.  执行如下命令,初始化Squid。
    squid –z
    系统显示类似如下。
  6. 执行如下命令,启动Squid。
    /etc/init.d/squid start
    系统显示类似如下。

 

客户端配置和使用

使用另一台没有公网IP的服务器连接Squid代理,测试是否可以上网。

  1. 打开浏览器(以 IE 为例,其他类似),菜单栏 > 工具 > Internet 选项 连接  >  局域网设置 > 代理服务器,按照以下格式设置。

    注:其中的10.xxx.xxx.207是代理服务器的私网地址,3128是前面Squid配置文件中配置的端口。
  2. 打开任意网站,测试是否可以正常显示。

 

适用于

  • 云服务器 ECS
  • 87

    发布KB

  • 585

    回答问题

  • 4

    粉丝数