Squid是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户。
按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口。
透明代理:适用于企业的网关主机(共享接入 Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的 Web 访问数据转交给代理服务程序处理。
反向代理:是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
在pfsense中,使用较多的是Squid透明代理。本教程将告诉你如何在pfSense 2.33上设置Squid透明代理。本例中Squid的版本号为3.5.24_2 。
安装Squid
1.导航到System > Package Manager(插件管理)。
2.单击Available Packages(可用插件)选项卡。
3.向下翻页找到squid。
4.单击 ‘+’ 进行安装。
Squid GeneralSettings(常规设置)
1. 导航到 Services > Squid Proxy Server > General选项卡
2. Enable Squid Proxy(启用Squid代理)-Check toenable(设置为启用)
3. Keep Settings/Data(保留设置/数据)-如果不想在删除Squid后,还保留大量的缓存数据,建议不选择。
4. Proxy Interface(代理接口)-选择LAN 。
5. Allow Users on Interface-如果选中,连接到“Proxy Interface(代理接口)”字段中选择的接口的用户将被允许使用该代理。不需要将接口的子网添加到允许的子网列表中。
6. 其他设置可以使用默认值。
TransparentProxy Setting(透明代理设置)
1.Transparent HTTP Proxy(透明代理)-Check to enable(设置为启用),启用后目标端口80的所有请求将转发到代理服务器。
2.Transparent Proxy Interface(透明代理接口)-选择LAN。
3.其他设置默认。
LoggingSettings(日志设置)
可以不设置(特别在硬盘容量不足的时候)!
1.Enable Access Logging(启用访问日志)-Check toenable(设置为启用)。
2.Log Store Directory(日志保存目录)-通常不需要更改目录,因此保持默认值就足够了。如果确实需要更改路径,请记住不要在路径末尾添加“/”。
3.RotateLogs(日志轮流)-定义将保留多少天的日志文件。如果不设置,则一直保存。
4.其他采用默认值。
HeadersHandling, Language and Other Customizations(标题处理,语言和其他设置)
1.Visible Hostname(可见主机名)-如果代理服务器显示任何错误,这将显示在客户端计算机上。可以保持与pfSense服务器的主机名相同的名称。
2.Administrator’s Email (管理员邮箱)–如果发生错误,这也将显示在客户机上。
3.Error Language (错误提示语言)-选择在客户端出现错误信息时显示的语言。
4.其它选项保持默认就可以了。
Squid HardDisk Cache Settings(硬盘缓存设置)
1. 单击Local Cache选项卡, 向下翻页找到Squid Hard Disk Cache Settings
2. Hard Disk Cache Size(硬盘缓存大小)-分配给Squid的最大硬盘缓存。建议将数值设置在4GB以上。
3. Hard Disk Cache System(硬盘缓存系统)-建议默认设置。
4. Level 1 Directories(一级目录)-指定硬盘缓存1级目录的数量。最多可以设置256个。目录越多,启动越慢,但在特定条件下可以加快缓存速度。
5. Hard Disk Cache Location(硬盘缓存位置)-如果硬盘足够存储在“硬盘缓存大小”中指定的缓存大小,请保持默认设置。 如果没有,请选择另外存储的路径,并记住不要在文件路径的末尾添加“/”。
6. Minimum Object Size(最小对像大小)-小于指定大小的对象(以KB为单位)不会保存在磁盘上。默认值:0(表示没有最小值)建议默认值。
7.Maximum Object Size(最大对像大小)-大于指定大小的对象(以MB为单位)不会保存在磁盘上。 默认值:4(MB)。提示:如果增加的速度比节省带宽更重要,则应将其设置为较低的值。建议默认值。
Squid MemoryCache Settings(内存缓存设置)
1. Memory Cache Size(内存缓存大小)-可以为Squid设置缓存的内存越多,缓存过程就越快。建议使用2GB以上。 但不要超过总内存的50%。
2. Maximum Object Size in RAM(RAM中的最大对象大小)- 高于分配大小的对象不会存储在内存缓存中。建议使用默认值(256 KB)。
3. Memory Replacement Policy(内存替换策略)-确定在需要存储空间时从内存中清除哪些对象。建议默认heap GDSF。
Squid AccessControl Lists(访问控制列表)
可以不设置!
1.单击ACLs选项卡。
2.Allowed Subnets (允许的子网)–输入以CIDR格式(192.168.111.0/24) 允许使用代理的子网。每个条目一行。如果在“SquidGeneral Settings(常规设置)”选项卡上选中了“AllowUsers on Interface(允许接口用户)”时,则无需将“代理接口”子网添加到此列表中。
3.其他设置保证默认就行了。
经过以上设置Squid代理已经正常运行。
以上就是一个基本的Squid透明代理的配置过程。Squid 3.5.24_2 的功能非常多,其他更复杂的配置请自行研究!
2017-06-03
本文出自 “pfsense” 博客,转载请与作者联系!
原文地址:http://fxn2025.blog.51cto.com/24757/1931911