Squid代理服务器的认识与总结
一、代理服务器的工作机制
作用:代替客户机向网站服务端请求数据,以此隐藏自身IP地址。
工作模式:将获取的网页数据保存在缓存中再发送到客户机。(保存在缓存中的数据方便快速响应下次访问。)
二、三种代理类型:传统、透明、反向
1、传统代理
适用于Internet,需在客户机指定代理服务器的地址和端口。
#--------模块解释--------------------------------------------------
--prefix=/usr/local/squid #指定安装目录路径
--sysconfdir=/etc #指定配置文件路径
--enable-arp-acl #MAC地址管控,防止客户端使用ip欺骗
--enable-linux-netfilter #使用内核过滤
--enable-linux-tproxy #支持透明模式
--enable-async-io=100 #异步1o,提升存储性能
--enable-err-language="Simplify_Chinese" #错误信息的显示语言
--enable-underscore #允许URL中有下划线
--disable-poll \ #关闭默认使用的poll 模式
--enable-epoll \ #开启epoll模式,提升性能
--enable-gnuregex #使用GNU正则表达式
#----------------------------------------------------------------
# 允许所有用户访问
http_access allow all
# 拒绝所有用户访问
http_access deny all
# 指定端口
http_port 3128
# 指定用户(user)和组(group)访问
cache_effective_user squid
cache_effective_group squid
#---------63行插入-----------------------------------------------
cache_mem 64 MB
reply_body_max_size 10 MB
maximum_object_size 4096 KB
#---------添加内容解释------------------------------------------
cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size 10 MB #允许用户下载的最大文件大小,以字节为单位,当下载超过指定大小的Web对象时,浏览器的报错页面中会出现“请求或访问太大”的提示默认设置0表示不进行限制
maximum_object_size 4096 KB #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户
#-------------------------------------------------------------------
service squid restart
部署Squid代理服务器Shell脚本
#!/bin/bash
# 确保安装了yum仓库
yum -y install gcc gcc-c++ make
cd /opt
## 确保存在改软件包
tar zxvf /opt/squid-3.5.23.tar.gz
cd /opt/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
make && make install