squid传统代理的另一形式----透明代理(代码片段)

author author     2022-12-17     602

关键词:

构建透明代理

安装squid支持透明模式

  • squid透明代理本属于squid标准传统代理的一部分,本文特意将透明代理单独写出,是因为yum安装的版本中没有支持透明模式的模块。
  • 因此,支持透明代理的模块需要在手动编译安装时加入。

tar zxvf squid-3.4.6.tar.gz -C /opt/

cd /opt/squid-3.4.6

./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-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正则表达式

实验环境

服务器 操作系统 IP地址 使用软件
squid代理服务器 centos7.3 内192.168.100.1 外12.0.0.1 squid
外网web服务器 centos7.3 12.0.0.12 http
client windows7 192.168.100.100 IE浏览器

实验拓扑展示

技术分享图片

透明代理配置过程

squid代理服务器设置

1、添加网卡,内网卡ens33,外网卡ens37

  • 网卡添加完成后修改IP,此过程建立在已经安装好squid缓存代理服务器基础上。
  • 网卡配置如下图所示:

技术分享图片

  • 接着打开路由转发功能:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1   //添加打开路由转发功能

sysctl -p //立即生效

  • 或者这样打开路由转发功能:

echo "1" > /proc/sys/net/ipv4/ip_forward

2、配置squid代理服务配置文件

ln -s /usr/local/squid/sbin/* /usr/local/sbin/

useradd -M -s /sbin/nologin squid

chown -R squid.squid /usr/local/squid/var/
vim /etc/squid/squid.conf

# Squid normally listens to port 3128
http_port 192.168.100.1:3128  transparent  //设置为内网端口代理
cache_mem 64 MB                   #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size 10 MB         #允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制
maximum_object_size 4096 KB       #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户

...
cache_effective_user squid        #添加   指定程序用户
cache_effective_group squid       #添加   指定账号基本组
coredump_dir /usr/local/squid/var/cache/squid     #在这一行上方添加

systemctl restart squid.service

3、写入防火墙nat策略

iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128   //允许http端口服务

iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128   //允许https端口服务

iptables -I INPUT -p tcp --dport 3218 -j ACCEPT  

4、外网web服务器配置

  • 将外网网卡IP设置为12.0.0.12,启动HTTP服务即可。

5、客户端访问

  • 客户端访问时不需要通过在浏览器中设置代理功能,直接访问IP地址即可。访问结果如下:

技术分享图片

企业应用——构建squid服务的传统代理和透明代理(代码片段)

=============Squid服务==============Squid简介:Squid是一个高性能的代理缓存服务器,主要提供缓存加速和应用层过滤控制的功能。Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱... 查看详情

squid传统代理与透明代理构建(代码片段)

一、缓存代理概述1.缓存代理概述作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。2.代理的工作机制当客户机通过代理来请求Web页面时,指定的代理服务器会检查自己的缓存,如果缓存中已经存在客... 查看详情

squid传统代理和透明代理

简介:squid服务传统模式设置代理地址透明模式无需设置代理(网关)代理服务器软件:SquidNginx具体实验操作:squid192.168.120.128web192.168.120.129client192.168.120.133squid-3.5.23软件包网址:链接:https://pan.baidu.com/s/1MbswuQi7pmuNj6XAZmmiJg密码... 查看详情

squid透明代理(代码片段)

说明:透明代理提供的服务功能与传统代理是一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于为局域网主机服务,而不适合为Internet中的客户机提供服务。其基本的原理可详见上一篇squid传... 查看详情

centos上构建squid传统代理,透明代理(squid3.4.6)(代码片段)

1.1squid服务基础1.1.1缓存代理概述1、代理的工作机制当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没... 查看详情

squid代理服务,搭建传统代理和透明代理案例

...)优化squid命令创建squid日志文件修改squid目录所有者配置传统代理配置squid服务器修改squid主配置文件检查squid配置文件是否错误初始化缓存启动服务监听端口配置外网Web服务器挂载光盘,安装apache依赖软件切 查看详情

squid代理--传统代理(代码片段)

squid代理(一)--传统代理Web代理的工作机制缓存网页对象,减少重复请求代理的基本类型传统代理:适用于Internet,客户端上网需明确指定服务端IP以及端代理口透明代理:适用于共享上网网关,客户端上网不需指定服务端IP以... 查看详情

centos7下squid安装以及传统代理和透明代理的部署(代码片段)

Centos7下squid代理服务安装代理服务的工作机制作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要... 查看详情

squid代理服务(代码片段)

透明代理透明代理提供的服务功能与传统代理是一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于为局域网主机服务,而不适合为INTERNET中的客户机提供服务。配置SQUID支持透明代理SQUID服务的... 查看详情

squid服务之配置透明代理(代码片段)

透明代理提供的服务功能与传统代理时一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合Internet中。网络环境如下:项目大概流程如下:在Linux网关上,构建squid为客... 查看详情

squid透明代理+acl访问控制+日志分析

...,时间等,是企业网络管理的常用手段。代理服务器分为传统代理和透明代理,传统代理适用于浏览internet, 查看详情

squid透明代理

二、透明代理透明代理提供的服务功能与传统代理是一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合为Internet中的客户机提供服务。下面也通过一个简单的应用案... 查看详情

squid代理服务器的认识与总结(代码片段)

...总结一、代理服务器的工作机制二、三种代理类型:传统、透明、反向1、传统代理2、透明代理Squid代理服务器需要指定外网端口转换HTTP服务端配置网卡3、反向代理4、ACL访问控制总结一、代理服务器的工作机制作用:代... 查看详情

squid代理服务器应用(代码片段)

...服务器的工作机制代理的类型Squid代理服务器的安装搭建传统代理搭建透明代理ACL访问控制Squid日志分析反向代理squid总结squid代理服务器介绍squid代理服务器的作用Squid主要提供缓存加速,应用层过滤控制的功能squid代理服务... 查看详情

squid缓存代理服务器!(代码片段)

...型设置缓存代理服务器的好处Squid代理服务安装部署搭建传统代理Web服务器配置Win10客户端配置搭建透明代理ACL访问控制Squid日志分析添加计划任务搭建反向代理Squid缓存代理概述Squid代理服务器是基于Unix的代理服务器(proxyser... 查看详情

squid缓存代理服务器!(代码片段)

...型设置缓存代理服务器的好处Squid代理服务安装部署搭建传统代理Web服务器配置Win10客户端配置搭建透明代理ACL访问控制Squid日志分析添加计划任务搭建反向代理Squid缓存代理概述Squid代理服务器是基于Unix的代理服务器(proxyser... 查看详情

squid代理服务器应用(代码片段)

...Squid的配置文件3.Squid的运行控制4.创建Squid服务脚本三、传统代理配置四、透明代理配置五、ACL访问控制定义访问控制列表六、Squid日志分析安装图像处理软件包添加不计入站点文件,添加的域名将不被显示在排序中运行验证... 查看详情

centos7squid传统代理(代码片段)

Centos7squid传统代理操作环境:squid代理服务器:192.168.80.100web网站:192.168.80.1011、安装编译环境yuminstallgccgcc-c++make-y2、安装插件yuminstallperl-devel-y3、安装wget下载工具yuminstallwget-y4、下载squidwgethttp://www.squid-cache.org/Versions/v3/3.5/squid-3.5.21.t... 查看详情