1.什么是squid服务?
html
提供的代理服务(缓存服务),能够缓存用户访问过的数据,当用户下次访问一样的数据时,squid代理能够从缓存中提取数据,能够直接访问,提升了访问速度和下降了对带宽的使用。web
2.应用的环境后端
公司现有100个用户须要所有上网,经过路由交换能够能够实现,也能够每人一个IP地址,经过以上方式上网不能缓存用户访问过的数据。浏览器
3.squid代理的方式有三种:缓存
普通代理:客户端必须在本身的浏览器里指定代理服务器的ip地址和代理服务监听的端口号,才可以经过代理服务器上网,代替局域网内的全部客户端上网。安全
透明代理:客户端不须要在本身的浏览器里指定代理服务器的ip地址和代理服务监听的
服务器
反向代理:代替公网客户端访问私网的服务器。网络
4.squid经过什么限制客户端经过本身访问什么样的资源?tcp
经过ACL(访问控制列表)来限制客户端 经过本身访问资源。
ide
*acl要先定义后调用,但能够只定义不调用
*调用acl时遇到匹配就执行,后边的就不查看了
*因此在调用acl时,要把要小范围的放在大范围的上边
5.squid优势:
1)经过缓存增长访问速度。
2)提供用私有IP访问internet的方法。
3)提升网络的安全性。
4)方便对用户的管理。
6.squid缺点:
1)产生单点故障。
2)当同时访问时网络比较慢。
7.进程名 squid
进程全部者/组 squid
端口号 3128
数据传输协议 tcp
实验(一)
实验目的:搭建普通代理
实验环境:3台服务器
pc1 主机名:localhost IP地址:192.168.1.10 内网客户机
pc2 主机名:fanlj 代理服务器 (eth0链接内网IP地址192.168.1.254,eth1链接外网IP地址1.1.1.254)
pc3 主机名:fanxiaohui IP地址:1.1.1.1 外网web服务
实验要求:
PC2代理内网用户PC1能够访问外网的WEB服务。
搭建实验环境分别安装以上要求进行搭建,而且在pc2上测试是否能够ping通1.1.1.254和1.1.1.1。
在外网WEB建立一个网页index.html,内容是1.1.1.1
在PC2上测试是否能够访问WEB的内容
在PC2上部署squid代理,能够代替内网用户PC1的用户能够访问PC3WEB的内容
1.查看软件包是否安装,若是没有安装,就安装squid软件包。
2.修改主配置文件,http_port访问squid端口为3128,cache_dir为缓存存放的目录,ufs为目录的固定格式,/var/spool/squid为存放的位置,100为缓存的大小,16为/var/spool/squid目录下有16个目录,256为在16个目录下有256个子目录,cache_mem为拿出实际物理内存32M作高速缓存,visible_hostname为主机名,当系统的主机名和hosts文件中127.0.0.1中的主机名不一致时,必须在squid配置文件中要指明主机名,默认squid服务就代替私ip地址经过本身上网。
3.从新启动squid服务,而且查看/var/spool/squid目录下是否有16个目录。
查看端口和进程
4.在客户端PC1测试,客户端必须在本身的浏览器中指定代理 服务器的IP地址和代理服务监听的端口 。
在客户端浏览器上选择编辑---首选项----高级----网络---设置----手动配置代理指向本身本网段squid代理的IP地址和端口为3128.
5.在代理服务器上查看有那些客户端访问过1.1.1.1
普通代理缺点:
客户端必须在本身浏览器中指定代理服务器的IP地址。
实验(二)
实验目的:配置透明代理
透明代理优势:客户端不须要在本身的浏览器里指定代理服务器的ip地址和代理服务监听的,只要把网关指定代理服务器的私网接口的IP地址就能够上网。
实验要求:客户端不在本身的浏览器中指定代理的接口和IP地址就能够上网。
配置squid透明代理的前题条件?
企业的网关(共享接入Internet)
防火墙服务必须和代理服务运行在一台服务器上
须要设置防火墙策略(将客户机的Web访问数据转交给代理服务程序处理)
一、把客户端访问网站的请求包,发个代理服务器
二、在代理服务器上运行防火墙服务,编写防火墙规则,把本机接收到的访问web的请求转交给本机的代理服务
iptables -t 表名 管理选项 链名 匹配条件 -j 处理动做
表名(不一样的表有不一样的功能)
filter 数据包过滤
mangle 给数据包打标记
nat 给数据包作转换(源地址 \ 目的地址\ 端口)
raw 跟踪数据包状态
管理选项
-L 查看
-D 删除
-A 添加
-F 清空
链 (数据包传输的方向 以防火墙本机为参照物)
INPUT 进入防火墙的数据包
OUTPUT 从防火墙本机出去的数据包
FORWARD 通过防火墙的数据包
POSTROUTING 路由后
PREROUTING 路由前
匹配条件
-i 指定数据包从那个物理接口进入
-s 指定数据包的来源地址
-p 指定数据传输协议
--dport 指定数据包的目标端口
处理动做
DROP 丢弃
REJECT 拒绝
DNAT 目标地址转换
SNAT 源地址转换
REDIRECT 端口状态
3.在客户端测试,打开客户端浏览器输入http://1.1.1.1
实验(三)squid反向代理
反向代理: 代替公网客户端访问私网的服务器。
实验目的:配置squid的反向代理
实验要求:公网用户要访问私网的服务器的内容。
实验环境:3台服务器
pc1 主机名:localhost IP地址:192.168.1.10 内网web服务器
pc2 主机名:fanlj 代理服务器 (eth0链接内网IP地址192.168.1.254,eth1链接外网IP地址1.1.1.254)
pc3 主机名:fanxiaohui IP地址:1.1.1.1 外网client(用户)
环境分析:外网用户要访问内网web服务器必须经过代理服务器来访问,代理服务器必须监听80端口才能使外网访问内网,因此代理服务器上的httpd访问必须中止,若是代理服务器上有httpd服务,那么外网只能访问代理上的web服务。
1.修改主配置文件,使代理服务器作反向代理。cache_peer为真正后端服务器的地址,parent代理服务器和实现web服务器的关系,80表明访问的端口,0表明与其余代理服务器通讯的接口,originserver表明提供服务器的真正主机。
2.代理服务器中止防火墙和查看80端口是否被占用,若是占用被释放,重新启动squid服务。
3.在web服务器端192.168.1.10作一个网页页面,并查看 httpd是否开启
4.公网用户查看是否能够访问web服务器。
实验(四)基于域名和端口的虚拟主机的访问。
实验目的(一):当外网用户访问www.tarena.com,内网服务器端显示wwwpage页面,(http://www.tarena.com显示wwwpage)
用户访问bbs.tarena.com ,内网服务器端显示bbspage页面(http://bbs.tarena.com 显示bbspage)。
1.在内网服务器建立两个文件夹用来存放页面分别为:wwwpage和bbspage
2.在内网服务器上建立基于域名的虚拟主机,使外网用户访问不一样地址时显示不一样的页面。
3.测试本身访问是否能够解析
4.在squid服务器上配置DNS服务用来解析www.tarena.com和bbs.tarena.com.
5.在外网客户端上测试查看是否能够访问www.tarena.com 和bbs.tarena.com