Squit代理服务器配置与应用

缓存概述

Web代理的工作机制

  • 缓存网页对象,减少重复请求
    在这里插入图片描述

代理的基本类型

  • 传统代理:适用于Internet,需明确指定服务端
  • 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

使用代理的好处

  • 提高Web访问速度
  • 隐藏客户机的真实IP地址

部署代理实验

实验环境

 - squid:20.0.0.10
 - web1:20.0.0.11
 - web2:20.0.0.12
 - client:20.0.0.13

Squid安装及运行

1:解压缩软件包

[root@squid ~]# tar zxvf squid-3.5.23.tar.gz 

2:配置以及编译安装

[root@squid ~]# cd squid-3.5.23/
[root@squid squid-3.5.23]# ./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
[root@squid squid-3.5.23]# make && make install

配置解释

  • –enable-linux-netfilter #linux内核通过netfilter模块实现网络访问控制功能
  • –enable-linux-tproxy #实现透明代理功能
  • –enable-async-io=100 #异步传输输入输出数量
  • –enable-err-language=“simplify Chinese” #用中文报错
  • –enable-underscore #允许下划线
  • –enable-poll #协调读写设备个数或读写设备顺序的函数
  • –enable-gnuregex #c/c++常用的正则表达式

3:创建链接

[root@squid ~]# ln -s /usr/local/squid/sbin/* /usr/sbin/

4:创建不可登录用户

[root@squid ~]# useradd -M -s /sbin/nologin squid

5:更改所有者

[root@squid ~]# chown -R squid.squid /usr/local/squid/var/

6:修改配置文件并检查语法

[root@squid ~]# vi /etc/squid.conf
# Leave coredumps in the first cache dir
cache_effective_user squid                                #添加:指定程序用户
cache_effective_group squid                               #添加:指定账号基本组
coredump_dir /usr/local/squid/var/cache/squid
[root@squid ~]# squid -k parse

7:初始化缓存目录并开启服务

[root@squid ~]# squid -z
[root@squid ~]# squid 
[root@squid ~]# netstat -anpt | grep squid
tcp6       0      0 :::3128                 :::*       LISTEN      98006/(squid-1)   

8:创建管理文件

[root@squid ~]# vi /etc/init.d/squid
#!/bin/bash
#chkconfig: 35 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case $1 in
start)
   netstat -anpt | grep squid &> /dev/null
   if [ $? -eq 0 ]
   then echo "squid is running"
   else echo "正在启动squid"
     $CMD
   fi 
;;
stop)
   $CMD -k kill &> /dev/null
   rm -rf $PID &> /dev/null
;;
reload)
   $CMD -k reconfigure
;;
status)
   [ -f $PID ] &> /dev/null
     if [ $? -eq 0]
     then netstat -anpt | grep squid
     else echo "squid is not running"
     fi
;;
restart)
   $0 stop &> /dev/null
   $0 start &> /dev/null
;; 
check)
   $CMD -k parse
;;
*)
   echo "用法: $0{start|stop|status|restart|reload|check}"
esac
[root@squid ~]# chmod +x /etc/init.d/squid 
[root@squid ~]# chkconfig --add /etc/init.d/squid 
[root@squid ~]# chkconfig --list

9:传统代理服务器设置

[root@squid ~]# vi /etc/squid.conf
# And finally deny all other access to this proxy
http_access allow all                                     #添加:允许所有
http_access deny all

http_port 3128
cache_mem 64 MB                             #添加
reply_body_max_size 10 MB                   #添加
maximum_object_size 4096 KB                 #添加
[root@squid ~]# squid -k parse

解释

  • cache_mem 64 MB#指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
  • reply body max size 10 MB#允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制
  • maximum object size 4096 KB#允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户

10:开启服务

[root@squid ~]# systemctl stop squid
[root@squid ~]# systemctl start squid
[root@squid ~]# systemctl status squid
● squid.service - (null)
   Loaded: loaded (/etc/rc.d/init.d/squid; bad; vendor preset: disabled)
   Active: active (running) since 二 2020-12-15 15:31:19 CST; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 98470 ExecStop=/etc/rc.d/init.d/squid stop (code=exited, status=0/SUCCESS)
  Process: 98480 ExecStart=/etc/rc.d/init.d/squid start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/squid.service
           ├─98484 /usr/local/squid/sbin/squid
           ├─98486 (squid-1)
           └─98487 (logfile-daemon) /usr/local/squid/var/logs/access.log
[root@squid ~]# netstat -anpt | grep squid
tcp6       0      0 :::3128                 :::*       LISTEN      98486/(squid-1)  

web以及client设置

1:安装Apache服务

[root@web1 ~
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值