Linux squid 代理服务器配置 综合实训二实验报告 联系客服

发布时间 : 星期二 文章Linux squid 代理服务器配置 综合实训二实验报告更新完毕开始阅读5050fac38bd63186bcebbc99

Linux 综合实训二实验报告 Squid 代理服务器的配置

计算机网络2010 陈志强 201036615105

一.实训场景

B公司包括一个园区网络和两个分支机构。在园区网络中,大约有500名员工,每个分支机构大约有50名员工,还有一些SOHO员工。

假定你是该公司的园区网络的网络管理员,现在公司的园区网络要进行规划和实施,现有条件如下:公司已租借了一个公网的ip地址 100.100.100.10,和ISP提供的一个公网DNS服务器的IP地址 100.100.100.200。园区网络和分支机构使用 172.16.0.0网络,并进行必要的子网划分。 二.实训要求

1. 在园区网络中搭建一台Squid 服务器,使公司的园区网络能够通过该代理服务器访

问Internet. 要求进行Internet 访问性能的优化,并提供必要的安全性。

2. 搭建一台VPN 服务器,使公司的分支机构以及SOHO员工可以从Internet 访问内

部网络资源(访问时间: 09:00-17:00)。

3. 在公司内部搭建DHCP和DNS服务器,使网络中的计算机可以自动的获取IP 地址,

并使公司内部的DNS服务器完成内部主机名以及 Internet 域名的解释。 4. 搭建FTP 服务器,使分支机构和SOHO 用户可以上传和下载文件。要求每个员工

都以匿名访问FIP服务器,进行公共文档的下载;另外还可以使用自己的账户登录FTP服务器,进行个人文档的管理。

5. 搭建Samba 服务器,并使用 Samba 充当域控制器,实现园区网络中员工账户的集

中管理。并使用 Samba 实现文件服务器。 共享每个员工的主目录给该员工,并提供写人权限。

三.由于在这个实训中。主要负责对Squid 代理服务器的配置:所以下面是对Squid 代理

服务器的配置说明。

首先对Squid 代理服务器进行认识:

1

代理服务是指由一台拥有公有IP地址的机器代替若干没有共有ip地址的机器和internet上的其他主机打交道,提供代理服务的这台机器称为代理服务器。拥有私有ip地址的机器想连接到internet上时,先把这个请求发给拥有共有ip地址的代理服务器,由代理服务器把这个请求通过它的标准ip地址发到请求的目的地址。然后目的地址的服务器把返还的结果发回给代理服务器,代理服务器再原封不动的把资料发给内部主机。若干拥有内部地址的机器组成了内部网,代理服务器的作用就是沟通内部网和internet ,解决内部网访问internet的问题。这种代理是不可逆的,internet上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。

代理软件的一个优点是它能够检验除了数据包之外的很多东西squid对数据包的有效载荷进行检验,也就是穿越防火墙的数据包中TCP(或者UDP)部分所占的分量。根据数据包报头(数据包中的ip部分)和数据包有效载荷的信息,代理防火墙能够解决数据包将发往何处,数据包请求什么,以及根据数据包所必须提供的这些信息决定采取什么样的行动。Squid 是一个高性能的代理服务器缓存服务器,可以加快内部网浏览Internet的速度,提高客户机访问的命中率。Squid 不仅仅支持HTTP协议,还支持FTP,gopher,ssl 和WAIS等协议。和一般的代理软件不同,Squid用一个单独的,非模块化的,I/O驱动的进程来处理所有的客户请求。

Squid 由一个主要的服务程序Squid,一个DNS查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。Squid的另一个优越性在于它使用访问控制清单(ALC)和访问权限清单(ARL)。 四.项目实施

实验机器配置 奔腾 2.8G/2G/500G

1.首先在Linux 操作系统中查看是否已经安装了Squid 服务: 【root@RHEL4~】#rpm –q squid Squid-2.5.STABL E6-3

这表明系统已经安装了Squid 服务。 2.启动Squid 服务

启动和重新启动Squid 服务的命令如下: //启动Squid服务

【root@RHEL4~】#service squid start 启动 squid:【确定】

2

//重新启动Squid 服务

【root@RHEL4~】#service squid restart 停止 squid:【确定】 启动 squid:【确定】 3.配置Squid服务器

4.Squid 代理服务器的网络拓扑图如下:

Squid服务的主配置文件是/etc/squid/squid.conf 具体配置如下:

1.http_port 8080 //定义Squid 监听HTTP客户连接请求端口。

2.cache_mem 600Mb //指定Squid 可以使用的内存理想值,建议为物理内存的 1/3。

3.cache_dir ufs /var/spool/squid 4096 16 255 //用于指定硬盘缓冲区的大小。其中 ufs 是 指缓冲的存储类型,一般为 ufs; “var/spool/squid ”是指硬盘缓冲区存放的目录; 4096是指缓冲区最大大小为4096MB;“16”代表硬盘缓存目录下建立的第一级子目录的个数,

3

缺省值为“16”;“256”代表可以建立的二级子目录的个数,缺省值为“256”。

4.cache_effective_user squid //设置使用缓存的有效用户。在利用RPM格式的软件包安装 时,安装程序会自动建立一个命名为squid的用户供squid服务使用。如果系统没有该用户,管理员可以自行添加。

5.cache_effctive_group squid // 设置使用缓存的有效用户组

6.dns_nameservers 100.100.100.200 //设置有效的DNS服务器地址。为了使squid代理服务器能正确地解析出域名必须指定可用的DNS服务器。

7.cache_access_log /var/log/squid/access.log // 设置访问记录的日志文件。该日志文件主要记录用户访问internet的详细信息。

8.cache_log /var/log/squid/cache.log //设置缓存日志文件,该文件记录缓存的相关信息。 9.cache_store_log /var/log/squid/store.log //设置网页缓存日志文件。该文件记录记录网页在 缓存调用的情况等信息。

10.visible_hostname 172.16.0.1 //设置运行squid 代理服务器的主机的名称。当访问发生错误时,该选项的值会出现在客户端错误提示网页中。 11.cache_mgr mlx_168.@163.com //设置管理员的邮箱地址

12.acl allow_ip src 172.16.0.0/255.255.255.0 //允许172.16.0.0/24网络的客户机上网 htttp_access allow all_ip //访问控制列表名称。设置允许或拒接某个访问控制列表的访问请求。

13.设置访问控制列表。Squid代理服务器是Web 客户机与Web服务器之间的中介,他实现访问控制,决定那一台客户机可以访问Web 服务器以及如何访问。Squid服务器通过检查具有控制信息的主机和域的访问控制列表(ACL)来决定是否允许客户机进行访问。ACL是要控制客户的主机和域的列表。使用acl命令可以定义ACL,该命令在控制项中创建标签。用户可以使用http_access 等命令定义这些控制功能,可以基于多种acl选项,如源IP地址,域名,甚至时间和日期等来使用acl命令定义系统或者系统组

4.配置好/etc/squid/squid.conf 文件后,利用下面的命令启动squid 服务。 【root@RHEL4~】#service squid start 启动 squid:【确定】

5.客户端的配置。在客户端的浏览器,找到代理服务器的地方,添加代理服务器的地址为1172.16.0.1,监听端口为8080即可。

4