squid传统代理(附压缩包文件)

说明:
当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面(红色1 2 3 4),则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要访问的页面(蓝色1 2 3 4),则由代理服务器向Internet发送访问请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机。使用传统代理的特点在于,客户机的相关程序必须指定代理服务器的地址、端口等基本信息。下面进行传统代理服务器的构建。

.
.
压缩文件包
链接: https://pan.baidu.com/s/1GmD1SCoYeWYFi9W1BG_Z-Q 提取码: kkcn
.
.
拓扑图如下:

.
.
实验环境:

.
.
一、编译安装squid
.
1 . 将压缩包挂载、解压到服务器中,安装编译环境

mkdir /ooo/      #创建挂载目录
mount.cifs //192.168.201.1/gx /ooo/    #挂载压缩包
cd /ooo/
tar zxvf squid-3.5.23.tar.gz -C /opt/      #解压到/opt/
yum install gcc gcc-c++ make -y   #安装编译环境


.
.
2 .手工编译安装

./configure --prefix=/usr/local/squid \      #指定安装路径
--sysconfdir=/etc \      #配置文件路径
--enable-arp-acl \      #mack地址
--enable-linux-netfilter \      #内核过滤
--enable-linux-tproxy \      #透明模式
--enable-async-io=100 \      #io优化
--enable-err-language="Simplify_Chinese" \      #报错显示
--enable-underscore \      #允许有下划键
--enable-poll \      #提升
--enable-gnuregex       #支持正则表达式

make && make install


.
.
3 . 安装完后,创建链接文件,用户和组

ln -s /usr/local/squid/sbin/* /usr/local/sbin/   #将命令放入系统识别路径下
useradd -M -s /sbin/nologin squid   #创建一个用户
chown -R squid.squid /usr/local/squid/var/  #更改目录权限


.
.
4 . 修改squid配置文件,初始化缓存目录,启动服务,完成安装

vim /etc/squid.conf
# And finally deny all other access to this proxy
http_access allow all   #允许所有
http_access deny all

# Squid normally listens to port 3128
http_port 3128
cache_effective_user squid   #添加 指定程序用户
cache_effective_group squid  #添加 指定账号基本组

squid -z   #缓存目录初始化
squid   #启动服务


.
.
5 .编写启动脚本

cd /etc/init.d
vim squid

#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"

case "$1" in
     start)
    netstat -natp | 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 -natp | 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|status|reload|check|restart}"
      ;;
esac


.
.
6 . 添加权限,名称,检查语法

chmod +x squid      #添加执行权限
chkconfig --add squid     #添加名称,便于识别
service squid check      #检查语法


.
.
二、设置传统代理服务器
.
1 . squid服务器的配置

vim /etc/squid.conf
.......
http_port 3128
cache_mem 64 MB   #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size 10 MB   #允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制
maximum_object_size 4096 KB   #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户


.
.
2 . 重启服务,清空防火墙

service squid restart   #重启服务
iptables -F   #清空防火墙
setenforce 0   #关闭增强功能
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT    #在input链中,针对tcp协议,目标端口3128,允许转发


传统代理完成
.
.
三、测试传统代理
.
1 . 开启测试端网页

systemctl stop firewalld.service
setenforce 0     #关闭防火墙
yum install httpd -y     #安装http

.
.
2 .win7端网络设置为NAT模式,用浏览器访问192.168.201.130

.
.
3 .网页端查看访问日志

cd /etc/httpd/logs/
vim access_log  #查看访问日志


可以看到来访客户端ip地址
.
.
4 . 此时设置代理访问
打开浏览器-->工具-->intenet选项

.
.
连接-->局域网设置

.
.
设置ip地址与端口

.
.
此时再用浏览器访问192.168.201.130,查看来访日志

可以看到,访问ip是代理服务器的ip地址,传统代理服务器测试成功

原文地址:http://blog.51cto.com/13756925/2298330

时间: 2024-10-10 13:51:18

squid传统代理(附压缩包文件)的相关文章

Centos7 squid传统代理

Centos7 squid传统代理 操作环境:squid代理服务器:192.168.80.100web网站 :192.168.80.101 1.安装编译环境yum install gcc gcc-c++ make -y 2.安装插件yum install perl-devel -y 3.安装wget下载工具yum install wget -y 4.下载squidwget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.21.tar.gz

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

什么是Squid Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:http://squid.nlanr.net/) 并向这个页面发出请求.然后,Squid显式地聚集数据到客户端机器,而且同时复制一份.当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机

squid传统代理的另一形式----透明代理

构建透明代理 安装squid支持透明模式 squid透明代理本属于squid标准传统代理的一部分,本文特意将透明代理单独写出,是因为yum安装的版本中没有支持透明模式的模块. 因此,支持透明代理的模块需要在手动编译安装时加入. tar zxvf squid-3.4.6.tar.gz -C /opt/ cd /opt/squid-3.4.6 ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl \ //可以

Squid传统代理与透明代理构建

一.缓存代理概述 1.缓存代理概述 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能. 2.代理的工作机制 当客户机通过代理来请求Web页面时,指定的代理服务器会检查自己的缓存,如果缓存中已经存在客户机需要访问的页面,则之间将缓存中的页面内容反馈给客户机:若代理服务器中的缓存中没有客户机需要访问的页面,则由代理服务器向Internet发送访问请求,再将获得的页面数据保存到缓存中,并发送给客户机. 二.手工编译安装squid 1.解压缩squid安装文件到/opt tar

squid传统代理安装详细配置

https://pan.baidu.com/s/1Pq7BR271VVM7_NTZUMoqkgsquid安装包连接准备两台虚拟机一台win7虚拟机在第一台虚拟机中安装httpd服务vi /etc/httpd/conf/httpd.conf找到一下命令行见前面的#去掉,可以用/ServerName进行查找 cd /var/www/html/ 输入一下内容 echo "<h1>aa</h1>" > index.html 重启一下 systemctl resta

squid传统代理

安装squid代理服务器 yum install gcc gcc-c++ make -y yum install perl-devel -y yum install lrz* -y tar xf squid-3.5.27.tar.gz -C /opt/ cd /opt/squid-3.5.27/ ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --e

squid代理(传统代理)

squid代理服务器 Squid是linux系统中常用的一款开源代理服务软件,可以很好地实现HTTP和FTP ,以及DNS查询,SSL等应用的缓存代理,功能十分强大 作为应用层的代理服务器软件,Squid主要提供缓存加速,应用层过滤控制的功能 1 代理的工作机制 {1}当客户机通过代理来请求Web页面时, {2}指定的代理服务器会检查自己的缓存, {3}如果缓存中已经有客户机需要的页面, {4}则直接将缓存中的内容反馈给客户机, {5}如果缓存中没有客户机要访问的页面, {6}则由代理服务器向l

squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理

缓存代理概述 Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤.作为应用层的代理服务器软件,Sqiod主要提供了缓存加速和引用层过滤控制能力 代理的工作机制 当客户机通过代理来请求 Web 页面时,指定的代理服务器,会先检查自己的缓存如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机:如果缓存中没有客户机需要访问的页面,则用代理服务器向Internet 发送访问请求. 由于客户机的W

构建Squid代理服务器-传统代理、透明代理、反向代理

Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理. 正向代理:根据实现的方式不同,代理服务可分为传统代理和透明代理. 传统代理:普通的代理服务,多见于Internet环境,必须在客户机的浏览器.QQ聊天工具.下载软件等程序中手动设置代理服务器对的地址和端口,才能使用代理服务器来访问网络.对于网页浏览器,访问网站时的域名解析请求会发送给指定的代理服务器. 透明代理:提供与传统代理相