squid代理服务器----------------传统模式代理【理论+实操】

本文详细介绍了如何在Linux环境中安装并配置Squid作为缓存代理服务器,包括修改主机名、编译安装Squid、设置缓存参数、配置iptables规则,以及客户端通过传统模式配置代理的步骤。通过Squid,可以提高Web访问速度,隐藏客户端IP,并实现透明代理。
摘要由CSDN通过智能技术生成

一、缓存代理概述

1.1 web代理的工作机制

1.2 代理的基本类型

■传统代理:适用于internet,需明确指明服务端
■透明代理:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向给代理服务器处理

1.3 使用代理的好处

■提高web’访问速度
■隐藏客户机的真实IP地址

二、Squid安装及运行

前期环境部署:
web端IP:20.0.0.15
squid端IP:20.0.0.16
win10客户端IP:192.168.1.101
三台均需要关闭防火墙、关闭核心防护

2.1 修改主机名

hostnamectl set-hostname squid
su

2.2 编译安装squid

■上传squid软件包到/opt目录下
yum -y install gcc gcc-c++ make pcre
perl

cd /opt
tar zxvf squid-3.4.6.tar.gz
cd 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 \ ‘//支持acl访问控制列表’
–enable-linux-netfilter \ ‘//支持网络筛选’
–enable-linux-tproxy \ ‘//支持透明’
–enable-async-io=100 \ ‘//io优化’
–enable-err-language=“Simplify_Chinese” \ ‘//报错显示简体中文’
–enable-underscore
–enable-poll \ ‘//关闭默认使用poll模式,开启epoll模式提提升性能’
–enable-gnuregex '//支持正则表达’

make && make install
ln -s /usr/local/squid/sbin/
/usr/local/sbin/
useradd -M -s /sbin/nologin squid
chown -R squid.squid /usr/local/squid/var/
vim /etc/squid.conf
*

# And finally deny all other access to this proxy下添加与修改:

http_access allow all
//允许所有,关闭拒绝所有,若是拒绝所有,需要放到配置文件的最下方,否则会自deny生效起,后面的参数都不会生效
#http_access deny all

# Squid normally listens to port 3128下添加与修改:

http_port 3128
cache_effective_user squid
cache_effective_group squid
//增加用户和组

squid -k parse
//验证语法
squid -z
//初始化缓存
squid
//启用
netstat -natp | grep 3128

tcp6 0 0 :::3128 ::😗 LISTEN 80863/(squid-1)

2.3 创建systemctl 启动脚本

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

2.4 给脚本执行权限,加入到chkconfig中

chmod +x squid
chkconfig --add squid
chkconfig --level 35 squid on

service squid stop
netstat -natp | grep 3128

service squid start
正在启动 squid…

netstat -natp | grep 3128
tcp6 0 0 :::3128 ::: LISTEN 80863/(squid-1)

2.5 设置缓存参数

vim /etc/squid.conf

cache_mem 64 MB
reply_body_max_size 10 MB
maximum_object_size 4096 KB

//在cache_effective_group squid下面添加

############解释############
cache_mem 64 MB //自定义缓存空间大小,容量最好为4的倍数
reply_body_max_size 10 MB //允许下载最大文件大小,以字节为单位,默认设置0表示不进行限制
maximum_object_size 4096 KB //允许保存到缓存空间的最大对象的大小,以KB为单位,超过限制不会缓存,直接转到web端

2.6 设置iptables规则

iptables -F
//清空规则

iptables -L
//查看规则

iptables -t nat -F
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

service squid reload
netstat -natp | grep 3128

tcp6 0 0 :::3128 ::😗 LISTEN 81055/(squid-1)

2.7 配置web端和客户端

2.7.1 设置主机名

hostnamectl set-hostname web
su

2.7.2 安装http服务

yum -y install httpd
systemctl start httpd
systemctl enable httpd
netstat -natp | grep 80

2.7.3 真机客户端访问20.0.0.16

在这里插入图片描述

2.7.4 查看web端httpd的访问日志

cd /var/log/httpd/
cat access_log

20.0.0.1 - - [30/Oct/2020:12:01:44 +0800] “GET /noindex/css/open-sans.css HTTP/1.1” 200 5081 “http://20.0.0.16/” “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”

//访问ip为:20.0.0.16,此时并没有设置代理

2.7.5 配置代理(传统模式)

1.在谷歌浏览器中打开设置,点击高级;
2.点击系统,打开您计算机的代理设置;
3.打开手动设置代理;
4.输入代理服务器ip和端口号,点击保存,然后关闭,关闭浏览器;
5.重新打开浏览器,再次访问web。

在这里插入图片描述

在这里插入图片描述

2.7.6 再次查看httpd日志

cat access_log

20.0.0.15 - - [30/Oct/2020:12:10:21 +0800] “GET /noindex/css/fonts/Bold/OpenSans-Bold.ttf HTTP/1.1” 404 238 “http://20.0.0.16/noindex/css/open-sans.css” “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”

//此时可以发现访问ip变成了20.0.0.15,启用了代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值