Squid代理服务器的了解与基本配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Squid代理服务器的了解与基本配置相关的知识,希望对你有一定的参考价值。

前言


Squid(Squid cache,简称Squid)是Linux系统中最常用的一款开源代理服务软件,

可以很好地实现HTTP和FTP,以及DNS查询、SSL等应用的缓存代理,功能十分强大。

搭建代理服务器可以提高上网打开网页的速度,可以对非法网站进行屏蔽,限制文件下载,

以及查看员工访问internet的情况,包括上网的地址,用户,时间等,

是企业网络管理的常用手段。


Squid服务的作用


1.加快对http访问的速度

 

2.提高安全性客户机请求由代理服务器代替完成,隐藏用户的真实IP地址

 

3.能够进行访问控制

 

代理的基本类型

 

传统代理:需要在客户机的浏览器、相关的工具上手动设置代理服务器的地址和端口,

访问的网页域名也是由代理服务器进行解析的。

 

透明代理:客户不需要指定代理服务器的地址和端口,而是通过网关,

由防火墙的重定向策略将用户的请求交给代理服务器处理;

域名解析由客户机完成。


1.解压

[[email protected] ~]# tar  -zxf  /mnt/squid-3.4.6.tar.gz  -C  /usr/src

 

2.配置、编译、安装

[[email protected] ~]# cd  /usr/src/squid-3.4.6

[[email protected] squid-3.4.6]# ./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

 

--prefix=/usr/local/squid  //安装目录

--sysconfdir=/etc  //单独将配置文件修改到其他目录

--enable-arp-acl  //可以在规则中设置直接通过客户端MAC进行管理,

   防止客户端使用IP欺骗

--enable-linux-netfilter  //使用内核过滤

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

--enable-async-io=100  //异步I/O,提升储存性能

--enable-err-language="Simplify_Chinese"  //错误信息的显示语言

--enable-underscore  //允许URL中有下划线

--enable-poll  //使用Poll()模式,提升性能

--enable-gnuregex  //使用GNU正则表达式

 

[[email protected] squid-3.4.6]# make  &&  make install

 

3.创建连接文件、创建用户和组

[[email protected] squid-3.4.6]# ln  -s  /usr/local/squid/sbin/*  /usr/local/sbin

[[email protected] squid-3.4.6]# useradd  -M  -s  /sbin/nologin squid

[[email protected] squid-3.4.6]# chown  -R  squid:squid  /usr/local/squid/var


4.编辑squid配置文件

[[email protected] squid-3.4.6]# vim  /etc/squid.conf

省略部分内容

cache_effective_user squid

//指定squid程序用户需要手工添加

 

cache_effective_group squid

//程序基本组账户需要手工添加

 

visible_hostname centos2.benet.com

//主机名需要手工添加


cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256

//设置缓存目录的大小,一级子目录和二级子目录的个数(默认有此项,去点前面的#)

 

5.squid的运行控制

 

1)检查配置文件语法是否正确

[[email protected] ~]# squid  -k  parse

 

2)启动、停止squid

[[email protected] ~]# squid  -z

//-z选项用来初始化缓存目录

 

[[email protected] ~]# cd  /usr/local/squid/var/cache/squid/

[[email protected] squid]# ls

00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

 

[[email protected] ~]# netstat  -anpt | grep "squid"

tcp   0   0   :::3128   :::*   LISTEN   38412/(squid-1)

//确认squid服务处于正常监听状态

 

3)不添加为系统服务情况下

 

[[email protected] ~]# squid

//启动squid服务

 

[[email protected] ~]# squid -k

//停止squid服务

 

[[email protected] ~]# squid -k  reconfigure

//重新加载squid服务

以上是关于Squid代理服务器的了解与基本配置的主要内容,如果未能解决你的问题,请参考以下文章

了解Squid代理服务器应用

代理服务器备注

Squid代理—传统与透明代理的服务搭建

squid代理服务器介绍与配置(理论+实践)一

CentOS 6.4下Squid代理服务器的安装与配置

Squid缓存服务器原理与实战演练