基于Linux网关服务器squid配置过程详解

2019-10-14 22:48:29王振洲

前言

  在此,我们要配置一个只对内部网络提供代理服务的 Proxy Server。它具有如下功能它将用户分为高级用户和普通用户两种,对高级用户采用网卡物理地址识别的方法,

  普通用户则需要输入用户名和口令才能正常使用。 高级用户没有 访问时间和文件类型的限制,而普通用户只在上班时可以访问以及一些其它的限制。

  安装

  从源中安装

  源中自带稳定版本,执行下面的命令进行安装

  sudo apt-get install squid squid-common

  源码编译安装

  当然你也可以到官方网站下载最新的版本进行编译安装:

  其中 STABLE 稳定版、DEVEL 版通常是提供给开发人员测试程序的,假定下载了最新的稳定版 squid-2.5.STABLE2.tar.gz,用以下命令解开压缩包:

  tar xvfz squid-2.5.STABLE.tar.gz

  用 bz2方式压缩的包可能体积更小,相应的命令是:

  tar xvfj squid-2.5.STABLE.tar.bz2

  然后,进入相应目录对源代码进行配置和编译,命令如下:

  cd squid-2.5.STABLE2

  配置命令 configure 有很多选项,如果不清楚可先用“-help”查看。通常情况下,用到的选项有以下几个:

  --prefix=/WEB/squid

  指定 Squid 的安装位置,如果只指定这一选项,那么该目录下会有 bin、sbin、man、conf 等目录,而主要的配置文件此时在 conf 子目录中。为便于管理,最好用参数--sysconfdir=/etc把这个文件位置配置为/etc。

  --enable-storeio=ufs,null

  使用的文件系统通常是默认的 ufs,不过如果想要做一个不缓存任何文件的代理服 务器,就需要加上 null 文件系统。

  --enable-arp-acl

  这样可以在规则设置中直接通过客户端的 MAC 地址进行管理,防止客户使用 IP 欺骗。

  --enable-err-languages="Simplify_Chinese"

  --enable-default-err-languages="Simplify_Chinese"

  上面两个选项告诉 Squid 编入并使用简体中文错误信息。

  --enable-Linux-netfilter

  允许使用 Linux 的透明代理功能。

  --enable-underscore

  允许解析的 URL 中出现下划线,因为默认情况下 Squid 会认为带下划线的 URL 是 非法的,并拒绝访问该地址。 整个配置编译过程如下:

  ./configure --prefix=/var/squid

  --sysconfdir=/etc

  --enable-arp-acl

  --enable-linux-netfilter

  --enable-pthreads

  --enable-err-language="Simplify_Chinese"

  --enable-storeio=ufs,null

  --enable-default-err-language="Simplify_Chinese"

  --enable-auth="basic"

  --enable-baisc-auth-helpers="NCSA"

  --enable-underscore

  其中一些选项有特殊作用,将在下面介绍它们。 最后执行下面两条命令,将源代码编译为可执行文件,并拷贝到指定位置。