Linux 系统通过 Squid 配置实现代理上网

赞赏 2016-07-14

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


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 软件包安装其情况

  1. rpm -qa|grep squid

2. 如果未安装,则使用 yum 方式安装

  1. yum -y install squid

1.JPG

 

3. 设置服务开机自启动

  1. chkconfig --level 35 squid on  

2.JPG

4. 编辑 squid 的主配置文件 /etc/squid/squid.conf

3.JPG

  1. http_port 3128
  2. cache_mem 64 MB
  3. maximum_object_size 4 MB
  4. cache_dir ufs /var/spool/squid 100 16 256
  5. access_log /var/log/squid/access.log
  6. acl localnet src 10.0.0.0/8
  7. http_access allow localnet
  8. http_access deny all
  9. visible_hostname squid.taotie.dev
  10. cache_mgr admin@test.com
  11. #注意:
  12. # acl localnet src 10.0.0.0/8 中 10.0.0.0/8 是ECS内网的网段,要求 ECS 之间内网可以互通。可根据实际情况替换成所需内网 IP 段


5. 初始化 squid

  1. squid z

4.JPG

6. 启动 Squid

  1. /etc/init.d/squid start

5.JPG

 

至此,squid 配置完毕。

客户端配置和使用


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

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

6.JPG

其中的 10.51.65.207 是代理服务器的私网地址, 3128 是前面 squid 配置文件中配置的端口。

2. 打开任意网站,测试是否可以正常显示。

登陆后阅读全文
阅读 2020 赞赏 0 有用 1 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章