Created
Jun 6, 2024 03:36 AM
Tags
实验一 标准正向代理(一)环境准备1.1 环境组成1.2 资源配置(二)搭建部署2.1 web 服务器2.2 路由+代理服务器(三)功能测试3.1 测试机测试(图形)3.2 字符界面测试3.3 限制用户通过代理服务器下载的文件大小3.4 Squid 缓存二、透明正向代理1. 实验规划2. 修改squid配置文件3. 测试三、反向代理缓冲器1. 实验规划2. 配置web服务器1&23. 路由器+代理服务器4. 测试四、squid中的访问控制1. squid访问控制有两个要素2. ACL元素类型3. ACL格式4. 常用访问条目5. ACL访问控制实例1. 实例12. 实例23. 实例34. 实例45. 实例56. 实例6
实验一 标准正向代理
(一)环境准备
1.1 环境组成
- 操作系统:CentOS Linux release 7.6.1810
- 软件工具:
- 关闭防火墙/SELINUX
1.2 资源配置
将客户端与服务端放在同一网络环境下。
设备 | 属性 | 虚拟机网卡 | 本机网卡 | 网卡对应 IP 地址 | 网关 |
C7 - 1 | 客户机 - Client | VMNET 3 | ens33 | 192.168.33.10 | 192.168.33.20 |
C7 - 2 | 路由器 + 代理服务器 | VMNET 5 | ens33 | 192.168.33.20 | ㅤ |
ㅤ | ㅤ | ㅤ | ens34 | 192.168.99.20 | ㅤ |
C7 - 3 | web 服务器 | VMNET 5 | ens33 | 192.168.99.30 | 192.168.99.20 |
(二)搭建部署
2.1 web 服务器
2.2 路由+代理服务器
(三)功能测试
3.1 测试机测试(图形)
设置→网络代理→设置→手动配置→输入代理IP端口→确定→访问网站查看服务器访问日志
3.2 字符界面测试
3.3 限制用户通过代理服务器下载的文件大小
3.4 Squid 缓存
二、透明正向代理
1. 实验规划
内网机
VMnet10 ens33 IP:192.168.10.11 GW:192.168.10.22
路由+代理服务器
VMnet10 ens33 IP:192.168.10.22
VMnet10 ens37 IP:192.168.11.22
web服务器
VMnet11 ens33 IP:192.168.11.33 GW:192.168.11.22
2. 修改squid配置文件
3. 测试
三、反向代理缓冲器
1. 实验规划
内网机
VMnet10 ens33 IP:192.168.10.11 GW:192.168.10.22
路由+代理服务器
VMnet10 ens33 IP:192.168.10.22
VMnet11 ens37 IP:192.168.11.22
web服务器1
VMnet11 ens33 IP:192.168.11.33 GW:192.168.11.22
web服务器2
VMnet11 ens33 IP:192.168.11.44 GW:192.168.11.22
2. 配置web服务器1&2
3. 路由器+代理服务器
4. 测试
四、squid中的访问控制
利用访问控制特性,可以控制在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等
1. squid访问控制有两个要素
ACL元素和访问列表,访问列表可以允许或拒绝某些用户对此服务的访问
2. ACL元素类型
- *src:**源地址(客户端IP地址)
- *dst:**目标地址(服务器IP地址)
- *srcdomain:**源域名(客户端名称)
- *dstdomain:**目标域名(服务器名称)
- *time:**一天中的时刻和一周内的一天
- *url_regex:**URL规则表达式匹配
- *urlpath_regex:**URL-path规则表达式匹配,省略协议和主机名
- *proxy_auth:**通过外部程序进行用户验证
- *maxconn:**单一IP的最大连接数
3. ACL格式
1、acl_element_name可以是任意一个在ACL中定义的名称
2、任何两个ACL元素不能用相同的名字
3、每个ACL由列表值组成
当进行匹配检测时,多个值由逻辑或运算连接
即任意一个ACL元素的值被匹配,则这个ACL元素即被匹配
4、并不是所有ACL元素都能使用防伪码列表中的全部类型
5、不同的ACL元素写在不同行中,squid将把它们组合在一个列表中
4. 常用访问条目
1、http_access:允许HTTP访问
2、no_cache:定义对缓存请求的响应。
访问列表的规则由一些类似'allow'或‘deny’的关键字构成,用以允许或拒绝向特定或一组ACL元素提供服务。
一个访问列表可以由多条规则组成
3、如果没有任何规则与访问请求匹配,默认动作将与列表中最后一条规则对应。
一个访问条目中所有规则(条件)将用逻辑与运算连接
4、http_access Action 声明1 AND 声明2 AND 声明 OR.
5、http_access Action 声明3
6、多个http_accesss声明间用或运算连接,但每个访问条目的元素间用与运算连接。
7、列表中的规则总是遵循由上而下的顺序
8、这些规则按照他们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配就立即结束。
5. ACL访问控制实例
1. 实例1
允许IP地址10.0.0.0/24以及192.168.10.0/24内的所有客户机访问代理服务器,并且允许在文件/etc/squid/guest列出的客户机访问代理服务器,除此之外的客户机将拒绝访问本地代理服务器
其中,文件/etc/squid/guest中的内容
2. 实例2
允许域名为kernel.com、linuxlc.com的两个域访问本地代理服务器,其他的域都将拒绝访问本地代理服务器
3. 实例3
使用正则表达式,拒绝客户机通过代理服务器访问包含有诸如“sexy”等关键字的网站
4. 实例4
拒绝客户机通过代理服务器访问文件中指定IP或者域名的网站,其中文件/etc/squid/ deny_ip中存放有拒绝访问的IP地址,文件/etc/squid/deny_dns中存放有拒绝访问的域名
5. 实例5
允许和拒绝指定的用户访问指定的网站,其中,允许客户1访问网站http://www.sina.com.cn,而拒绝客户2访问网站http://www.163.com
6. 实例6
允许所有的用户在规定的时间内(周一至周四的8:30到20:30)访问代理服务器,只允许特定的用户(系统管理员,其网段为:192.168.10.0/24)在周五下午访问代理服务器,其他的在周五下午一点至六点一律拒绝访问代理服务器