RHCE课程-RH253Linux服务器架设笔记六-Squid服务器配置

简介:
共享网络 
加快访问速度,节约通信带宽 
防止内部主机受到攻击 
限制用户访问,完善网络管理
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
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~
##############MICHAEL分割线##################











本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/154715,如需转载请自行联系原作者

相关文章
|
10天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
13天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
28天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
6天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1192 6
|
14天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
18天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
18天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
28天前
|
网络协议 安全 Shell
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
33 0
|
28天前
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
29 0

热门文章

最新文章