当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux服务器架设笔记 Squid服务器配置

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

Unix/Linux 中的 Linux服务器架设笔记 Squid服务器配置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 35 ::
收藏到网摘: n/a

共享网络
加快访问速度,节约通信带宽
防止内部主机受到攻击
限制用户访问,完善网络管理
image
代理服务器原理 
代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓存中查找是否存在需要的信息。
客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对照。如果满足规则,则将缓存中的信息传送给客户端B
squid简介 
访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。 
以下是一些squid的基本配置参数解释
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //设置内存缓冲的大小
cache_dir ufs /var/spool/squid 2000 16 256 //设置硬盘缓冲大小
cache_effective_user squid   //设置缓存的有效用户
cache_effective_group squid  //设置缓存的有效用户组
dns_nameservers 192.168.0.254  //设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns
cache_access_log /var/log/squid/access.log //设置访问日志文件
cache_log /var/log/squid/cache.log //设置缓存日志文件
visible_hostname 192.168.0.20 //设置squid主机名称
以上全局参数根据你自己的需要修改
其实linux下的服务器配置文件最好就是squid,它对每个参数都有解释,而且很多有很多实例
Acl的访问控制列表 
语法:acl  列表名称  列表类型  [-i]   列表值
列表名称:用于区分Squid的各个访问控制列表,任何两个访问控制列表不能用相同的列表名。虽然列表名称可以随便定义,但为了避免以后不知道这条列表是干什么用的,应尽量使用有意义的名称,如badurl、clientip和work time等。
列表类型:是可被Squid识别的类别。Squid支持的控制类别很多,可以通过IP地址、主机名、MAC地址和用户/密码认证等识别用户,也可以通过域名、域后缀、文件类型、IP地址、端口和URL匹配等控制用户的访问,还可以使用时间区间对用户进行管理
-i选项:表示忽略列表值的大小写,否则Squid是区分大小写的。
列表值:针对不同的类型,列表值的内容是不同的。例如,对于类型为src或dst,列表值的内容是某台主机的IP地址或子网地址;对于类型为time,列表值的内容是时间;对于类型为srcdomain和dstdomain,列表值的内容是DNS域名。
列表类型和列表值,在配置文件中有很多例子
现在我们去看看
image
现在我们开始配置squid
默认有一条http_access deny all ,在2500多行,squid配置文件的acl生效顺序是从上到下,所以需要在这条前面写入允许语句
image
这个要注意,是squid服务器监听的端口
image
大家搜索ACCESS CONTROLS
我们一般把允许语句写到这个位置
image
加入两行,第一行是acl内容,定义源是192.168.8.0 网段
第二行是允许全部的语句
image
然后重新启动squid
image
image
OK了~
image
image
在windows下使用代理服务器,开IE,工具,inter选项,连接,局域网设置
image
现在你client就访问你服务器能访问的所有网站了
image
image
##############MICHAEL分割线##################
下面可以自己加一些策略,让squid按照我们的思路去工作
1、不允许192.168.8.24这个用户使用squid
记住deny要在允许所有之前,不然就会失效
image
修改配置文件,一定要记住重新启动
image
直接就访问拒绝了
image
image
这里有实例的
image
192.168.1.10-192.168.1.20/255.255.255.0的意思就是定义源为一个范围
src是源IP的意思
dst就是目标IP的意思
dstdomain是目标域名的意思
现在我们要192.168.8.24这个用户可以访问其他网站,但是不能访问163.com
其他用户的访问不受限制,大家有方法实现么?
这样就可以了
image
意思是同时匹配list2和list3就deny掉
注意:
acl list2 src 192.168.8.24 后面不能加上/255.255.255.0,否则会导致其他IP也不能访问163.com
acl list3 dstdomain .163.com,不能忘记加上".",正是它指出以此域名结尾的所有主机都不可访问,否则会导致不能访问163.com,而可以访问
[url]www.163.com[/url]等哈~
image
[url]www.yahoo.com[/url]访问正常
image
[url]www.163.com[/url] 及news.163.com等163.com域名的网站禁止访问
image
image
[url]www.qq.com[/url]访问正常
image
看下其他客户端192.168.8.25
image
image
image
image
正常~~~
##############MICHAEL分割线##################
可以禁止用户通过网页下载某些特殊的扩展名字文件,如mp3,mp4
 image
现在我们去添加策略
image
重新启动squid
image
现在就不能下载了
image
##############MICHAEL分割线##################
最后一个常用功能:基于时间的控制
192.168.8.200每天13:00-17:00禁止上网
image
重启服务后看下效果
image
image
image
哈~现在一个都不能访问了
还可以加星期几,里面很多实例,大家自己看看吧 
image
客户端192.168.8.200周六周日下午13:00-17:00允许上网
image
image
image
image
OK~