squid服务器

目录

squid初识

安装squid代理

常用命令

主要配置文件

正向代理

环境配置

linux服务器设置

windows客户端设置

反向代理

环境配置

在web服务器配置服务

linux服务器配置

squid初识

含义:squid cache是一个流行的自由软件(GNU通用公共许可证)的代理服务器和web缓存服务器。

原理:通过squid可以实现用户的快速访问功能,当用户想要下载一个主页时,可以向squid发起一个申请,要squid代替其进行下载,然后squid连接所申请的网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,squid把保留的备份立即传给用户,使用户觉得速度相当快

官网:squid : Optimising Web Delivery

注意:squid服务默认端口为3128

squid代理分类

  • 正向代理
  • 反向代理
  • 透明代理

安装squid代理

检查软件是否安装: rpm -qa | grep squid

注意:没有任何反应表示没安装。

安装:yum -y install squid

常用命令

设置开机自启动:systemctl enable squid.service

关闭开机自启动:systemctl disable squid.service

手动开启squid:systemctl start squid.service

手动关闭squid:systemctl stop squid.service

查看squid服务状态:systemctl status squid

注意:squid配置文件位置——/etc/squid/squid.conf

主要配置文件

http_port 192.168.233.128:3128            //设置监听的ip和端口
cache_mem 64 MB                           //额外提供给squid使用的内存
maximum_object_size 4 MB                  //设置squid磁盘缓存最大文件,超过4MB的文件不保存到硬盘
minimum_object_size 0 KB                  //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB     //设置squid内存缓存最大文件
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的catch存放路径、catch目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
//定义log文件日志格式
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
//log文件存放路径和日志格式
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log        //设置缓存日志
logfile_rotate 60                         //log轮询60天
cache_swap_high 95                        //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90                         //cache目录清理到90%时停止
acl localnet src 192.168.1.0/24           //定义外网网段
acl lan src 192.168.233.0/24              //定义内网网段
acl SSL_ports port 443
acl Safe_ports port 53
http_access allow localnet                //允许外网网段使用
http_access allow lan                     //允许内网网段使用
http_access deny all                      //拒绝所有
visible_hostname linuxserver              //主机名(随便起)
cache_mgr [email protected]              //管理员邮箱

正向代理

环境配置

  • windows虚拟机:一块网卡采用仅主机模式,(ip:192.168.233.188)
  • linux虚拟机:两块网卡,一块网卡采用仅主机模式(ip:192.168.233.128)一块网卡采用桥接模式(ip:192.168.1.35)
  • 外围物理机:windows系统,ip地址为192.168.1.14

解释:仅主机模式封闭无法访问外网,外围物理机可以访问外网,我要linux网卡1桥接到外围物理机可以上网,网卡2仅主机模式可以与windows虚拟机相互通信,让linux虚拟机成为windows虚拟机的代理服务器实现windows虚拟机上网。

linux服务器设置

编辑配置文件:vi /etc/squid/squid.conf

配置文件

http_port 192.168.233.128:3128
cache_dir ufs /var/spool/squid 100 16 256
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log
acl localnet src 192.168.1.0/24
acl lan src 192.168.233.0/24
http_access allow localnet
http_access allow lan
http_access deny all
visible_hostname linuxserver

初始化squid缓存目录:squid -z

查看初始化生成的文件:ls /var/spool/squid/

启动squid服务:systemctl start squid.service

注意:开放端口3128才可以

windows客户端设置

安装代理插件——SwitchyOmega

配置代理并使用

结果:windows客户机可以上网(将本机的请求上传到192.168.233.128的3128端口,代理服务器收到后将请求对应的服务器并且响应给windows客户机)

注意:你的代理服务器必须得让你的客户机访问到才可以

反向代理

环境配置

  • windows server虚拟机:一块网卡采用仅主机模式,(ip:192.168.233.132)
  • linux虚拟机:两块网卡,一块网卡采用仅主机模式(ip:192.168.233.129)一块网卡采用桥接模式(ip:192.168.1.35)
  • 一部手机:对应的IP地址为192.168.1.12,仅用于外部访问

解释:windows server作为web服务器,在仅主机模式下模拟内网;而linux的网卡1仅主机模式下与windows server通信,网卡2在桥接模式下模拟外网与手机通信,从而linux作为反向代理服务器接收手机请求,转发给内网的windows server。

在web服务器配置服务

在d盘根目录下进行如下操作

将该网页文件发布到web服务器IIS中

打开iis点击服务器图标,选择网站右击添加网站

本地和仅主机访问http://192.168.233.132:8080请求成功 

linux服务器配置

 编辑配置文件:vi /etc/squid/squid.conf

配置文件

//linux主机监听192.168.1.35的3129端口
http_port 192.168.1.35:3129 accel vhost vport
//将端口的请求转发到192.168.233.132的8080端口上
cache_peer 192.168.233.132 parent 8080 0 no-query no-digest originserver
cache_dir ufs /var/spool/squid 100 16 256
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log
http_access allow all

注意:

  • 要把监听端口的请求引导到哪台主机上,用cache_peer来管理
  • catch_peer可以写多个,用来配置负载均衡

启动squid服务:systemctl start squid.service

结果:手机访问192.168.1.35:3129地址成功。

理解:linux代理服务器监听3129端口,当有人请求3129端口后,那么就会将请求转发到192.168.233.123的8080端口上,进而实现了反向代理服务器的功能。

猜你喜欢

转载自blog.csdn.net/m0_60027772/article/details/132493223