700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 缓存加速CDN——squid代理服务器应用(传统代理 透明代理)

缓存加速CDN——squid代理服务器应用(传统代理 透明代理)

时间:2023-06-16 10:19:42

相关推荐

缓存加速CDN——squid代理服务器应用(传统代理 透明代理)

squid代理服务

一、缓存代理概述1.1 web代理的工作机制1.2 阿里云CDN产品介绍与工作原理1.3 代理的基本类型1.4 使用代理的好处 二、部署squid传统代理2.1 实验环境2.2 实验拓扑![在这里插入图片描述](https://img-/2008002204337.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ3MTYxMjk1,size_16,color_FFFFFF,t_70#pic_center)2.2 实验步骤 三、部署squid透明代理3.1 实验环境3.2 实验拓扑![在这里插入图片描述](https://img-/2008003228130.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ3MTYxMjk1,size_16,color_FFFFFF,t_70#pic_center)3.3 实验步骤

一、缓存代理概述

1.1 web代理的工作机制

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

1.2 阿里云CDN产品介绍与工作原理

1.3 代理的基本类型

传统代理:适用于Internet,需明确指定服务端

透明代理:客户机不许指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向给代理服务器好处

1.4 使用代理的好处

提高web访问速度

隐藏客户机的真实ip地址

二、部署squid传统代理

2.1 实验环境

VMware软件XSHELL一台centos7虚拟机作为squid服务器,IP地址为:192.168.200.60一台centos7虚拟机作为web服务器,IP地址为:192.168.200.80一台win10虚拟机作为client测试机,IP地址为:192.168.200.11

2.2 实验拓扑

2.2 实验步骤

1、配置squid代理服务器

[root@localhost ~]# hostnamectl set-hostname squid[root@localhost ~]# su[root@squid ~]# tar zxvf squid-3.4.6.tar.gz -C /opt/[root@squid ~]# cd /opt/[root@squid opt]# yum -y install gcc gcc-c++[root@squid opt]# cd squid-3.4.6/[root@squid squid-3.4.6]# ./configure --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 \支持URL中下划线> --enable-poll \ poll功能模块> --enable-gnuregex 正则表达式[root@squid squid-3.4.6]# make && make install[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var/[root@squid squid-3.4.6]# vim /etc/squid.conf56 http_access allow all 允许所有57 #http_access deny all 注释60 http_port 312861 cache_effective_user squid添加管理用户62 cache_effective_group squid 添加管理组[root@squid squid-3.4.6]# squid -k parse 检查配置文件语法[root@squid squid-3.4.6]# squid -z初始化缓存目录[root@squid squid-3.4.6]# squid 启动[root@squid squid-3.4.6]# netstat -ntap | grep 3128tcp6 00 :::3128 :::*LISTEN125515/(squid[root@squid squid-3.4.6]# cd /etc/init.d/[root@squid init.d]# vim squid#!/bin/bash#chkconfig: 2345 90 25PID="/usr/local/squid/var/run/squid.pid" '//PID文件进程号'CONF="/etc/squid.conf" '//主配置文件'CMD="/usr/local/squid/sbin/squid" '//启动命令'case "$1" instart)netstat -ntap | grep squid &> /dev/nullif [ $? -eq 0 ]then echo "squid is running"elseecho "正在启动 squid...." $CMDfi;;stop)$CMD -k kill &> /dev/null '//关闭squid'rm -rf $PID &> /dev/null '//删除PID文件';;status)[ -f $PID ] &> /dev/nullif [ $? -eq 0 ]thennetstat -ntap | grep squidelseecho "squid is not running"fi;;restart)$0 stop &> /dev/nullecho "正在关闭 squid..."$0 start &> /dev/nullecho "正在启动 squid...";;reload)$CMD -k reconfigure '//重载配置文件';;check)$CMD -k parse '//检查语法';;*)echo "用法:$0{start|stop|reload|status|check|restart}";;esac[root@squid init.d]# chmod +x squid[root@squid init.d]# lsfunctions netconsole network README squid[root@squid init.d]# chkconfig --add squid添加管理[root@squid init.d]# chkconfig --level 35 squid on 开机自启设置传统代理服务器[root@squid init.d]# vim /etc/squid.conf63 cache_mem 64 MB64 reply_body_max_size 10 MB65 maximum_object_size 4096 KB[root@squid init.d]# iptables -F[root@squid init.d]# iptables -t nat -F[root@squid init.d]# setenforce 0[root@squid init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT[root@web ~]# cd /var/log/httpd/[root@web httpd]# lsaccess_log error_log[root@web httpd]# cat access_log

2、设置web服务器

[root@localhost ~]# hostnamectl set-hostname web[root@localhost ~]# su[root@web ~]# yum -y install httpd[root@web ~]# systemctl start httpd.service [root@web ~]# netstat -antp | grep httpdtcp6 00 :::80 :::*LISTEN90278/httpd [root@web ~]# iptables -F[root@web ~]# setenforce 0

使用win10服务器,打开代理,输入ip 192.168.200.60和端口3128

访问Apache成功

查看Apache服务器日志

[root@web httpd]# cat access_log 192.168.200.60 - - [06/Sep/:14:13:35 +0800] "GET /noindex/css/fonts/Bold/OpenSans-Bold.woff HTTP/1.1" 404 239 "http://192.168.200.80/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363"192.168.200.60 - - [06/Sep/:14:13:35 +0800] "GET /noindex/css/fonts/Light/OpenSans-Light.ttf HTTP/1.1" 404 240 "http://192.168.200.80/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363"192.168.200.60 - - [06/Sep/:14:13:35 +0800] "GET /noindex/css/fonts/Bold/OpenSans-Bold.ttf HTTP/1.1" 404 238 "http://192.168.200.80/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363"

三、部署squid透明代理

squid服务器添加网卡且上网卡都改成仅主机模式,web服务器改成仅主机模式,win10也改成仅主机模式

3.1 实验环境

VMware软件XSHELL一台centos7虚拟机作为squid服务器,IP地址为:192.168.200.60 192.168.10.1一台centos7虚拟机作为web服务器,IP地址为:192.168.200.80一台win10虚拟机作为client测试机,IP地址为:192.168.10.10

3.2 实验拓扑

3.3 实验步骤

1、配置squid服务器,添加双网卡并配置,配置为仅主机

[root@squid ~]# cd /etc/sysconfig/network-scripts/[root@squid network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36NAME=ens36DEVICE=ens36ONBOOT=yesIPADDR=192.168.10.1NETMASK=255.255.255.0[root@squid network-scripts]# vim /etc/sysctl.conf net.ipv4.ip_forward=1 //开启路由功能[root@squid network-scripts]# sysctl -pnet.ipv4.ip_forward = 1[root@squid network-scripts]# service network restart Restarting network (via systemctl): [ 确定 ][root@squid network-scripts]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.200.60 netmask 255.255.255.0 broadcast 192.168.200.255ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.1[root@squid network-scripts]# vim /etc/squid.conf60 http_port 192.168.10.1:3128 transparent //如果监听到这个端口就改成透明模式[root@squid network-scripts]# squid -k parse 检验语法[root@squid network-scripts]# iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 //80端口重定向3128端口[root@squid network-scripts]# iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 443 -j REDIRECT --to 3128//80端口重定向3128端口[root@squid network-scripts]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT[root@squid network-scripts]# service squid restart

2、Apache服务器的配置为仅主机模式,配置静态路由指网关

[root@web ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33IPADDR=192.168.200.80GATEWAY=192.168.200.1NETMASK=255.255.255.0[root@localhost httpd]# route add -net 192.168.10.0/24 gw 192.168.200.60 //配置静态路由指网关

3、win10改成仅主机,访问web端,不需要设置代理,自动通过squid代理加速

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。