一、 squid 代理服务器概述
代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。
Squid是-个缓存Internet数据的软件,其接收用户的下载申请,并自动处理所下载的
数据。当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其
进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留
一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户
觉得速度相当快。Squid可以代理HTTP、FTP、GOPHER、SSL等协议并且Squid可以
自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。
工作流程:
当代理服务器中有客户端需要的数据时:
1.客户端向代理服务器发送数据请求
2.代理服务器检查自己的缓存
3.代理服务器在缓存中找到了用户想要的数据,取出数据;
4.代理服务器将从缓存中取得的数据返回给客户端
当代理服务器中没有用户需要的数据时:
1.客户端向代理服务器发送数据请求
2.代理服务器检查自己的缓存
3.代理服务器没有在缓存中找到了用户想要的数据;
4.代理服务器向Internet上的远端服务器发送数据请求
5.远端服务器呼应,返回相应的数据
6.代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的缓存数据中
工作在TCP/IP的应用层
代理类型:
正向代理:
普通代理
透明代理
反向代理
部署:
前提:关闭防火墙,关闭selinux
安装squid服务:
检查 rpm -qa | grep squid
未安装即挂载 或者 yum -y install squid*
设置开机自启动:
chkconfig --level 35 squid on //在3,5级别上自动运行squid服务
squid的配置文件:
主配置文件 /etc/squid/squid.conf
配置选项:
http_port 3128 //设置监听端口和IP
cache_mem 64 MB //额外提供squid使用的内存
maximum_object_size 4MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0KB //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096KB //设置squid内存最大文件,超过不保存到内存
cache_dir ufs/var/spool/squid 100 16 256 //定义squid的cache存放路径,cache目录容量(单位MB),一级缓存目录数量,二级缓存目录数量
logfromat combined %>a %ui %un [%tl] “%rm %ruHTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h”%Ss:%Sh //log文件格式
access_log /var/log/squid/access.log combind //log文件存放路径
cache_log /var/log/squid/cache.log //设置缓存日志
logfile_rotate //log轮循
cache_swap_high 95 //目录使用量大于95%开始清理
cache_swap_low 90 //cache目录清理到90%就停止
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本网段使用
http_access deny all //拒绝所有
-hostname //主机名
123456@qq.com //管理员邮箱
备注:squid需要两个网卡,即把linux下的网卡配置文件复制一份
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens34
vim ifcfg-ens34
更改名字
更改IP
删除UUID
service network restart
普通代理服务:
配置squid代理服务器的IP地址:
yum -y install net-tools.x86_64 //安装ifconfig
ifconfig ens34 200.168.10.1 //将ens34IP地址修改为200.168.10.1
编辑squid主配置文件/etc/squid/squid.conf
http_port 3128 //设置监听端口和IP
cache_mem 64 MB //额外提供squid使用的内存
maximum_object_size 4MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
cache_dir ufs/var/spool/squid 100 16 256 //定义squid的cache存放路径,cache目录容量(单位MB),一级缓存目录数量,二级缓存目录数量
access_log /var/log/squid/access.log //log文件存放路径
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本网段使用
http_access deny all //拒绝所有
初始化:
squid -z
启动:
/etc/init.d/squid start
配置web服务器:
安装Apache
rpm -qa | grep httpd
yum -y install httpd
启动apache并加入开机启动
/etc/init.d/httpd start
chkconfig httpd on
创建index.html
echo “
Squid-Web1/200.168.10.2
” > /var/www/html/index.html修改web服务器ip地址
ifconfig ens33 200.168.10.2 //将web服务器的IP地址修改成200.168.10.2
配置客户端的IP在192.168.1.0/24段即可访问
在浏览器代理中设置
成功标志:
网页出现Squid-Web1/200.168.10.2