科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道实例教你在Linux下建立代理服务器

实例教你在Linux下建立代理服务器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了利用Squid实现代理的最基本的内容,旨在给大家提供一个架设思路,其实Squid还有不少的高级功能,比如用做二级代理、做为防火墙使用等等。

2006年12月3日

关键字: SQUID 服务器 Linux 代理服务器

  • 评论
  • 分享微博
  • 分享邮件
    ZDNetChina服务器站 操作系统技巧

    在架设之前,让我们先来了解一下代理服务器的特点。我们这样来理解代理服务器:假设电脑A需要电脑B的数据,电脑A先与电脑C建立连接,电脑C接收到电脑A的数据请求后,再与电脑B建立连接,下载电脑A所请求的数据后再将此数据传送到电脑A,电脑C就称之为代理服务器。

  代理服务器的作用可以概述为三方面:

  一是通过代理服务器可以访问一些对IP有限制的网站;

  二是可以当做防火墙使用;

  三是可以很好隐藏自己真实IP,提高安全性。

  接下来我们一起来看看架设步骤。

  一. 配置LINUX上网

  第一步:单击“开始-系统工具-网络设备控制”,然后再单击“配置”按钮。

  第二步:选中外接ADSL接入的网卡,再单击“编辑”按钮。如图所示。

实例教你在Linux下建立代理服务器

  第三步:在接下来的窗口里勾选“当计算机启动时激活设备”,并单击“静态设置的IP编号”,“编号”框中输入网卡IP地址“192.168.0.1”,子网掩码默认为“255.255.255.0”,默认网关编号为空,确定即可。

  二. 代理架设过程

  此实例重点不是在LINUX系统配置,而是使用第三方代理服务器软件的配置流程。

  1. 关于LINUX下第三方代理服务器软件的选择

  可以选择的其实还是不少,比如Apache:具有强大的功能、高速度和高效率等特点,

  但在LINUX下作代理服务器的性能优势并不明显,不建议使用;推荐使用Squid ,有关此软件的相关报道也不少,它由一个主要的服务程序squid,一个DNS查询程序dnsserver和几个管理工具组成,其比较明显的特性就是可以减少服务器等待DNS查询的时间,“Linux+Squid”是最好的代理服务器组合!

  2.安装Squid

  其实如今的Linux中基本都有已编译好的Squid,直接安装它即可。如果你手头没有编译好的Squid,可以到FTP://squid.nlanr.net/pub去下载。

  第一步:请记住squid默认情况下是不允许root执行它的,你必须为squid建立新的目录及用户:我们假设用户目录设为/usr/local/squid 。然后执行以下命令解压tar.gz:

  Tar zxvf squid –src.tar.gz

  第二步:进入squid目录,运行“./configure”,此命令熟悉Linux的朋友应该清楚,它会自动检查系统的配置情况,由于没有加参数,故默认安装于此目录下。

  第三步:建立好配置文件后,即可输入make开始编译Squid;最后用make install命令进行Squid安装。

  3. 配置Squid

  这里有必要说明一下,如果你对Squid代理服务器的安全性方面没什么特别的要求,那只需要改一个地方就可以让Squid正常工作!在Squid目录下找到“Squid.conf”并打开,进一步找到“http_access deny all”这一字段,只要将“deny”改成“allow”就一切OK!(一定注意是改前面没有“#”号的那一行)

  而如果要使Squid按照自己的意愿工作,那就得对“squid.conf”作些改动,这里先对此配置文件中会对Squid的工作效率产生影响的几个参数作个简要说明:

  cache_mem:设定Squid占用的物理内存。注意设定时最好不要超过本机物理内存的1/4,否则可能会影响到本机的性能,例如:cache_mem 64M。

  http_port:用于设定Squid的监听端口。默认值为3128,个人认为可改可不改。

  cache_effective_user:设定使用缓存的用户。默认为nobody,一般都要进行改过,建议重新建立一个。

  cache_dir:设定缓存的大小和位置。例如:cache_dir /usr/local/squid/cache 100 32 128,数字100前的部分表示缓存位置,100表示缓存最大不超过100M,32跟128表示目录数。

  清楚了这些主要参数项并做相应改动之后,一般再进行以下两步配置即可,其它项保持默认即完成合符自己要求的最简单配置。

  第一步:我们假设本机网卡IP地址为192.168.0.1,子网掩码为255.255.255.0,打开squid.conf,单独起一行输入以下命令:

  acl local_net src 192.168.0.1/255.255.255.0

  第二步:定义允许使用缓存的IP地址组。即前面提到的“http_access allow local_net”命令行。

  4. 在浏览器里运行测试

  在浏览器Mozilla中依次选择“Edit-Preference-Advanced-Proxies”,再选择“Manual Proxy configuration”之后点“View”,即可将Squid服务器的IP地址(172.21.101.132)作为代理服务器地址,默认端口号为3128。如果你在前面一步“Squid.conf”配置文件中对“http_port:”作了修改,请填入你修改后的端口号。

    另外,如要控制Squid的运行,可以单击“开始-服务器设置-服务”,打开“服务配置”窗口,在中间的窗口内点选“Squid”即可;而如果要让LINUX启动时自动启动Squid,只要勾选前面的复选框就行了。 OK,现在应该可以进行Web浏览了,如图所示。

实例教你在Linux下建立代理服务器

  如果你要检查Squid是否处于正常运行状态,有两种办法可行:一是命令方式(squid -k check);另一种方法就是进入Squid所在目录查看访问日志文件Access.log,看看浏览过的网页是否都保存在此日志文件中。

  三. 架设总结

  以上介绍的只是利用Squid实现代理的最基本的内容,旨在给大家提供一个架设思路,其实Squid还有不少的高级功能,比如用做二级代理、做为防火墙使用等等。

  LINUX本身就是一套完善的安全系统,而要让Squid更好的适应它,发挥出LINUX+Squid组合的优势,还得深入的去学习Squid的配置文件,因为所有的高级功能都得在配置文件中以命令行的方式去设定。鉴于笔者水平有限,大家可以参阅Squid高级设定的相关报道来进一步设定。不过笔者还是认为应该根据自己的实际情况修改,并不需要配置所有的选项。最后提醒大家,Squid并不支持POP、NNTP两种协议的代理。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章