如何实现squid传统代理
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关如何实现squid传统代理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。安装squid代理服务器yum ins
千家信息网最后更新 2025年12月02日如何实现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安全错误
数据库的锁怎样保障安全
关闭电脑启动项网络安全
抖音最火网络安全宣传视频
成都陈志杰软件开发
软件开发工程是干啥的
金蝶软件开发外包
软件开发的实习主要内容要怎么写
魅族手机vpn服务器地址
互联网科技公司面试内容
移动软件开发工作量评估
光格网络安全儿童画
优势的服务器主动管理
松江区口碑好的软件开发诚信合作
服务器死机安全模式没事
开县网络安全工程师
网络安全法主题海报
数据库更改数据
达梦数据库字符集如何设置
机关单位网络安全制度
SQL语句更改数据库表结构
软件开发公司的提成制度
常见的数据库有什么
宁夏软件开发培训
灵武软件开发定制好不好
枣庄数字化城管软件开发
服务器bs888是什么
韩国便宜服务器
教学类软件开发
网络安全方案汇报演出
我的世界vc服务器ip
请简述什么是服务器集群