Squid访问控制方法的实例

合集下载

Squid 中文权威指南(4)

Squid 中文权威指南(4)

Squid中文权威指南(第4章)译者序:本人在工作中维护着数台Squid服务器,多次参阅Duane Wessels(他也是Squid的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly出版。

我在业余时间把它翻译成中文,希望对中文Squid用户有所帮助。

对普通的单位上网用户,Squid可充当代理服务器;而对Sina,NetEase这样的大型站点,Squid又充当WEB加速器。

这两个角色它都扮演得异常优秀。

窗外繁星点点,开源的世界亦如这星空般美丽,而Squid是其中耀眼的一颗星。

对本译版有任何问题,请跟我联系,我的Email是:yonghua_peng@彭勇华第4章快速配置向导4.1 squid.conf语法Squid的配置文件相对规范。

它与其他许多unix程序相似。

每行以配置指令开始,后面跟着数字值或关键字。

在读取配置文件时,squid忽略空行和注释掉的行(以#开始)。

如下是一些配置行示例:cache_log /squid/var/cache.log# define the localhost ACLacl Localhost src 127.0.0.1/32connect_timeout 2 minuteslog_fqdn on某些指令取唯一值。

在这些情形下,重复赋予该指令不同的值,将覆盖前面的值。

例如,下面是一个连接超时值。

第一行无效,因为第二行覆盖了它:connect_timeout 2 minutesconnect_timeout 1 hour另外,某些指令取列表值。

在这些情形下,每一个新增的值都有效。

"扩展方式"指令以这种方法工作:extension_methods UNGETextension_methods UNPUTextension_methods UNPOST对这些基于列表的指令,你通常能在同一行中赋予多个值:extension_methods UNGET UNPUT UNPOST许多指令有通用类型。

squid服务的应用[转]

squid服务的应用[转]

squid服务的应用[转]squid服务的应用初始化cache# /s/squid/sbin/squid -z启动squid# /s/squid/etc/rc.d/squid.sh start@ 设置ipfilter为了实现透明的功能,需要将所有对80端口的请求转到squid的3128端口上,以实现对客户端透明的功能。

在/etc/ipnat.rules中加入:rdr fxp1 0.0.0.0/0 port 80 -> 127.0.0.1 3128刷新ipnat配置:# ipnat -Cf /etc/ipnat.rules一切完成,客户端无需任何设置,根本感觉不到代理的存在,而且访问速度明显变快透明代理httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_user_host_header on在Linux上,可以用iptables/ipchains直接将对Web端口80的请求直接转发到Squid端口3128,由Squid接手,而用户浏览器仍然认为它访问的是对方的80端口。

例如以下这条命令:iptables -t nat -A PREROUTING -s 192.168.0.200/32 -p tcp --dport 80 -j REDIRECT 3128就是将192.168.0.200的所有针对80端口的访问重定向到3128端口。

普通代理服务器在这个例子中,代理服务器同时也是网关,内部网络接口eth0的IP地址为192.168.0.1,外部网络接口eth1的IP地址为202.103.x.x。

下面是一个基本的代理所需要配置选项:http_port 192.168.0.1:3128默认端口是3128,当然也可以是任何其它端口,只要不与其它服务发生冲突即可。

为了安全起见,在前面加上IP地址,Squid就不会监听外部的网络接口。

linux--squid服务器的配置

linux--squid服务器的配置

一linux--squid服务器的配置[日期:2007-11-20] 来源:活力网路技术互动中心吴康[字体:大中小]squid代理服务由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和Internet上的其它主机打交道.squid工作机制与基本功能工作机制代理服务器有何优点1.快速的存取由于它是先将网页下载到本地使用,因此访问频率越高的站点速度就会越快。

2.降低网络的费用.Squid是Linux下最为流行的代理服务器软件,它功能强大。

Squid的做为代理服务器,性能远远超过WINNT加MSPROXY2.0,为几百人的小型局域网代理绰绰有余。

3, Squid配置参数squid的配置文件/etc/squid/squid.conf1. _port 10.10.10.1:31282.cache_mem指定squid可以使用的存理想值,建议设为存的1/3.3 cache_dir ufs /var/spool/squid 100 16 256定义硬盘缓存空间.4.简单的代理Squid 访问控制的两个要素例如:允许10.0.0.0/8的网段能上网,#vi /etc/squid/squid.confacl god src 192.168.100.0/24(1818行)_access allow god(1860行)ACL格式:acl 列表名称控制方式控制目标acl god src x.x.x.x/24控制方式src : 源地址(即客户机IP地址)dst : 目标地址(即服务器IP地址)srcdomain : 源名称dstdomain : 目标名称time : 时间url_regex : URL 规则表达式匹配例-根据ip控制A,只允许10.0.0.0/8的客户用代理.#vi /etc/squid/squid.confacl god src 10.0.0.0/8_access allow god在 _access deny all这一行前面添加B,多个ip时,可以建立一个脚本再设它的路径acl good src "/etc/squid/authorizedip.txt“C,根据时间控制time 参数S - Sunday,M - Monday,T - Tuesday,W - Wednesday,H - Thursday,F - FridayA - Saturday,例--控制部分客户机时间只允许10.0.0.0/8的客户在上班时间用代理,其他一律禁止。

Squid服务全攻略

Squid服务全攻略

企业需求公司内部网络采用192.168.8.0/24网段的IP地址,所有的客户端通过代理服务器接入互联网。

代理服务器配置两块网卡:eth0接内网:192.168.8.188/24eth1接外网:192.168.0.188/24代理服务器仅配置代理服务,内存2G,硬盘为SCSI硬盘,容量200GB,设置10GB 空间为硬盘缓存,要求所有客户端都可以上网。

需求分析此案例属于最基本的Squid代理配置案例,对于小型企业这种代理接入互联网经常用到,通过这种方法可以在一定程度上加速度浏览网页的速度,并且可以监控员工上网情况。

对于本案例,首先是要做的就是配置代理服务器两张网卡并开启路由功能,其次是对主配置文件squid.conf进行修改,设置内存、硬盘缓存、日志以及访问控制列表等字段。

然后重启squid服务以使配置生效。

解决方案1、安装squid软件包默认squid没有安装,我们需要安装squid-2.6.STABLE6-4.el5.i386.rpm2、配置网卡并开启路由功能设置网卡IP地址[root@rhel5 ~]# ifconfig eth0 192.168.8.188 netmask 255.255.255. 0[root@rhel5 ~]# ifconfig eth1 192.168.0.188 netmask 255.255.255. 0开启内核路由功能[root@rhel5 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward3、配置主配置文件squid.confvim /etc/squid/squid.confNETWORK OPTIONS设置仅监听内网eth0:192.168.8.188上8080端口的http请求http_port 192.168.8.188:8080OPTIONS WHICH AFFECT THE CACHE SIZE设置高速缓存为512MBcache_mem 512 MBLOGFILE PATHNAMES AND CACHE DIRECTORIES设置硬盘缓存大小为10G,目录为/var/spool/squid,一级子目录16个,二级子目录25 6个cache_dir ufs /var/spool/squid 10240 16 256设置访问日志cache_access_log /var/log/squid/access.log 设置缓存日志cache_log /var/log/squid/cache.log设置网页缓存日志cache_store_log /var/log/squid/store.logOPTIONS FOR EXTERNAL SUPPORT PROGRAMS 设置DNS服务器地址dns_nameservers 192.168.0.1 221.228.225.1ACCESS CONTROLS设置访问控制列表all,该表的内容为所有客户端acl all src 0.0.0.0/0.0.0.0设置允许所有客户端访问http_access allow allADMINISTRATIVE PARAMETERS 设置管理员E-mail地址cache_mgr root@设置squid进程所有者cache_effective_user squid设置squid进程所属组cache_effective_group squid设置squid可见主机名visible_hostname 192.168.8.188保存退出哈~4、初始化squid服务squid -z5、启动squid服务service squid start6、测试客户端设置OK,可以上网了哈,代理服务器配置成功~~~####################Michael分割线################### ######下季我们将更新squid的优化、透明代理、反向代理、访问控制等等哈~ [RHEL5企业级Linux服务攻略]--第9季Squid服务全攻略之高级配置,敬请期待~~~####################Michael分割线################### ######企业环境公司搭建一台代理服务器,需要提高内网访问互联网速度并能够对内部员工的上网行为进行限制,采用squid代理服务器软件,对内部网络进行优化。

[计算机]Squid代理服务器应用案例 多出口多用户认证上网

[计算机]Squid代理服务器应用案例 多出口多用户认证上网

【51CTO独家特稿】最近帮朋友接了个小项目,客户在他们的美国机房租了几台服务器,然后想在上面做上网用的代理服务器,供客户在国内使用。

具体需求如下:1、客户的这台服务器具有多个出口ip地址2、客户希望使用认证的方式使用代理服务器上网3、客户希望通过不同的认证用户实现从不同的出口ip访问网络4、隐藏代理信息,隐藏真实上网ip此客户需求相当明确,根据上面罗列,条理也很清晰。

本文的目的就是向大家介绍笔者实现这个需求的思路和步骤。

这里先看下我设计的逻辑图:根据图中所示,红色的用户1会通过红色的出口ip1访问internet,绿色的用户2会通过绿色的出口ip2访问internet,用户3和用户4同样对应相应颜色的出口访问internet。

接下来根据上面的需求进行逐一的分解。

一、需求分析1、服务器具有多个出口ip地址这个没什么可说的,客户的出口ip为:10.100.10.110.100.10.210.100.10.32、使用认证的方式使用代理服务器上网这里要用到squid的认证功能。

squid的认证功能大类包括basic_auth,digest_auth,external_acl,negotiate_auth,ntlm_auth这5种(注:squid-2.7.STABLE9版本),每个大类下面还有具体的认证方式,如NCSA,LDAP,DB等等,具体支持哪些可以去这些目录下面看。

笔者在这里主要介绍的是NCSA的方式,此种认证方式类似apache的auth认证方式,通过用户名密码来验证,密码文件也是通过htpasswd程序来创建。

后面会给出具体配置。

3、通过不同的认证用户实现从不同的出口ip访问网络先说实现不同出口ip访问网络,这个主要是依靠squid的tcp_outgoing_address配置实现的,此参数可以根据source ip或者用户名的不同,分配不同的出口ip出去。

如此一来,搭配第二个需求中的用户验证,正好就可以实现第三个需求了。

squid用法 -回复

squid用法 -回复

squid用法-回复Squid是一个流行且功能强大的缓存服务器,常用于提高网络性能和减轻服务器负载。

本文将一步一步回答关于Squid的用法,帮助读者了解如何使用和配置Squid以达到自己的需求。

第一步:安装和配置Squid服务器Squid的安装和配置相对简单,可以在大多数Linux发行版的软件库中找到。

使用适合你的操作系统的包管理器来安装Squid,如apt-get、yum 或zypper。

安装完成后,我们需要进行一些基本的配置。

首先,打开配置文件squid.conf(通常在/etc/squid/目录下),并编辑其中的一些关键配置项。

1. 指定Squid服务器的监听地址和端口。

默认情况下,Squid会监听所有可用的网络接口和端口3128。

如果你想修改监听地址和端口,可以修改http_port配置项。

例如,要将Squid配置为监听本地回环接口127.0.0.1的端口8888,可以将http_port配置为"127.0.0.1:8888"。

2. 配置ACL(Access Control List)。

ACL用于限制对Squid服务器的访问。

你可以使用IP地址、域名、URL等来定义ACL。

例如,要允许192.168.0.0/24网段的主机访问Squid服务器,可以添加一行配置:acl localnet src 192.168.0.0/24。

3. 配置http_access规则。

http_access用于定义允许或拒绝访问Squid 服务器的规则。

你可以基于先前定义的ACL或其他条件来设置规则。

例如,要允许localnet ACL的主机访问Squid服务器,可以添加一行配置:http_access allow localnet。

保存配置文件后,重新启动Squid服务器以使更改生效。

第二步:使用Squid进行缓存配置Squid的核心功能之一是代理缓存。

通过配置Squid缓存,我们可以减少对后端服务器的请求,提高网络性能。

squid 正向代理 访问控制规则

squid 正向代理 访问控制规则

squid 正向代理访问控制规则全文共四篇示例,供读者参考第一篇示例:Squid是一个功能强大的HTTP反向代理和缓存代理服务器软件,它不仅可以用来提高网站的访问速度和性能,还可以用来进行访问控制,限制用户的访问权限。

在Squid中,可以通过配置访问控制规则来对访问请求进行过滤和控制,以确保网络安全和数据保护。

在本文中,我们将重点介绍Squid正向代理的访问控制规则,并为读者详细解释如何配置和管理这些规则。

一、Squid正向代理基本概念正向代理是一种代理服务器的工作方式,它代表客户端向服务器发送请求,并返回服务器的响应给客户端。

在正向代理的场景下,客户端向代理服务器发送请求,代理服务器再把请求发送到目标服务器,并将目标服务器的响应返回给客户端。

在Squid中配置的访问控制规则通常用于控制客户端访问代理服务器的权限和访问目标服务器的权限。

二、Squid访问控制规则的分类在Squid中,访问控制规则主要分为六种类型:acl规则、http_access规则、http_reply_access规则、cache_peer_access规则、icp_access规则和delay_pool_access规则。

acl规则主要用于定义访问控制目标,而http_access规则、http_reply_access规则、cache_peer_access规则、icp_access规则和delay_pool_access规则用于配置具体的访问控制策略。

3、acl规则ACL是Access Control List的缩写,用于定义Squid中的访问控制目标。

在Squid中,可以通过配置ACL规则来对客户端IP地址、URL、HTTP方法等进行匹配,以实现不同类型的访问控制。

可以使用acl规则匹配特定的客户端IP地址,只允许这些IP地址访问代理服务器。

示例1:定义一个acl规则,允许指定的IP地址访问代理服务器acl allowed_clients src 192.168.1.1在上面的示例中,我们使用acl规则定义了allowed_clients,只允许192.168.1.1这个IP地址访问代理服务器。

squid介绍及其简单配置

squid介绍及其简单配置

1.Squid是什么?Squid是一种用来缓冲Internet数据的软件。

它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。

也就是说,1.Squid是什么?Squid是一种用来缓冲Internet数据的软件。

它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。

也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。

Squid随之连接到远程服务器(比如:http:///)并向这个页面发出请求。

然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。

当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。

当前的Squid可以处理 HTTP,FTP,GOPHER,SSL和WAIS等协议。

但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

2.squid代理的作用:3.接下来我们主要探讨的是squid各种代理的定义正向代理a.标准的代理缓冲服务器一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。

当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web 站点请求数据。

这样就节省了宝贵的网络带宽,而且提高了访问速度。

但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP 地址和端口号。

客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。

如果在本地缓冲区有目标文件,则直接将文件传给用户即可。

如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。

b.透明代理缓冲服务器透明代理缓冲服务和标准代理服务器的功能完全相同。

但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Squid访问控制方法的实例
《Squid访问控制:ACL元素以及访问列表》这篇文章为大家详细讲述了ACL元素以及http_access访问控制列表的语法以及使用过程中需要注意的问题,本文将给出使用这些访问控制方法的实例。

《Squid访问控制:ACL元素以及访问列表》这篇文章为大家详细讲述了ACL元素以及http_access访问控制列表的语法以及使用过程中需要注意的问题,下面给出使用这些访问控制方法的实例:
(1)允许网段61.0.3.188/24以及172.190.96.33/24内的所有客户机访问代理服务器,并且允许在文件/etc/squid/guest列出的客户机访问代理服务器,除此之外的客户机将拒绝访问本地代理服务器:
acl clients src 61.0.3.188/24 172.190.96.33/24
acl guests src “/etc/squid/guest”
acl all src 0.0.0.0/0.0.0.0
http_access allow clients
http_access allow guests
http_access deny all
其中,文件“/etc/squid/guest”中的内容为:
172.168.10.3/24
210.113.24.8/16
10.0.1.24/25
(2)允许域名为、的两个域访问本地代理服务器,其他的域都将拒绝访问本地代理服务器:
acl permitted_domain src
acl all src 0.0.0.0/0.0.0.0
http_access allow permitted_domain
http_access deny all
(3)使用正则表达式,拒绝客户机通过代理服务器访问包含有诸如“sexy”等关键字的网站:
acl deny_url url_regex –i sexy
http_access deny deny_url
(4)拒绝客户机通过代理服务器访问文件中指定IP或者域名的网站,其中文件/etc/squid/ deny_ip中存放有拒绝访问的IP地址,文件/etc/squid/deny_dns中存放有拒绝访问的域名:
acl deny_ip dst “etc/squid/deny_ip”
acl deny_dns dst “etc/squid/deny_dns”
http_access deny deny_ip
http_access deny deny_dns
(5)允许和拒绝指定的用户访问指定的网站,其中,允许客户1访问网站http://www.sina. ,而拒绝客户2访问网站:
acl client1 src 192.168.0.118
acl client1_url url_regex ^
acl client2 src 192.168.0.119
acl client2_url url_regex ^
http_access allow client1 client1_url
http_access deny client2 client2_url
(6)允许所有的用户在规定的时间内(周一至周四的8:30到20:30)访问代理服务器,只允许特定的用户(系统管理员,其网段为:192.168.10.0/24)在周五下午访问代理服务器,其他的在周五下午一点至六点一律拒绝访问代理服务器:
acl allclient src 0.0.0.0/0.0.0.0
acl administrator 192.168.10.0/24
acl common_time time MTWH 8:30-20:30
acl manage_time time F 13:00-18:00
http_access allow allclient common_time
http_access allow administrator manage_time
http_access deny manage_time
(7)/etc/squid.conf,系统软件包提供、推荐的最小化配置如下,用户可以根据实际情况来进行定制
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 192.168.10.3/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https,snews acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
(...)
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
# INSERT YOUR OWN RULE(S)HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
#Default:
# icp_access deny all
#
#Allow ICP queries from eveyone
icp_access allow all
配置带认证的代理服务抑制非法用户使用代理服务
默认时,Squid本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。

一般有以下的认证程序:LDAP认证、SMB认证、基于mysql的认证、基于sock5的密码认证和基于Radius的认证。

下面介绍常用的ncsa实现的认证,ncsa是Squid源代码包自带的认证程序之一,从squid 2.5开始都包含了ncsa的模块。

在Red Hat Enterprise Linux 发行套件的/usr/lib/squid 目录下可以找到ncsa_auth文件。

要使用该认证服务,首先需要创建认证用户和密码:
#htpasswd -c /usr/local/squid/etc/ps_file guest
如果是以后添加用户的话就把-c的参数去掉。

然后,再更改/etc/squid/squid.conf主配置文件,添加如下:
//配置认证文件和用户文件
auth_param basic program /usr/lib/squid/ncsa_auth /usr/local/squid/etc/ ps_file
//指定认证程序的进程数
auth_param basic children 5
//代理服务器的名称
auth_param basic realm Squid proxy-caching web server
//认证有效时间为2小时
auth_param basic credentialsttl 2 hours
//只有认证用户才能访问
acl normal proxy_auth REQUIRED
http_Access allow normal
最后,重启squid服务即可。

在浏览器里配上这个代理,打开任意网站,如果弹出了输入用户名和密码的对话框,就证明配置成功了。

文档由无广告小说网收集整理。

相关文档
最新文档