ECS Linux安装Squid配置透明代理模式实现代理上网的具体操作
发布日期:2015-12-27 16:12:14
用户使用ECS时,经常有这样的需求,即购买了一台有外网的ECS, 其余ECS没有购买公网带宽,并且希望没有公网的ECS也能通过有公网IP的ECS上网。 这个需求可通过在有公网ECS主机上配置代理来实现,本文介绍怎样配置squid代理。Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。 按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。 反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理; 普通代理:需要客户机在浏览器中指定代理服务器的地址、端口; 本文为大家介绍透明代理的搭建方式。 代理原理: 本实验环境: 操作系统:CentOS release 6.5(Final) Squid版本:squid-3.1.23-9.el6.x86_64 1. 检查squid软件是否安装 # rpm -qa|grep squid 2. 若未安装,则使用yum 方式安装 # yum -y install squid 3. 设置开机自启动 # chkconfig --level 35 squid on 4. 编辑squid 的主配置文件 /etc/squid/squid.conf http_port 3128 transparent 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 src 10.0.0.0/8 中10.0.0.0/8是ECS内网的网段,要求ECS内网直接可以互通,请根据实际情况替换成相应的网段; http_port 3128 为转发端口,请根据需求修改 5.初始化squid # squid –z 6.启动Squid # /etc/init.d/squid start 7. 添加iptables规则,把内部的http请求重定向到3128端口 1) 启动iptables 服务 # /etc/init.d/iptables start 2) 清除现有iptables filter 表规则 # iptables -F 3) 保存iptables 设置 # /etc/init.d/iptables save 4) 查看nat 表设置 # iptables -t nat -L -n 5 )在nat表中新增一条规则 # iptables -t nat -I PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128 6)保存 7)设置iptables 开机启动 # chkconfig iptables on 到这里squid就配置好了,我们使用另一台没有公网IP的服务器连接squid代理,测试是否可以上网。 这样我们就配置好了透明代理,没有外网的ECS即可通过有外网的ECS上网了。
|