squid透明代理服务器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
squid透明代理服务器的设计
摘要:squid透明代理服务器的设计成为近年来普遍关注的问题,本文就从多个方面进行分析,以供参考。
关键词:透明代理器设计
1、透明代理服务器squid软件包的安装及其启动
(1)配置squid透明代理服务器之前先要确定squid软件包是否安装。
(2)因为squid服务程序在rhel4中默认不自动启动。
如作为服务器使用,需要使用chkconfig命令设置squid服务在运行级别3和5中自动启动。
2、linux主机的域名解析的设计及其功能描述
(1)squid服务器在初始化或运行时需要所在主机具有完整的域名,否则squid服务器无法成功启动。
Linux主机完整域名需要在DNS服务器中进行解析,在DNS服务器中配置解析之前,先要确定是否安装了BIND服务器软件包,由于RHEL4系统中默认没有安装BIND服务器软件包,而只安装了名为bind-libs 和bind-utils的两个域名解析相关的软件包,其中bind-libs软件包中提供了实现域名解析功能必备的库文件,bind-utils中提供了对DNS服务器的测试工具程序。
(2)RHEL4系统中提供了RPM格式的BIND服务器软件包,位于第4张安装光盘中,安装文件的名称是bind-9.2.4-2.i386.rpm,利用rpm ivh命令安装软件包。
(3)安装缓存域名服务器的软件包caching-nameserver,该软件包保存在第一张安装光盘中,系统默认没有安装,需要使用rpm命令手动进行安装,caching-nameserver软件包安装时将对BIND服务器的配置文件named.conf的内容进行更改,原有文件中的内容被保存在/etc/named.conf.rpmorig中。
(4)编辑缓存域名服务器配置文件/etc/named.conf,使用options配置语句进行BIND服务器的全局属性配置。
(5)在缓存域名服务器的named.conf配置文件中,除了包括根区域的配置以外,还要在named.conf配置文件中的末尾添加域的正向区域和反向区域的设置。
正向区域的区域名称为,类型为主域名服务器,区域文件名称为.zone。
域中所有主机都在子网192.168.1.0中,因此反向解析区域的名称是 1.168.192.in-addr.arpa,类型为主域名服务器,区域文件名是192.168.1.rev。
(6)在配置文件中设置完正向区域和反向区域后,还需要在配置文件中建立名为.zone的正向区域文件,该文件需要保存在目录”/var/named”中,可以使用vi等文本编辑器建立该文件。
首先在/var/named 目录下配置正向区域文件,区域文件中的基本设置内容如下:添加域名服务器记录,域名服务器记录又称为NS记录,在区域文件中用于设置当前域的DNS服务器名称,该记录设置的是服务器的主机名称而不是IP地址,域名服务器的主机名应该在区域文件中具有相应的地址记录。
在区域文件中代表默认的域(当前域)。
(7)编辑完正向区域文件,还需要在配置文件当中添加反向区域文件,添加反向区域文件的作用是为了保存IP地址到主机名称的解析记录,这样DNS服务器就可以提供从IP地址到域名的解析服务了,为此需要在/var/named目录中编辑。
在上面的反向地址记录中使用了省略的IP地址表示方法,由于是在1.168.192.in-addr.arpa区域内,所以1表示的是IP地址192.168.1.1。
(8)在完成对name.conf主配置文件和正反向区域文件进行设置后,可以使用BIND软件包中提供的工具对文件配置的语法进行测试。
测试配置是否有误。
在对主配置文件内容进行检测以后,还需要检测区域文件,其中named-checkzone命令用于检查
区域文件中的语法错误,对正向区域文件和反向区域文件进行检查。
由结果可以看出文件中没有任何错误,将显示OK。
当完成全部配置文件和区域文件的设置以后,需要重新启动named服务程序,使新的配置内容生效。
3、squid的初始化
(1)因为squid服务器是第一次启动,所以在启动服务器之前,需要使用squid-z命令对服务器进行初始化工作,如果不手动执行squid-z命令,squid服务脚本在第一次启动服务时也会自动完成相应的初始化工作,在启动squid服务程序。
(2)启动squid服务器,squid服务器的启动脚本位于/etc/init.d目录中,脚本文件的名称是squid,该脚本负责squid服务器的启动和停止等任务管理。
用service squid start启动squid服务器。
4、透明代理服务器配置文件的编辑
(1)服务器启动后,使用netstat命令可以看到squid服务程序在3128端口进行代理服务的监听。
squid服务器在/etc目录下有独立的配置目录,目录名称为squid。
该目录保存了squid服务器相关的配置文件/etc/squid/目录中的squid.conf是squid服务器的主配置文件,squid.conf.default文件是squid.conf文件的原始配置副本。
(2)要想配置成透明代理服务器,需要用vi编辑squid配置文件。
(3)建立squid的高速缓存目录,通常情况下squid的缓存目录是建立在磁盘上的,这时磁盘的I/O就限制了squid性能的发挥,同时我们知道RAM是计算机中最快的存储单元,我们现在就关注一下怎样把squid的缓存目录放到系统RAM中去。
(4)Squid服务器默认配置中不支持提供透明代理服务的相关功能,因此在配置文件中需添加如下几项(5)在对squid.conf配置文件配置完成以后。
需要执行squid脚本使配置生效。
5、透明代理服务器的结果验证
(1)执行脚本后,linux主机将具有透明代理功能,如果是来自内部网络的数据包是访问WWW服务的。
那么他将重定向到squid服务器提供代理服务。
从以上iptables命令的结果中可以看到nat表中的PREROUTING规则链中已经存在实现透明代理的规则。
(2)将客户机的默认网关写成linux服务器的IP地址,并且访问外部网站。