squid传统代理(附压缩包文件)
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,说明:当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面(红色1 2 3 4),则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要
千家信息网最后更新 2025年12月03日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 proxyhttp_access allow all #允许所有http_access deny all# Squid normally listens to port 3128http_port 3128cache_effective_user squid #添加 指定程序用户cache_effective_group squid #添加 指定账号基本组squid -z #缓存目录初始化squid #启动服务
.
.
5 .编写启动脚本
cd /etc/init.dvim squid#!/bin/bash#chkconfig: 2345 90 25PID="/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 3128cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4reply_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.servicesetenforce 0 #关闭防火墙yum install httpd -y #安装httpsystemctl start httpd #开启服务.
.
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地址,传统代理服务器测试成功
服务
代理
缓存
服务器
客户
传统
文件
客户机
地址
用户
页面
大小
目录
编译
单位
日志
权限
正在
浏览器
环境
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
java 简单服务器
不是常用数据库管理系统的是
软件开发顾客验收
国庆 网络安全工作方案
光纤传输网 网络安全测试
int2范围 数据库
php取数据库数据
广州品高软件开发公司资质
sql2017软件开发
计算机软件开发费税率
mc服务器可以看记录吗
金铲铲之战服务器全部爆满
北京口碑好的软件开发价格
如何开发自己的网络技术
网络安全员找工作
阿里数据库池化技术
c配置数据库连接
新年祝福网络安全
刘筱琦沈阳市网络安全协会
ibm aix服务器
对手机网络安全的认识
gdc服务器网页登录权限
天津回收服务器报价单
惠普服务器内存顺序
台媒惊叹大陆互联网科技
软件开发顾客验收
女性软件开发后想转行做什么
北京渠道网络技术开发
广州品高软件开发公司资质
绍兴软件开发驻场好不好