squid构建代理服务器

编译安装squid:

tar xvf squid-3.5.25-20170408-r14154.tar.gz -C /usr/src/ #解压

cd /usr/src/

./configure --prefix=/usr/local/squid --enable-async-io=160

--enable-epoll --enable-linux-netfilter --enable-stacktraces

--enable-gunregex --enable-linux-tproxy --enable-underscore

--enable-arp-acl --enable-err-languages="Simplify_Chinese" #配置

make && make install #编译   安装

编译参数:

--prefix #安装位置

--enable-kill-parent-hack #启用关掉squid进程时连同父进程也一起关掉

--enable-large-cache-files= #支持大的缓存文件

--enable-snmp #启用SNMP,是监视网络设备和服务器的流行方法

--enable-async-io=160 #启用同步I/O技术,用以提升存储性能

--enable-storeio=ufs,aufs,diskd #支持不同存储模块

--enable-epoll #支持epoll的IO模式,内核26.以上才支持,比poll更高效

--enable-poll #支持poll的IO模式

--enable-linux-netfilter #启用内核过滤

--enable-stacktraces #如果squid崩溃,数据追踪信息被写到cache.log文件

--enable-referer-log #激活来自客户请求的HTTP referer日志

--enable-useragent-log #激活来自客户请求的HTTP用户代理头日志

--enable-err-languages="Simplify_Chinese" #指定错误日志显示语言

--enable-gunregex #启用GUN正则表达式

--enable-linux-tproxy #支持透明模式

--enable-underscore #支持URL中包含下划线(__)

--enable-arp-acl #支持ARP,或者以太地址访问控制列表

--enable-htcp #HTCP是超文本缓存协议,类似于ICP的内部缓存协议

--with-large-files= #支持大的文件

--with-maxfd= #覆盖的最大数量的文件描述符

--sysconfdir=/etc #指定配置文件目录

初始化:

useradd -M -s /sbin/nologin squid #创建程序用户

chown -R squid#squid /usr/local/squid/var #修改权限

ln -s /usr/local/squid/sbin/* /usr/local/sbin #链接命令到环境变量

squid -z #初始化缓存目录

chmod -R 777 /usr/local/squid/var/ #赋予缓存目录权限

squid命令:

squid -z #初始化缓存目录

squid #启动服务(默认端口#3128)

squid -k parse #检查主配置文件语法

squid -k shutdown #安全停止squid服务

squid -k reconfigure -f /usr/local/squid/etc/squid.conf #重新加载配置文件

squid -k kill #强制关闭服务

squid基本配置:

主配置文件:/usr/local/squid/etc/squid.conf

配置参考手册:/usr/local/squid/etc/squid.conf.documented

备份主配置文件:cp -p /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.bak

squid.conf文件详解

cache_effective_user   squid #程序用户

cache_effective_group  squid #程序组

acl localnet src 192.168.0.0/24   #定义本地网段

http_port 3128       #监听的IP和端口

cache_mem 64 MB   #额外提供给squid使用的内存,总内存大小 (cache目录大小)*10+15+(cache_mem)

maximum_object_size 4 MB   #设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘

minimum_object_size 10 KB   #设置squid磁盘缓存最小文件

cache_swap_high 95   #cache目录使用量大于95%时,开始清理旧的cache

cache_swap_low 70   #cache目录清理到70%时停止

reply_body_max_size 5 MB #允许下载的最大文件大小

visible_hostname localhost #主机名

cache_mgr [email protected] #管理员邮箱

http_access allow all   #允许所有

http_access deny all   #拒绝所有(默认拒绝)

squid配置实例:

普通代理:

vim squid.conf #修改配置文件

visible_hostname  www.test.com

cache_mgr [email protected]

http_access allow all

http_access deny all

reply_body_max_size 5 MB

squid -k parse #检查语法

squid #开启服务

netstat -napt | grep 3128 #查看服务是否开启

验证:在客户端浏览器上设置代理,将代理服务器的ip指向squid服务器

tail -f /usr/local/squid/var/logs/access.log #查看日志变化

透明代理:

vim squid.conf #修改配置文件

visible_hostname  www.test.com

cache_mgr [email protected]

http_port 0.0.0.0:3128 transparent #配置透明代理

http_access deny all

reply_body_max_size 5 MB

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80  -j REDIRECT --to-port 3128

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128

#iptables重定向,将重eth0进入的流量并且是访问80或443的数据重定向到squid服务器

验证:

1、清空流量器上的所有代理设置

2、将客户端的网关指向eth0网卡上的ip地址

3、查看squid的访问日志是否发生变化

时间: 2024-12-08 20:55:37

squid构建代理服务器的相关文章

Squid服务基础及构建代理服务器

1.1 Squid服务基础 1.1.1 缓存代理概述 Squid:应用层的代理服务软件,主要提供缓存加速.应用层过滤控制的能 1.代理的工作机制: 当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需呀的页面,则直接将缓存中的页面内容反馈给客户机:如果缓存中没有客户机要的访问页面,则由代理服务器向internet发送请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机,如下图所示. 2.代理的基本类型 传统代理:也就是普通的代理服务器

Squid-4.1(最新)安装及构建代理服务器

Squid-4.1(最新)安装及构建代理服务器 缓存代理简介 Squid作为应用层代理服务软件,主要提供缓存加速和应用层过滤控制的功能.本次实验使用的是Squid 4.1版本,和以往版本有较多不同,经过几天的摸索,终于成功实现了传统代理.透明代理及反向代理等功能. 代理的工作机制 代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记.其最基本的功能就是连接,此外还包括安全性.缓存,内容过滤,访问控制管理等功能.当

SQUID透明代理服务器

通过配置透明代理服务器,实现以下目标: 实现本地局域网中的所有主机均可以通过代理服务器访问Web服务器 客户端使用代理访问Web服务时,浏览器无需提前配置代理服务器 代理服务器除了承担代理外,还需要实现网关路由的功能 客户端测试是否可以使用代理服务器访问外网的Web服务器 2.2 方案 使用3台RHEL6虚拟机,其中一台作为Squid代理服务器/网关服务器,该服务器用来连接两个网段,因此需要配置两块网卡,地址分别为192.168.4.5和172.16.16.1.一台作为客户端测试主机,IP地址为

利用Squid构建传统代理及透明代理

关于Squid的简介及安装部署过程可以参考博文:Squid代理服务器安装及部署 传统代理的实现最为简单,透明代理还需要结合默认默认路由.防火墙策略等一起来完成. 构建传统代理 使用传统代理的特点在于:客户机的相关程序(如IE浏览器.QQ聊天软件)必须指定代理服务器的地址.端口等基本信息. 案例环境 案例实施步骤大致分为: 1.Squid服务器的配置: 2.客户机的代理设置: 3.验证代理服务器. 案例实施 关于搭建Web服务器可以参考博文:CentOS 7 利用Apache搭建Web网站服务 如

squid 反向代理服务器

简介: Squid 反向代理常用于服务器端,客户端访问 Squid 代理服务器的 80 端口,Squid 代理服务器根据配置去请求后端的 web 服务器, 然后将请求到的信息保存在本地并回传给客户端,当又有客户端请求相同资源时,Squid 代理服务器直接将缓存中的信息回传给客户端. 一.安装 Squid shell > ulimit -n  # 默认打开文件描述符为 1024 ,要增大它 1024 shell > vim /etc/security/limits.conf * - nofile

Windows下配置Squid反向代理服务器

Squid是一款类Unix系统下非常流行的服务器软件,其最重要的功能就是在客户端和服务端之间建立缓存.因而Squid可以用作反向代理,部署多级缓存或者搭建CDN等,无论名称是什么,本质上都是一样的.目前Windows下也有Squid的移植版本,可以应对使用Windows环境的场景.这里是下载地址和文档,如果需要了解Squid技术细节可以看看<Squid: The Definitive Guide>这本书的翻译版本. 一.安装Squid 如果下载Binaries版本,直接解压到c:\squid.

Squid Linux 代理服务器

简介: Squid 是 Linux/Unix 平台下最为流行的高性能免费应用层代理服务器,它具有权限管理灵活.性能高和效率快的特点. 代理服务器可以提供文件缓存.复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机的访问速度. 同时可以作为一个防火墙,隔离内外网,并且能够提供监控网络和记录传输信息的功能,加强局域网的安全性. 代理服务器工作原理: 1.客户端 A 向代理服务器发出访问 Internet 的请求 . 2.代理服务器接受请求后,首先与访问控制列表中的访问规则相匹配,如果满足规则

centos上squid普通代理服务器设置

参考文档: http://www.linuxidc.com/Linux/2013-10/91006.htm http://www.cnblogs.com/mchina/p/3812190.html 可恶,公司把百度云盘,笔记什么的都封了额.好麻烦,考虑到公司的IT能力比较强,就不使用网上的通用代理服务器了,我还是自己DIY一个吧. PS:充分利用我的云服务器的剩余价值,好呆也是个一个月70几块钱租用的. 当然了之前,也可以参考本人之前的使用的3proxy文件,哈哈: linux下3proxy二级

Squid正向代理服务器

Squid代理服务器一.缓存代理概述应用层的代理服务软件,Squid主要提供缓存加速.应用层过滤控制的功能 1.代理的工作机制第一种情况:Squid服务器中有缓存当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容反馈给客户机:第二种情况:Squid服务器中没有缓存如果缓存中没有客户机要访问的页面,则由代理服务器向Internet发送访问请求,当获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机HTTP代理