了解squid服务以及安装部署

squid作为一款应用层的代理服务软件,它主要提供了缓存加速、应用层过滤的功能。

squid代理服务器的工作机制:

当我们客户机通过squid代理去访问web页面时,指定的代理服务器会先检查自己的缓存,若是缓存中有我们客户机需要的页面,那么squid服务器将直接把缓存中的页面内容返回给客户机,如果缓存中没有客户端请求的页面,那么squid代理服务器就会向internet发送访问请求,获得返回的web页面后,将网页的数据保存到缓存中并发送给客户机。

由于客户机的web访问请求实际上是squid代理服务器来代替完成的,所以隐藏了用户的真实IP地址,从而起到一定的保护作用。
另一方面,squid也可以针对要访问的目标、客户机的地址、访问的时间段进行过滤控制。

根据实现的方式不同,基本可以分为传统代理和透明代理两种方式:

传统代理:也就是普通的代理服务,需要我们客户端在浏览器、聊天工具等一些程序中设置代理服务器的地址和端口,然后才能使用代理来访问网络,这种方式相比较而言比较麻烦,因为客户机还需手动指定代理服务器,所以一般用于Internet环境。

透明代理:与传统代理实现的功能是一样的,区别在于客户机不需要手动指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向,实际上仍然交给代理服务器来处理,重定向的过程完全是由squid服务器进行的,所以对于客户机来说,甚至不知道自己使用了squid代理服务,因此呢,我们称之为透明模式。
透明代理多用于局域网环境,如在Linux网关中启用透明代理后,局域网主机无须进行额外设置就能享受更好的上网速度。

就此打住,不说废话,开始安装及优化squid服务器:

来吧,先来搭建一个传统代理:

所需设备:

1、Windows客户端一个;
2、squid服务器一个,具有两块网卡;
3、web服务器一个;

所需squid源码包:

链接:https://pan.baidu.com/s/1RoWEOxLH1yFHSL07pralYw
提取码:sdnx
或者直接去官网下载:
http://www.squid-cache.org/Versions/
网络环境如下:

1、开始实施安装:

[[email protected] src]# tar zxf squid-3.5.23.tar.gz
[[email protected] src]# cd squid-3.5.23/
[[email protected] squid-3.5.23]# ./configure --prefix=/usr/local/squid
--sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240
--enable-default-err-language=Simplify_Chinese --disable-poll
--enable-epoll --enable-gunregex && make && make install     

上述配置项的具体作用如下:
--prefix=/usr/local/squid :指定安装目录;
--sysconfdir=/etc :单独将配置文件修改到其他目录;
--enable-linux-netfilter:使用内核过滤;
--enable-async-io=值:异步I/O,提升存储性能;
--enable-default-err-language=Simplify_Chinese :错误信息显示语言。
--disable-poll 与--enable-epoll:关闭默认使用poll模式,开启epoll模式提提升性能;
--enable-gunregex:使用GUN正则表达式。
更多的配置项可以参考“./configure --help”。

安装完成后,创建链接文件、创建用户和组:

[[email protected] /]# # ln -s /usr/local/squid/sbin/* /usr/local/sbin/
[[email protected] /]# useradd -M -s /sbin/nologin squid
[[email protected] /]# chown -R squid:squid /usr/local/squid/var/

2、修改squid的配置文件:

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

                 ...........................

http_port 3128      #用来指定代理服务器监听地址和端口,默认存在该行(默认端口号是3128)
cache_effective_user squid   #用来指定squid的程序用户,用来设置初始化等相关信息。
#否则启动不成功,该行及下一行配置项默认不存在。
cache_effective_group squid      #用来指定运行组。需手动添加该行

                 ...........................

3、squid服务的运行控制:

[[email protected] /]# squid -k parse
#检查配置文件语法是否正确,只要在输出的信息中没有ERROR字样即可。
[[email protected] /]# squid -z                         #初始化缓存目录。
[[email protected] /]# squid                            #启动squid服务。

#为了方便控制服务,编写一个squid服务脚本,并添加为系统服务,脚本如下:
[[email protected] /]# vim /etc/init.d/squid

#!/bin/bash
#chkconfig: 2345 90 25
#config: /etc/squid.conf
#pidfile: /usr/local/squid/var/run/squid.pid
#description: Squid - Internet Object Cache
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
;;
 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
        echo "正在关闭squid..."
                $0 start &> /dev/null
        echo "正在启动squid..."
;;
reload)
        $CMD -k reconfigure
;;
check)
        $CMD -k parse
;;
*)
        echo "用法:$0 {start | stop | restart | reload | check | status}"
;;
esac

[[email protected] /]# chmod +x /etc/init.d/squid              #赋予脚本执行权限
[[email protected] /]# chkconfig --add squid                     #添加为系统服务
[[email protected] /]# systemctl restart squid                      #重启服务以测试脚本是否可用

现在基于传统代理的squid代理服务器已经配置完成了,模拟的web服务器省略配置过程,可参考博文:https://blog.51cto.com/14154700/2391114 搭建web服务器。现在开启客户端进行配置及验证:

1、打开浏览器,手动指定代理服务器:
1)

2)

3)指定代理服务器IP及端口号:

4)访问验证(看到了网站默认的首页):

这里没做DNS服务,若需要DNS服务,参考博文:https://blog.51cto.com/14154700/2357252

至此,基于传统代理的部署已经完成,并测试成功。

配置squid服务器的透明代理参考博文: https://blog.51cto.com/14154700/2406121

原文地址:https://blog.51cto.com/14154700/2406060

时间: 2024-08-27 06:32:22

了解squid服务以及安装部署的相关文章

通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

=========================================================== conf : 录入服务器IP.安装路径后,脚本自动获取需要修改配置.每个服务提供一个配置文件,方便管理与扩展. bin : 提供总执行与单一执行脚本,脚本通过自动化获取配置,便于维护与扩展. bak : 保留获取原配置文件,便于问题分析. temp : 临时文件将及时删除无任何冗积. tools: 常用配置与通用文件处理写入统一函数,具体服务只需调用. new : 服务器交互文

Squid 服务的安装及部署

squid 作为一款服务器代理工具,可以缓存网页对象,减少重复请求,从而达到加快网页访问速度,隐藏客户机真实IP,更为安全.squid的工作机制:当我们客户机通过squid代理去访问web页面时,指定的代理服务器会先检查自己的缓存,若是缓存中有我们客户机需要的页面,那么squid服务器将直接把缓存中的页面内容返回给客户机,如果缓存中没有客户端请求的页面,那么squid代理服务器就会向internet发送访问请求,获得返回的web页面后,将网页的数据保存到缓存中并发送给客户机. 由于客户机的web

OpenStack 控制节点基本环境和身份验证服务的安装部署

OpenStack Networking(neutron) 需要一个控制节点(controller node).一个网络节点(networknode)以及至少一个计算节点(compute node). 一.物理环境部署 1.物理环境规划 表1.1. OpenStack环境部署 二.安装前的部署 1.1配置主机名 [email protected]:~# vim  /etc/hostname controller 1.2 配置IP地址 [email protected]:~# vim  /etc/

openstack-mitaka之镜像服务管理安装配置部署

1.以root用户登陆,创建glance数据库,并为glance数据库授权 2.加载admin-openrc环境变量,用户证书 3.创建服务证书需要完成如下操作: 1)创建glance用户 2)添加 admin 角色到 glance 用户和 service 项目上. 3)创建glance服务实体 4.创建镜像服务的 API 端点: 5.安装glance软件包 6.编辑/etc/glance/glance-api.conf,具体配置如下: 1)[database]配置如下(系统文件的641行左右)

squid服务之配置透明代理

透明代理提供的服务功能与传统代理时一致的,但是其"透明"的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合Internet中. 网络环境如下: 项目大概流程如下: 在Linux网关上,构建squid为客户机访问Internet提供代理服务. 在局域网所有的客户机上,只需有正确的IP地址.默认网关和DNS,不需要手动指定代理服务器的地址.端口等信息(若指定了反而易出错).关于客户机的DNS解析工作,最好还是通过正常的DNS服务器来提供,不建议抛给代理服务器来处

生产环境部署squid服务

网络拓扑 该实验使用虚拟机模拟搭建,准备开启2台虚拟机,客户端用本记代替. 1.Squid服务器使用2块网卡.如下图显示: 2.Web服务器与squid服务器配置在同一个网段即可.如下图显示: 3.客户端IP与squid服务器网卡1是在同一网段上即可.如下图显示: 4.查看squid服务器上的eth0和eth1网卡ip地址 5.查看web服务器的ip地址 6.先测试客户端能否ping通squid服务器的网卡1. 7.测试客户端能否ping通web服务器,ping不通正常. 8.安装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服务器.内部客户端最

Windows Server 2012 R2 WDS部署服务之一安装

WDS概念: Windows Deploy Services (windows 部署服务)在企业中实现操作系统自动部署 WDS安装条件: WDS需要域环境,DNS服务器,DHCP服务器,因为Windows部署服务使用的预启动执行环境 (PXE) 依靠 DHCP 进行 IP 寻址.另外,WDS服务器的分区必须是NTFS格式 WDS实验环境: 2012dc1:DC,DHCP,DNS以及WDS都安装在这台server上 下面开始,首先启动服务器管理器,添加角色 选择在2012dc1上安装角色 由于之前

使用WDS部署服务批量安装操作系统

一.什么是WDS wds的全称为Windows部署服务(Windows  DEployment Services),主要应用于大中型网络中的计算机操作系统的批量化部署.通过使用WDS可以管理映像以及无人参与安装脚本,并提供人工参与安装和无人参与安装的方式,大大提升部署操作系统的速度. 二.WDS服务部署环境 1.DNS 2.DHCP 3.AD服务 三.实验拓扑图 四.实验步骤 1.实验环境 1.1).把一台服务器加入到域中不用是额外DC,普通的成员服务器即可.确定相关角色已经安装成功. 1.2)