如何实现squid传统代理
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何实现squid传统代理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。安装squid代理服务器yum ins
千家信息网最后更新 2026年11月01日如何实现squid传统代理
本篇文章给大家分享的是有关如何实现squid传统代理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
安装squid代理服务器yum install gcc gcc-c++ make -yyum install perl-devel -yyum install lrz* -ytar 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 \--enable-linux-tproxy \--enable-async-io=100 \--enable-err-language="Simplify_Chinese" \--enable-underscore \--enable-poll \--enable-gnuregex
注:./configure \ #配置--prefix=/usr/local/squid \ #指定安装路径--sysconfdir=/etc \ #配置文件存储目录--enable-arp-acl \ #可在ACL中设置通过MAC地址进行管理,防止IP欺骗--enable-linux-netfilter \ #使用内核过滤,目的是对透明模式提供支持--enable-linux-tproxy \ #允许使用透明模式--enable-async-io=100 \ #异步I/O,用来提升存储性能。--enable-err-language="Simplify_Chinese" \ #--enable-underscore \ #允许URL中有下划线--enable-poll \ #使用Poll()模式,提升性能--enable-gnuregex #使用GNU正则表达式
make && make install
ln -s /usr/local/squid/sbin/* /usr/local/sbinuseradd -M -s /sbin/nologin squidchown -R squid:squid /usr/local/squid/var/
vi /etc/squid.confhttp_access allow all http_port 3128 //在下面新增visible_hostname 192.168.80.181 #确定公共主机名cache_mem 64 MBcache_swap_low 80cache_swap_high 97cache_dir ufs /usr/local/squid/var/cache/squid 512 16 256 //配置硬盘缓存,打开#.缓存目录512M,其中一级目录16个,二级256个cache_effective_user squid #用来设置初始化、运行时缓存的账号,否则启动不成功cache_effective_group squid #//默认为指定账号的基本组
squid -k parse //检查配置文件
squid -k rec //重新加载配置文件squid -zX //初始化缓存目录
--------------制作squid系统服务脚本---------为了使Squid服务的启动、停止、重载等操作更加方便,可以编写Squid服务脚本,并使用chkconfig和service工具来进行管理。
vi /etc/init.d/squid#!/bin/bash#chkconfig: 35 90 25#config: /etc/squid.conf#pidfile: /usr/local/squid/var/run/squid.pid#Description: Squid - Internet Object CachePID="/usr/local/squid/var/run/squid.pid"CONF="/etc/squid.conf"CMD="/usr/local/squid/sbin/squid"case "$1" in start) netstat -utpln | grep squid &>/dev/null if [ $? -eq 0 ] then echo "Squid is running" else $CMD fi ;; stop) $CMD -k kill &>/dev/null rm -rf $PID &>/dev/null ;; status) [ -f $PID ] &>/dev/null if [ $? -eq 0 ] then netstat -utpln | 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 "用法:{start | stop | restart | reload | check | status}"esacchmod +x /etc/init.d/squid

chkconfig --add squidchkconfig squid onservice firewalld stopsetenforce 0service squid startnetstat -anpt | grep 3128
搭建web服务器:yum install httpd -ycd /var/www/htmldd if=/dev/zero of=test1.tgz bs=1M count=11dd if=/dev/zero of=test2.tgz bs=1M count=2
[root@lq1 squid-3.5.27]# vi /etc/squid.confreply_body_max_size 10 MB //禁止下载的超过10MB的文件maximum_object_size 4096 KB //超过4MB的文件不进行缓存http_access deny all //前面两行需要放在这行之上才生效
重启squid代理服务service squid start
vi /etc/httpd/conf/httpd.conf 把这行注释去掉ServerName www.example.com:80 DirectoryIndex index.html 后面添加index.php service httpd start
测试,在windows浏览器中设置代理服务地址,输入192.168.80.101/test1.tgz。出现一下:
在输入192.168.80.101/test2.tgz
查看Squid访问日志的新增记录tail /usr/local/squid/var/logs/access.log //可以看到客户机C访问Web服务器的记录
查看Web访问日志的新增记录tail /var/log/httpd/access_log //可以看到来自Squid服务器的访问记录,Squid服务器代替客户机C访问Web服务器
当客户机再次访问同一页面时,Squid访问日志会增加新的记录,而Web访问日志的记录不会变化(除非页面变更或强制刷新等操作)。这说明当客户机访问同一静态页面时,实际上是由代理服务器通过缓存提供的.
在linux服务器上测试:yum install wget -y在linux系统设置代理服务器[root@lq3 ~]# vi /etc/wgetrc HTTP_PROXY=http://192.168.80.100:3128HTTPS_PROXY=https://192.168.80.100:3128FTP_PROXY=http://192.168.80.100:3128NO_PROXY=192.168.1.,192.168.2.
[root@lq3 ~]# source /etc/wgetrc[root@lq3 ~]# wget http://192.168.80.101/test1.tgz
[root@lq3 ~]# wget http://192.168.80.101/test2.tgz
在web服务器上:[root@lq2 html]# tail -f /etc/httpd/logs/access_log
需要开第二个网卡
案例:在Linux网关上构建Squid为客户机访问Internet提供代理服务,在客户机上设置IP地址、默认网关,不需要指定代理服务器的地址、端口等信息cp -p ifcfg-ens32 ifcfg-ens34vi ifcfg-ens34

systemctl restart network在squid代理服务器上:vi /etc/squid.confhttp_port 192.168.90.100:3128 transparent (内网地址)yum install -y iptables* 安装iptables防火墙iptables -F #清空防火墙规则iptables -t nat -A PREROUTING -i ens34 -p tcp --dport 80 -s 192.168.90.0/24 -j REDIRECT --to-ports 3128 //将80端口转到3128端口,有透明代理访问网站服务器 iptables -t nat -Lservice iptables save #保存规则service iptables start在测试客户端,输入192.168.80.101:输入192.168.80.101/test1.tgz
以上就是如何实现squid传统代理,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
服务
服务器
代理
客户
缓存
地址
客户机
文件
配置
日志
目录
输入
代理服务
模式
端口
页面
测试
传统
性能
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
互联网科技有限公司
广州淘业互联网络科技
互联网科技战争
深圳互联网络科技有限公司
卓越科技(互联网 )
火传媒上海互联网科技
深圳互联网科技怎么样
上海电发互联网科技有限公司
宁夏众和广鑫互联网科技有限公司
成都互联网科技公司工作好不好
广州新华互联网科技学校电竞方面
华夏恒生科技与互联网科技
长沙互联网科技
区块链结合互联网科技
国大互联网教育科技有限公司薪资
上海科技产业互联网平台
黑科技 体验场景 互联网大会
青岛易易互联网科技
互联网高科技绘画
互联网科技公司排名
江苏根荣互联网科技
深圳卡尔迅互联网科技有限公司怎么样
互联网巨头投资的硬核科技
天速互联网络科技有限公司
中国互联网公司排名锤子科技
高科技互联网发展前景如何
云南省自由互联网科技有限公司
互联网科技平台产品运营
中国互联网公司的科技投入