教你如何在5分钟轻松部署squid正向代理

正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端才能使用正向代理。

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。

正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。和反向代理不同之处在于,典型的正向代理是一种最终用户知道并主动使用的代理方式。

借用两张图来解释正向代理:反向代理为何叫反向代理?

作用

访问原来无法访问的资源,如google做缓存,加速访问资源对客户端访问授权,上网进行认证代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

普通代理

普通代理:代替局域网内的所有主机访问公网的网站服务,局域网内的主机需要在自己的浏览器中指定代理服务器的ip地址和监听的端口号

安装软件包squid

[root@ECSc134 ~]# yum -y install squid

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

[root@ECSc134 ~]# vim/etc/squid/squid.conf http_port 3128 //squid默认监听的端口号 cache_mem8MB//默认缓存容量8MB cache_dirufs/var/spool/squid10016256 //设置缓存目录的大小,缓存文件的格式,大小100M,一级子目录16个,每个一级子目录下有256个二级子目录 access_log /var/log/squid/access.logsquid//访问日志文件,默认开启 visible_hostname proxy.eflycloud.com//默认用环回口的主机名作为代理服务器的主机名。手动指定主机名时必须与物理接口绑定 maximum_object_size//允许缓存数据的最大值。不设置时,不限制 reply_body_max_size //允许通过代理服务器访问的最大目标对象 http_access allow all//默认拒绝所有主机 [root@ECSc134 ~]# cat /etc/hosts 127.0.0.1localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.1.254 proxy.eflycloud.com proxy//物理接口绑定主机名

启动服务

[root@ECSc134 ~]# service squid start init_cache_dir /var/spool/squid... Starting squid: .[OK] [root@ECSc134 ~]# netstat -anptu | grep :3128 Tcp00 0.0.0.0:31280.0.0.0:*LISTEN10439/(squid)

客户端浏览器中设置代理服务器

透明代理

透明代理:客户端不需要在本机的浏览器里指定代理服务器的IP地址和监听的端口号,给客户端的感觉是直接与公网通讯的。不过客户端需要指定或者添加透明代理服务器为网关。

配置透明代理服务器

[root@ECSc134 ~]# vim /etc/squid/squid.conf http_port3128transparent //透明传输 [root@ECSc134 ~]#service squid restart

写防火墙规则,把访问目标端口是80的请求转到3128端口。如果不指定端口则是全部请求都会转到3128端口

[root@ECSc134 ~]# service iptables start //开启防火墙服务 [root@ECSc134 ~]#setup [root@ECSc134 ~]# iptables-tfilter-F //清空表filter防火墙规则 [root@ECSc134 ~]# iptables-tnat -F //清空表nat防火墙规则 [root@ECSc134 ~]# iptables -t nat-A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128//PREROUTING 在路由之前,-i 数据包从哪个口进来,-s 源IP地址, –p 协议, –dport 目标端口, --to-ports 转到哪个端口 [root@ECSc134 ~]# service iptables save//永久生效

客户端将网关指向代理服务器的内网接口的ip地址

[root@ECSc164 ~]# route add default gw 192.168.1.254

睿江云官网链接:

睿江云主机租用-云服务器-支持免费测试-国内专业的云主机提供商​www.eflycloud.com/home?from=RJ0030