linux基础服务器架设squid(一)普通代理服务器!

一、简介

代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。

Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

1.1 工作流程

当代理服务器中客户端需要的数据时:

a. 客户端向代理服务器发送数据请求;

b. 代理服务器检查自己的数据缓存;

c. 代理服务器在缓存中找到了用户想要的数据,取出数据;

d. 代理服务器将从缓存中取得的数据返回给客户端。

当代理服务器中没有客户端需要的数据时:

1. 客户端向代理服务器发送数据请求;

2. 代理服务器检查自己的数据缓存;

3. 代理服务器在缓存中没有找到用户想要的数据;

4. 代理服务器向Internet 上的远端服务器发送数据请求;

5. 远端服务器响应,返回相应的数据;

6. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

1.2 Squid 分类

按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。

  • 普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
  • 透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
  • 反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器;

二、系统环境

普通代理服务器关闭iptables

操作系统:CentOS release 6.5 (Final)

Squid版本:squid-3.1.23-24.el6.x86_64

SELINUX=disabled

service iptables stop

三、安装Squid服务

3.1 首先检查系统中是否安装squid 软件

[[email protected] ~]# rpm -aq | grep squid

3.2 如果未安装,使用yum方式安装(配置本机yum源或使用阿里的源都可以,或使用RPM包方式进行安装)

[[email protected] ~]# yum -y install squid

下面是我安装的squid 的版本信息!

3.3 设置开机自启动

[[email protected] ~]# chkconfig squid on

或者[[email protected] ~]# chkconfig --level 35 squid on

确认服务状态

[[email protected] ~]# chkconfig --list | grep squid

squid 0:off 1:off 2:on 3:on 4:on 5:on 6:off

四、squid服务器的配置文件说明

squid 的主配置文件是 /etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,下面我们来讲解一下该文件的配置选项。

http_port 3128      //设置监听的IP与端口号

cache_mem 64 MB      //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),
               //比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB   //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘

minimum_object_size 0 KB   //设置squid磁盘缓存最小文件

maximum_object_size_in_memory 4096 KB   //设置squid内存缓存最大文件,超过4M的文件不保存到内存

cache_dir ufs /var/spool/squid 100 16 256   //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh        //log文件日志格式

access_log /var/log/squid/access.log combined  //log文件存放路径和日志格式

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  //定义本地网段

http_access allow localnet  //允许本地网段使用

http_access deny all  //拒绝所有

visible_hostname squid.david.dev  //主机名

cache_mgr [email protected]  //管理员邮箱

五、普通代理服务  

我的实验架构图

因为我的网络环境中有一个代理服务器(10.67.50.59),有权限用户可正常使用,本次我的是在现有环境下配置一个二级代理服务器(10.67.50.52)测试使用!

5.1 配置Squid 代理服务器IP地址

将eth0的IP地址修改为 10.67.50.52

5.2 查看squid.conf 的配置文件,在修改前先进行备份!

5.2.1  配置文件备份:cp /etc/squid/squid.conf /etc/squid/squid.conf.blk

5.2.2  grep 查看配置文件内的原始配置

[[email protected] squid]#  grep -P -v ‘#|^$‘ squid.conf.blk
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern .		0	20%	4320 

5.2.3 我们本次做普通的代理服务器,在设置之前,可将原始配置值姐删除,我们重新加入如下配置!

http_port 3128         #代理端口设置;默认3128
cache_mem 128 MB       #最大缓存块
cache_dir ufs /var/spool/squid 4096 16 256    #ufs:缓存数据的存储格式  #/var/spool/squid    缓存目录   #100:缓存目录占磁盘空间大小(M)   #16:缓存空间一级子目录个数  #256:缓存空间二级子目录个数cache_effective_user squid     #这里以用户squid 的身份squid服务器   我们安装完squid服务后,会在/etc/passwd 文件中生成一个 squid 的账号!截图如下!cache_effective_group squid    #这里以群组squid 的身份squid服务器cache_access_log /var/log/squid/access.log  #接入访问日志存放位置 cache_log /var/log/squid/cache.log   #缓存日志 cache_store_log /var/log/squid/store.log    #存储日志 visible_hostname basicservices   #可见主机名 acl localnet src 10.0.0.0/8     #acl 定义本地网络地址范围 http_access allow localnet      #允许所有的10.0.0.0/8地址段使用 cache_peer 10.67.50.59 parent 808 0 default   #本次设置为二级代理,需将服务请求指向一级代理,如默认为双网卡的以及代理,可无需配置此项 never_direct allow all   

如果以及代理需要账号密码,配置选项中需添加如下语句!方可调用一级代理

#cache_peer 10.67.50.59 parent 808 0 login=account:passwd default
  #never_direct allow all

生成的squid用户

5.3 初始化

[[email protected] ~]# squid -z

5.4 启动Squid

在此入伙遇到无法启动的情况,去查看一下/var/log/message 中的报错,我的是squid.conf配置文件语句有错误,导致无法启动,后修改正确后,可正常启动服务!

5.5 配置user proxy

5.6 测试

配置上以后,可以正常连接外网!

原文地址:https://www.cnblogs.com/Mr-henry-chen/p/10244526.html

时间: 2024-08-05 03:30:38

linux基础服务器架设squid(一)普通代理服务器!的相关文章

Linux与云计算——第二阶段 第一十一章:代理Proxy服务器架设—Squid代理服务器正向代理和客户端配置

Linux与云计算--第二阶段Linux服务器架设 第一十一章:代理Proxy服务器架设-Squid代理服务器正向代理和客户端配置 安装Squid 安装Squid来配置代理服务器. [1] 这是一个通用的转发代理配置 [[email protected] ~]# yum -y install squid [[email protected] ~]# vi /etc/squid/squid.conf # line 26: 添加一条新的ACL acl lan src 192.168.96.0/24

Linux与云计算——第二阶段 第三章:SSH服务器架设(上)openssh 基础

Linux与云计算--第二阶段Linux服务器架设 第三章:SSH服务器架设(上)openssh 基础 1.密码认证 配置SSH服务器以便远程主机连接访问 [1] 即使你在安装CentOS系统的时候选择了最小化安装,OpenSSH也会被默认安装,所以你不需要再安装任何额外的软件包来实现该功能.缺省情况下你可以通过密码实现远程访问,如果需要增强安全性,建议还是要修改部分配置. [[email protected] ~]# vim /etc/ssh/sshd_config # line 49:去掉备

鸟哥的Linux私房菜(基础学习,服务器架设)

纪念下吧:2014年大连的第一场雪,12月1号,早上出门就看见漫天飘着雪花,其实,还是很漂亮的! 自学过Linux的同学应该对<鸟哥的Linux私房菜>不会陌生,鸟哥分成两个部分来写,第一本就是<鸟哥的Linux私房菜--基础学习篇>,另一本就叫做<鸟哥的Linux私房菜--服务器架设篇>,第一本的内容大多是讲一些实用命令的,非常适合Linux的初学者去学习,第二本书的主要内容是讲一些网络协议,适合喜欢搞Linux网络的同学去学习,而鸟哥本人又无私的把他的两本书放到了网

Linux与云计算——第二阶段Linux服务器架设 第六章:目录Directory服务器架设—FreeIPA

Linux与云计算--第二阶段Linux服务器架设 第六章:目录Directory服务器架设-FreeIPA 1 FreeIPA 配置FreeIPA服务器 Configure IPA Server to share users' account in your local network. [1] Install FreeIPA. [[email protected] ~]# yum -y install ipa-server ipa-server-dns bind bind-dyndb-lda

《Linux应用大全 服务器架设》配套视频实验内容

<Linux应用大全 服务器架设>配套视频实验内容下载网址: http://pan.baidu.com/s/1mgD3Sq0 <Linux应用大全 服务器架设>介绍了Linux服务器配置各方面的知识,主要包括网络配置文件和网络命令.OpenSSH.VNC.NFS.Samba.DHCP.DNS.Apache.Tomcat.Nginx.SVN.Vsftpd.Sendmail.NTP.NIS.OpenLDAP.MySQL.PostgreSQL.iptables.NAT.Squid.路由器

Linux之安装部署squid代理服务器

Linux之安装部署squid代理服务器 1.案例拓扑图 系统centos6.5   软件sarg-2.3.7.tar.gz  squid-3.4.6.tar.gz 2.案例要求 (1)如上图要求配置网络,内部linux需要配置默认网关,外部linux不需要配置默认网关,squid服务器上开启路由转发. (2)在squid服务器上安装squid,并做相关的配置,启动squid服务,查看端口. (3)搭建传统代理服务器,要求在内部linux服务器能够使用传统代理访问外部的web服务器.内部客户端最

(转)推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus

在Linux/Unix上架设ASP.NET WEB服务器,有两个可选方式,一种是Mono+XSP,一种是Mono+Jexus,其它的方式,比如 Apache+mod_mono.Nginx+FastCgi 等等,其实质与XSP并无区别,都是使用Mono所提供的ASP.NET处理模块:Mono.WebServer名字空间实现对ASP.NET网站的支 持.Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控.入侵检测.URL重写.无文件路由等一系列重要功能和 专有特

Linux与云计算——第二阶段 第四章:DNS服务器架设1-安装BIND

Linux与云计算--第二阶段Linux服务器架设 第四章:DNS服务器架设1-DNS基础原理和软件包安装 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据IP地址查找对

《Linux应用大全 服务器架设》,内容最全面的Liux服务器架设书籍

<Linux应用大全 服务器架设>介绍了Linux服务器配置各方面的知识,主要包括网络配置文件和网络命令.OpenSSH.VNC.NFS.Samba.DHCP.DNS.Apache.Tomcat.Nginx.SVN.Vsftpd.Sendmail.NTP.NIS.OpenLDAP.MySQL.PostgreSQL.iptables.NAT.Squid.路由器.VPN和Oracle等服务器.