【ACCESS精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了ACCESS精品源码-[精品]实验一、SQUID的安装与基本配置 - 毕业设计的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
实验一、Squid的安装与基本配置 1实验目的 通过对Squid服务器系统的安装与配置实验加深对代理服务器原理的理解掌握Squid服务器的安装与配置方法为将来从事网络工程建设打下基础。
2实验要求 下载Squid代理服务器源代码在Linux 环境下编译生成执行代码并进行安装和基本配置然后将某计算机的上网设置为通过该代理服务器上网测试Squid代理服务器系统工作是否正常。
3实验步骤 3.1 实验准备 1、系统要求 系统配置 建议CPU 为PIII 900MHZ以上 内存128MB以上磁盘可用空间100MB以上 具有10M/100M网卡操作系统采用 Red Hat 6.0 版本或更高版本。
编译器环境 系统必须装有ANSI-C编译器推荐使用来自Free Software Foundation FSF的GNU C compiler GCC。
2、下载源代码 Squid最新版本的源代码可以从网站上: www.squid-cache.org 或其镜像站点下载 本书附带的光盘上包括了 squid-2.5.tar.gz版本的原代码。
3、源代码解包 将下载的安装包squid-2.5.tar.gz复制到某一个用户目录下下面以/usr/src/目录为例介绍然后用以下命令解压 cd /usr/src tar xvfz squid-2.5.tar.gz 将会在/usr/src/目录下创建/squid-2.5子目录该目录下包含squid所有的源代码和相关文档进入这个目录以便继续系统的安装与配置过程。
3.2编译设置 Squid是一个由多模块组成的安装包其功能可以根据不同的应用需求进行裁剪另外Squid 还可以在不同的操作系统环境下安装由于不同的操作系统其编译库可能不完全相同所以必须设置好当前操作系统下编译参数最后还需要设置好Squid系统的安装目录这些工作可以通过/ Squid-2.5目录下的configure脚本来进行裁剪和检测并形成下一步编译的Makefile文件。
执行./configure –-help可显示squid可以设置的参数或裁剪的模块及其简要说明 cd /usr/src/squid-2.5 ./configure –-help 除了以下几个参数可能需要更改外一般情况下使用系统默认设置就可以了。
安装路径名 Squid默认安装位置为/usr/local/squid你可以通过以下编译开关更改之 --prefix/usr/local/squid 支持的文件系统 Squid默认使用ufs作为缓存文件系统如果要求Squid不缓存任何文件就需要加上null文件系统 --enable-storeioufs null 访问控制语言 如果要求Squid支持对客户机的MAC地址进行访问控制必须加上编译开关 --enable-arp-acl 指定错误报告语言 --enable-err-languagesSimplify_Chinese --enable-default-err-languagesSimplify_Chinese 允许多线程服务 --enable-pthreads 允许解析下划线 默认情况下Squid认为带下划线的URL是非法的拒绝访问该地址 --enable-underscore 根据你的应用需求你可以灵活选择编译参数在本实验中我们执行以下配置命令 ‘’为Linux命令行的接续符号 cd /usr/src/squid-2.5 ./configure --prefix/usr/local/squid --enable-storeioufsnull --enable-arp-acl --enable-err-languageSimplify_Chinese --enable-default-err-languageSimplify_Chinese --enable-pthreads --enable-authbasic --enable-basic-auth-helpersNCSA --enable-underscore 也可把上述命令用vi编辑在一行上必须去掉接续符号’’并保存到一个文件如cfg中并赋予其执行权限然后执行该命令文件 chmod x cfg ./cfg 3.3编译 根据configure配置的模块和检测到编译参数保存在Makefile中执行以下命令就可以对Squid源代码进行编译 cd /usr/src/squid-2.5 make 正常情况下编译能顺利完成但如果操作系统或C语言编译器有问题则可能终止编译过程此时需要根据报告的错误进行相应的处理。
3.4安装 如果编译正常完成就可以将Squid安装到上述—prefix指定的目录中如/usr/local/squid命令如下 cd /usr/src/squid-2.5 make install 安装完成后可以清除编译生成的中间文件.o以释放磁盘空间 cd /usr/src/squid-2.5 make clean 3.5配置 安装完成后接下来要对Squid的运行参数进行配置。
Squid的配置文件放在/usr/local/squid/etc/squid.conf中。
在本例子中假设代理服务器的内部网络接口eth0的IP地址为192.168.25.1外部网络接口eth1的IP地址为202.103.x.x。
下面是一个基本的代理所需要运行配置选项 1 代理端口 默认端口是3128也可以指定为任何其它端口只要不与其它服务发生冲突即可。
为了安全起见在前面加上IP地址Squid就不会监听外部网络接口eth1。
http_port 192.168.25.1:3128 2错误页面显示的服务器 告诉Squid在错误页面中显示的服务器名称为 localhost visible_hostname localhost 3缓存文件位置和缓存策略 对于某些存储空间有限的系统如果需要Squid缓存任何文件可以使用null文件系统即可 cache_dir null /usr/local/squid/var/cache 对于缓存代理服务器需要配置缓存的文件系统、位置和缓存策略等参数 cache_dir ufs /usr/local/squid/var/cache cache_mem 32MB cache_swap_low 90 cache_swap_high 95 在这里Squid会将/var/squid目录作为保存缓存数据的目录内存中每次处理的缓存数据大小是32兆字节当缓存空间使用达到95时新的内容将取代旧的而不直接添加到目录中直到空间又下降到90才停止这一活动。
定义缓存主目录、文件大小、散列子目录 cache_dir ufs Directory-Name Mbytes L1 L2 cache_dir ufs /usr/local/squid/var/cache 100 4 16 在这里指定保存数据的每个缓存文件大小为 100MB有4个存储目录00-03 每个目录中有16个子目录缓存文件将随机散列存储在这些目录中。
存储目录需要手工创建 cd /usr/local/squid/var mkdir cache cd cache mkdir 00 mkdir 01 mkdir 02 mkdir 03 最后还需要指定记录用户访问信息的文件通过分析之可以了解用户访问Internet情况 cache_
access_log /usr/local/squid/var/logs/
access.log cache_log /usr/local/squid/var/logs/cache.log cache_store_log /usr/local/squid/var/logs/store.log 4日志文件管理用户 配置Squid读写日志文件的用户如 test 不要用 root 否则将不能写日志如果用户test不存在则先用在服务器上通过useradd增加一个test 用户 cache_effective_user test 然后你必须把 /usr/local/squid/var/logs 的用户改为 test: cd /usr/local/squid/var/ chown test logs 3.6运行与停止 cd /usr/local/squid/sbin ./squid -h // 显示帮助信息 ./squid –D // 以daemon 方式运行并禁止DNS解析 ps -Agrep squid //查看运行的进程ID正常情况下应看到2个进程 // 查看运行的进程ID假设为processID kill -9 processID // 停止Squid 4实验评测 当Squid基本配置完成暂未启动后可以采用以下方法和步骤测试其功能 1 验证Web服务器 在测试的客户机的浏览器中输入某网站URL假设为www.test.com且web服务已启动由于还没有配置通过代理访问所以应该能看到www.test.com的网页 2 配置代理 在测试的客户机的浏览器中“工具-Internet选项-连接-局域网设置-为LAN使用代理服务器”设置代理 代理地址192.168.25.1 代理端口3128 然后通过浏览器访问www.test.com由于Squid代理还没有启动将报告连接代理出错 3 在代理服务器上启动Squid并把代理服务器的防火墙停下来或允许3128tcp端口开放 4 再访问www.test.com如果代理服务器运行正常则应该能所以应该能看到www.test.com的网页。
上一篇:
【精品】单片机经典教程
下一篇:
“海德格尔学案”对中国学人的启示