一、代理服务器应用场景分析

  想当年大学时候宿舍控制网速,苦了我们这帮魔兽党,一到晚上工会活动我们就得和全校上万名学生抢网速,作为坦克的我总是因为网速问题导致团灭,咱也是有自尊的人,一怒之下花300元办了个游戏加速器,果然顺畅了不少,宿舍朋友看我办代理,他们也买,总之第一次接触代理就是在大学时代,如今做技术了才开始深入探究这东西了,那么我们企业应用的代理不简简单单是加快网速的作用,还有很多功能,等我慢慢给你们说……

  代理服务器可以代替客户端向网站发出数据的请求,然后它会做一个缓存将得到的静态数据保存在代理服务器的缓存,缓存在它本地里面,等下一次有用户去进行请求的时候,代理服务器就会把这些数据直接交还给客户端,加快访问速度,企业要求的提升网速目的就实现了,常用的代理服务器软件有Squid、Nginx

  我们知道iptables 防火墙可以对局域网起到良好的保护作用,并提供了SNAT和DNAT地址转换策略,为共享接入互联网提供了方便,但是iptables不容易实现企业对员工的上网访问实施非法站点屏蔽,限制文件下载等管理和提升企业上网速度;我们知道它是包过滤型防火墙,工作在网络层和传输层,而代理服务器呐属于工作在应用层,相当于一个应用层的防火墙。

  Squid里面有ACL访问控制列表,可以自行定义哪些企业人员可以在什么时间段上网等功能,以及可以达到上网访问的数据的类别,比如我们只允许某些员工上网查资料,而不允许登录qq等操作,都可以通过Squid来精确的控制。但是有些应用程序不允许使用代理,这也算是它的一个弊端把,另外注意代理服务器不是一个网关服务器,不需要开路由转发功能,因此安全性要比iptabls好

二、代理的分类

  根据实际应用方式分类:传统代理、透明代理;下面还会介绍一种反向代理,我们可以简单地这样理解,普通代理是内网访问外网时配置的,反向代理就是外网需要访问我们局域网服务器配置的

  传统代理多用于Internet环境,比如说,为我们qq程序使用代理,可以隐藏本机真实的IP,为下载工具使用代理,可以避免我们服务器并发连接的限制,透明代理呐,多用于局域网环境,比如说咱们Linux网关中,启用透明代理,局域网主机就不用进行设置了,适合内部员工上网

1、传统代理

  普通的代理服务,须在客户机的浏览器、QQ聊天工具、下载软件等程序中手动设置代理服务器的地址和端口、由代理服务器代替客户机去请求数据

  例如访问某些国外网站,可以通过一台Internet上的代理服务器

2、透明代理

  客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

3、反向代理

  接受因特网的连接请求,并将请求转发给内网的服务器,获得数据后返回给因特网的客户端,类似于用iptables的DNAT策略发布服务器

三、代理的工作机制

  当我们客户机对网站进行访问请求时,代理服务器首先会查看自己的缓存里有没有客户机要访问的静态数据,同时访问网站,比对静态数据的一致性,如有不同,则更新静态数据,随网站提供的动态数据一起,把动静态数据一起交给客户机。

  以上过程我再拿一个例子解释一下,我们大家都在火车票代购点买过票吧,当我们需要买票时,我们先到达代购点,OK,这时就可以说我们(客户机)与代购点(代理服务器)联通了,另外,代购点的电脑(代理服务器)也肯定要与火车站售票网站(www.163.com)联通吧,Ok,我们发出买票请求,北京到南京的T888次列车,代购点肯定要查一下电脑,看一看此时我要买的火车票在此时还有没有吧,这就相当于代理服务器首先会查看自己的缓存里有没有客户机要访问的静态数据这一步,查完电脑,证明还有的话直接打印此次列车,就相当于把数据还给我们,如果查完没有票了,就会同步其他能到南京的列车,打印别的车次的火车票给我们,好了,这就是它整个的工作机制。

四、Squid安装与初始化

 1 ~]#tar zxvf squid-3.4.6.tar.gz -C /usr/src/
 2 ~]#cd /usr/src/squid-3.4.6/
 3 ~]#./configure --prefix=/usr/local/squid --sysconfdir=/etc/ --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex
 4 ~]#make && make install
 5 ~]#ln -s /usr/local/squid/sbin/squid   /usr/local/sbin/
 6 ~]#useradd -M -s /sbin/nologin squid  (这个用户主要用来设置初始化缓存目录的)
 7 ~]#chown -R squid:squid /usr/local/squid/var
 8 ~]#vim /etc/squid.conf
 9 其中可见
10 http_port 3128(监听端口为3128,另外通过icp_port项也能配置监听端口)
11 添加运行用户和组还有提示用配置项
12 cache_effective_user squid
13 cache_effective_group squid
14 visible_hostname 192.168.1.1(当squid出现问题时,可提示192.168.1.1)
15 ~]#squid -k parse  (检查配置文件)
16 ~]#squid -z (初始化目录,清除缓存)
17 ~]#squid (运行服务)
18 ~]#netstat -anpt | grep squid
19 tcp        0      0 :::3128                     :::*                        LISTEN      6187/(squid-1)
20
21 扩展命令如下:
22 ~]#killall -9 squid (关闭squid)
23 ~]#squid -k reconfigure (重新加载,但不中断服务,配置更改后,建议用这种方式加载)

注:我写了一个脚本来控制squid服务,大家可以参考我SHELL脚本分类里的文章http://www.cnblogs.com/mangood/p/6033044.html,把脚本放在/etc/init.d/squid下添加为系统服务,然后加执行权限chmod +x /etc/init.d/squid,再加为系统默认启动服务chkconfig --add squid并chkconfig squid on

转载于:https://www.cnblogs.com/mangood/p/6032644.html

Squid代理服务器(一)——大家所用的游戏代理软件到底为何物?相关推荐

  1. Squid 代理服务器应用大全

    文章目录 一.Squid 服务基础 1.1 缓存代理概述 (一) 代理的工作机制 (二)代理的基本类型 1.2 编译安装及运行步骤(理论) 1.编译安装Squid(将所需的包上传到/opt目录下) 2 ...

  2. 什么是游戏代理平台?游戏代理平台怎么选?

    随着技术的发展,以及疫情居家的时间增长,游戏迎来了进一步发展的"黄金时期".作为其中的重要组成部分,游戏代理平台也水涨船高,吸引了无数创业者的关注与视线.什么是游戏代理平台?游戏代 ...

  3. 部署Squid 代理服务器(内含传统、透明代理服务器的配置、ACL访问控制、日志分析、反向代理)

    标题 一.Squid 代理服务器 代理的工作机制 Squid 代理的类型 二.安装 Squid 服务 1.编译安装 Squid 2.修改 Squid 的配置文件 3.Squid 的运行控制 4.创建 ...

  4. 构建Squid代理服务器-传统代理、透明代理、反向代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理. 正向代理: 根据实现的方式不同 ...

  5. Linux下的squid代理服务器——正向代理、反向代理(cdn加速)

    一.squid代理服务器概述及功能 1. 什么是squid代理服务器? Squid是一个高性能的代理缓存服务器,Squid支持FTP.gopher.HTTPS和HTTP协议. 和一般的代理缓存软件不同 ...

  6. 缓存加速CDN——squid代理服务器应用(传统代理,透明代理)

    squid代理服务 一.缓存代理概述 1.1 web代理的工作机制 1.2 阿里云CDN产品介绍与工作原理 1.3 代理的基本类型 1.4 使用代理的好处 二.部署squid传统代理 2.1 实验环境 ...

  7. 缓存加速--Squid代理服务器应用(传统代理、透明代理)

    文章目录 一. Squid 服务基础 1.1 代理的工作机制 1.2 代理的基本类型 二. squid代理服务器(传统模式)搭建 实验目的 实验参数 实验过程 1. 手工编译安装squid 2. 修改 ...

  8. squid代理服务器应用及它的几种代理模式

    文章目录 一:squid代理服务器概述 1.1:squid简介 1.2:squid代理请求流程 1.3:squid代理服务类型 二:部署环境实验操作 2.1:环境案例 2.2:安装squid服务 2. ...

  9. 实验操作:Squid代理服务器应用(传统代理透明代理)--------------------------------------就整吧

    Squid代理服务器应用(传统代理&透明代理) 前言 一:squid概述 1.1:squid代理的作用 1.2:缓存代理概述 1.21:Web代理的工作机制 1.3:代理的基本类型 二:案例一 ...

最新文章

  1. linux内核网络接收数据流程图【转】
  2. seg是伪操作符,用来取后面符号的段地址
  3. C语言:L1-033 出生年 (15分)(解题报告)
  4. python plotly 弹出子图_python – 在plotly中添加组条形图作为子图
  5. mvc 职能划分_MVC架构的职责划分原则
  6. 前端学习(3079):vue+element今日头条管理-数据筛选处理
  7. linux定时监控端口并重新启动shell脚本命令
  8. android语法高亮插件,安卓语法高亮编辑器 HighlightTextEditor
  9. socket 例子 java_java socket例子
  10. SpringBoot2.x整合Redis数据库
  11. 警惕:ERP系统不堪重负的几大预警信号
  12. ubuntu下使用笔记本摄像头
  13. 点击微信公众号菜单按钮 跳转网页授权登录
  14. D3 二维图表的绘制系列(二十六)盒须图
  15. 2020年广东省中高级工程师职称评定条件要求和通知
  16. termios的例子
  17. Windwos 搭建TFTP
  18. 基于android的宠物救助站app
  19. 游戏Dapp怎么选择公链?
  20. oracle 8i 中文转拼音

热门文章

  1. 自然语言处理nlp:文本处理库SnowNLP介绍及应用
  2. 一个BI项目是如何开展的
  3. Elasticsearch中索引和文档的管理
  4. ffmpeg将yuv数据编码为H264格式数据
  5. 用Python学《微积分B》(微分中值定理与洛必达法则)
  6. 华为USG6000V1防火墙实现源目地址转换——不用server-map方式
  7. 教妹学Java(六):JDK,JRE和JVM之间有什么区别?
  8. buck电路中的布线问题
  9. 机器学习: t-Stochastic Neighbor Embedding 降维算法 (二)
  10. Android多媒体播放器源码解析(stagefright框架)