当前位置:首页 > CN2资讯 > 正文内容

Centos 7安装Squid代理服务及构建传统代理

7小时前CN2资讯

博文大纲 一、Squid服务概述 二、安装及运行控制

一、Squid服务概述

作为应用层的代理服务软件,Squid主要提供缓存加速、应用层过滤控制的功能。

1、代理的工作机制

当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机要访问的页面,则由代理服务器向Internet发送访问请求,获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机,如下图所示: 由于客户机的web访问请求实际上是squid代理服务器来代替完成的,从而可以隐藏了用户的真实IP地址,起到一定的保护作用。另一方面,squid也可以针对要访问的目标、客户机的地址、访问的时间段进行过滤控制。

2、代理的基本类型

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

  • 透明代理:与传统代理实现的功能是一样的,区别在于客户机不需要手动指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向,实际上仍然交给代理服务器来处理,重定向的过程完全是由squid服务器进行的,所以对于客户机来说,甚至不知道自己使用了squid代理服务,因此呢,我们称之为透明模式。

透明代理多用于局域网环境,如在Linux网关中启用透明代理后,局域网主机无须进行额外设置就能享受更好的上网速度。

二、安装及运行控制

所需设备:

  • Windows客户端一台;IP地址:192.168.100.102
  • linux客户端一台;IP地址:192.168.100.10
  • squid服务器一台; IP地址:192.168.100.20
  • web服务器一台;IP地址:192.168.100.30

所需的镜像请访问:https://pan.baidu.com/s/1-3jN_z-JqWg2X1Bpz0SHUw 提取码:ysxn

1、安装httpd

[root@centos03 ~]# yum -y install httpd <!--安装httpd服务--> [root@centos03 ~]# cd /var/www/html/ <!--修改网站主页的内容--> [root@centos03 html]# ls -a . .. [root@centos03 html]# echo "www.accp.com" > index.html <!--插入数据--> [root@centos03 ~]# systemctl start httpd <!--启动httpd服务--> [root@centos03 ~]# systemctl enable httpd <!--设置开机自动启动-->

2、安装linux命令行客户机

[root@centos01 ~]# yum -y install elinks <!--安装elinks软件,linux操作系统光盘自动此软件包--> [root@centos01 ~]# elinks http://192.168.100.30 <!--访问网站服务器是否可以访问到-->

3、编译安装Squid

[root@centos02 ~]# mount /dev/cdrom /mnt/ <!--挂载linux光盘--> [root@centos02 ~]# tar zxvf /mnt/squid-3.4.6.tar.gz -C /usr/src/ <!--解压缩squid软件包到/usr/src/目录--> [root@centos02 squid-3.4.6]# ./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-gnuregex <!--配置squid--> [root@centos02 squid-3.4.6]# make && make install <!--编译安装squid-->

上述配置项的具体作用如下:

  • --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”;

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

[root@centos02 ~]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/ [root@centos02 ~]# useradd -M -s /sbin/nologin squid [root@centos02 ~]# chown -R squid:squid /usr/local/squid/var/

4、修改squid主配置文件

[root@centos02 ~]# vim /etc/squid.conf <!--编辑squid主配置文件--> 54 http_access allow all <!--允许所有人访问squid--> 60 http_port 3128 <!--squid监听的端口号--> 61 cache_effective_user squid <!--管理squid的账户--> 62 cache_effective_group squid <!--管理squid的组--> 63 reply_body_max_size 10 MB <!--允许用户下载最大数据10M--> 68 coredump_dir /usr/local/squid/var/cache/squid <!--设置缓存位置--> [root@centos02 ~]# squid -k parse <!--检查配置文件语法是否错误-->

5、创建squid管理服务脚本

[root@centos02 ~]# vim /etc/init.d/squid <!--为了方便控制服务,编写一个squid服务脚本,并添加为系统服务, 脚本如下--> #!/bin/bash # chkconfig: 35 90 25 # config file:/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 echo "正在关闭squid..." ;; 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}" exit 1 ;; esac [root@centos02 ~]# chmod +x /etc/init.d/squid <!--脚本添加执行权限--> [root@centos02 ~]# chkconfig --add squid <!--添加系统服务--> [root@centos02 ~]# chkconfig --level 35 squid on <!--设置开机自动启动--> [root@centos02 ~]# /etc/init.d/squid start <!--启动squid服务--> 正在启动squid...

现在基于传统代理的squid代理服务器已经配置完成了

6、Linux客户端命令行使用代理服务器

[root@centos01 ~]# vim /etc/profile HTTP_PROXY=http://192.168.100.20:3128 <!--为使用HTTP协议指定代理--> HTTPS_PROXY=http://192.168.100.20:3128 <!--为使用HTTPS协议指定代理--> FTP_PROXY=http://192.168.100.20:3128 <!--为使用FTP协议指定代理--> NO_PROXY=192.168.10.,192.168.20. <!--对两个局域网段不使用代理--> export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY [root@centos01 ~]# source /etc/profile <!--应用代理--> [root@centos01 ~]# elinks http://192.168.100.30 <!--客户端访问网站服务器--> [root@centos03 ~]# tail -f /var/log/httpd/access_log <!--网站服务器追踪squid代理服务器的访问日志文件--> <!--请注意,所有跟踪都是在访问之前先做好准备的--> 192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)"

7、Windows客户机使用代理服务器

1)网卡更换成同一块网卡

2)配置同网段IP地址

3)配置代理服务器IP地址和端口号

4)访问192.168.100.30测试是否成功

5)网站服务器追踪squid代理服务器的访问日志文件

[root@centos03 ~]# tail -f /var/log/httpd/access_log <!--请注意,所有跟踪都是在访问之前先做好准备的--> 192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)" 192.168.100.20 - - [18/Nov/2019:05:18:03 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"

透明代理将在下一篇博文详细配置,尽情期待!!!

—————— 本文至此结束,感谢阅读 ——————

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32153.html

    分享给朋友:

    “Centos 7安装Squid代理服务及构建传统代理” 的相关文章

    如何充分利用AWS EC2免费流量:12个月节省成本的终极指南

    AWS EC2 免费流量的定义 AWS EC2 免费流量是亚马逊云服务(AWS)为新客户提供的一项福利,允许他们在注册后的12个月内享受一定量的免费数据传输。这项服务是 AWS 免费套餐的一部分,旨在帮助新用户在没有额外成本的情况下体验 AWS 的强大功能。免费流量主要分为两类:互联网传出流量和跨区...

    VPS上如何彻底卸载Docker?一步步教你轻松完成卸载

    在VPS上卸载Docker之前,我们需要做一些准备工作,确保卸载过程顺利进行,同时避免数据丢失。这些步骤虽然简单,但非常重要,尤其是在处理生产环境时。 停止所有运行的容器 卸载Docker的第一步是停止所有正在运行的容器。如果不先停止容器,直接卸载可能会导致数据损坏或丢失。我们可以使用以下命令来停止...

    腾讯云学生福利:低价云服务助力学生云计算学习

    在当今信息技术飞速发展的时代,云计算已成为重要的学习与开发工具。腾讯云紧跟时代步伐,为学生群体量身定制了一系列服务和优惠政策。我很高兴看到这样一个平台,尤其是在我们学习云计算和相关技术的过程中,它为我们提供了极大的便利。 腾讯云的学生服务旨在帮助我们更好地学习和实践云计算技术。通过这些服务,学生能够...

    如何利用闲置VPS赚钱 - 探索多种盈利方式

    在互联网蓬勃发展的背景下,很多人手中会有闲置的VPS(虚拟私人服务器)。这些资源如果不加利用,往往就是一笔浪费。因此,了解闲置VPS赚钱的方法十分必要。这不仅可以让我们的小投资产生回报,也能为我们探索更广阔的网络世界提供平台。 闲置VPS的定义相对简单,指的是那些未被充分利用的服务器资源。它们通常具...

    如何以便宜价格注册com域名并降低续费成本

    在互联网的世界中,com域名是最为人熟知和广泛使用的顶级域名之一。当我第一次接触域名注册时,com域名吸引我的是它的简单性和易记性。每当有人提到网站地址,往往就是以.com结尾的,这使得它成为许多企业和个人建立在线存在的主流选择。 com域名的意义不仅仅在于一个简单的名称。它代表了商业形象、品牌价值...

    探索韩国VPS服务:选择高性能低延迟的虚拟专用服务器

    在数字化迅猛发展的今天,韩国的VPS(虚拟专用服务器)越来越受到用户的青睐。许多企业和个人用户都开始关注这个区域,特别是那些需要稳定网站和应用程序的人。这篇文章将为你深入探讨韩国VPS的市场需求和背景,以及它在不同场景中的适用性。 首先,韩国VPS市场的兴起与其优越的网络基础设施密不可分。韩国位于东...