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

原创 2007年10月14日 16:29:00
在架设之前,让我们先来了解一下代理服务器的特点。我们这样来理解代理服务器:假设电脑A需要电脑B的数据,电脑A先与电脑C建立连接,电脑C接收到电脑A的数据请求后,再与电脑B建立连接,下载电脑A所请求的数据后再将此数据传送到电脑A,电脑C就称之为代理服务器。
  代理服务器的作用可以概述为三方面:

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

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

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

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

  一. 配置LINUX上网

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

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



  第三步:在接下来的窗口里勾选“当计算机启动时激活设备”,并单击“静态设置的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浏览了。

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

  三. 架设总结

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

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

linux ssh代理 –快速搭建代理服务器

前言:开发机器IP固定,路由上有限制,不通直连。是个很郁闷的事。有个时间在网上看到的ssh代理转发。命令功能很强大。在这我就对自己了解的画了个间图方便大家理解。本地转发、正向隧道 “本机”连上“ss...
  • vr7jj
  • vr7jj
  • 2017年01月05日 23:00
  • 1350

在Mac上为其他设备开启代理

在Mac上为其他设备开启代理
  • u013651026
  • u013651026
  • 2017年10月26日 10:21
  • 259

PHPProxy建立代理服务器

隆重介绍PHPProxy这个小软件,点这里访 问它的下载页。它能将一个PHP空间变成一台代理服务器。代理的好处自然很多,绕过伟大的防火长城的域名劫持和IP禁止,如果有SSL还能绕过它的关键词 审查...
  • bjash
  • bjash
  • 2017年03月24日 09:14
  • 2159

[疯狂Java]代理服务器:Proxy(代理连接)、ProxySelector(自动代理选择器)、默认代理选择器

1.
  • Lirx_Tech
  • Lirx_Tech
  • 2016年03月29日 13:46
  • 3827

解决代理服务器拒绝连接或者连接失败的方法

我是win10系统(不知道和系统有没有关系) 这天我在看网页,突然之间,所有浏览器都崩溃,拒绝连接,或者连接失败,全部都提示是代理服务器的问题 我在一个浏览器上试了关掉代理服务器,然后没有效果,此时q...
  • Caster_Saber
  • Caster_Saber
  • 2016年04月13日 15:40
  • 11933

教你如何使用node.js制作代理服务器

下面代码实现的功能是这样的: 首先创建一个HTTP服务器,当服务器接收到客户端的请求后,向"www.taobao.com"网站请求数据,当从该网站接受到的响应数据后,将响应数据发送给客户端. ...
  • autumn20080101
  • autumn20080101
  • 2016年11月09日 11:06
  • 148

代理服务器与反向代理服务器的区别

代理服务器与反向代理服务器
  • csdn_chb
  • csdn_chb
  • 2016年11月23日 00:12
  • 2237

代理服务器的概念及其工作原理

一、代理服务器的概念及工作原理 (一)代理服务器的概念   随着Internet技术的迅速发展,越来越多的计算机连入了Internet。很多公司也将自己公司的局域网接入了Internet。如何...
  • liangzhao_jay
  • liangzhao_jay
  • 2013年09月25日 18:36
  • 1624

巧妙地把windows搭建成代理服务器

0x01 背景   在现实情景中,我们仅有一台windows 主机可以上网(在公司的生产环境、测试环境、各种其他场景下,由于各种安全策略或者上网限制,其他服务器均无法上网。但是我们在测试、生产中,可能...
  • qq_29277155
  • qq_29277155
  • 2016年12月24日 11:13
  • 19809

利用代理服务器的简单爬虫程序

简单的爬虫,用到的知识点: 1、代理服务器 2、多线程 需要提高的: 1、分布式机制#encoding=utf8 import os from bs4 import BeautifulSoup...
  • weiyudang11
  • weiyudang11
  • 2016年08月26日 14:06
  • 762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实例教你在Linux下建立代理服务器
举报原因:
原因补充:

(最多只允许输入30个字)