squid传统代理(附压缩包文件)
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,说明:当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面(红色1 2 3 4),则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
用友t6链接不到本地数据库
深空网络技术
易语言读取数据库数据总条数
ip网络技术期末考试题
专升本网络技术基础题答案
php在线答题数据库设计
中级数据库软考多少选择题
计算机网络技术研究的方向
植物数据库如何找ssr
串口服务器通讯速率
深圳华大互联网科技有限公司
废弃的服务器怎么处理
qq网络安全吗
电信区哪个服务器最好
网络数据库架构分析
软件开发非专业背景
崩坏201是哪个服务器
软件开发能力排行
借贷宝上大数据库吗
各相关单位网络安全等保标准
怎么将表格导入学生管理数据库
查看安全账号数据库的物理路径
如何配置git服务器
网络安全宣传教育课
鹰潭网络安全培训
河北运营网络技术服务电话
山东智矩网络技术联系电话
网络安全小报a4纸
宜宾gpu云服务器代理
多台服务器磁盘集群