<b>RedHat Linux 9 安装配置Squid</b>[服务器安全]
本文“<b>RedHat Linux 9 安装配置Squid</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
软件环境:RedHat Linux 9
在Squid主页www.squid-cache.org下载最新的Squid 2.5-STABLE5举行编译.
步骤:
1.下载最新版本的源文件 Squid-2.5.STABLE5.src.tar.gz 安排于/usr/local目录下
2.登录作为root,履行下面的号令:
cd /usr/local
tar -zxvf Squid-2.5.STABLE5.src.tar.gz
生成解紧缩文件Squid-2.5.STABLE5
进入Squid-2.5.STABLE5目录举行编译
#cd /usr/local/squid*
#./configure --prefix=/usr/local/squid
#make
#make install
3.上面二步履行完毕,Squid整个程序应当被安装在/usr/local/squid目录下了,但仍需求做别的的行动.
4.进入目录/usr/local ,以root身份履行下面的号令,改变整个Squid目录的全部者为school:school
#cd /usr/local
#chown -R school:school squid
5.改正squid.conf的配置信息
#su school
$cd /usr/local/squid
$vi etc/squid.conf
http_port 8080
cache_peer 10.10.2.53 parent 6666 7 login=username:password default no-query
cache_mem 60 MB
cache_mgr zdysgs@zju.edu.cn
dns_nameservers 10.10.0.21
visible_hostname zdysgs.zju.edu.cn
cache_dir ufs /usr/local/squid/var/cache 500 16 256
http_access allow all
never_direct allow all
error_directory /usr/local/squid/share/errors/Simplify_Chinese
cache_swap_low 80
cache_swap_high 97这两行是设置cache举行替换的闸值.当占用到97%的cache后,cache中的内容将被清空20%
6.su作为school,进入/usr/local/squid/bin目录,履行#squid -z 成立cache交换目录
#su school
$cd /usr/local/squid/sbin
$./squid -z
$./squid
查抄squid能否正常运行的号令
$netstat -ntl
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
以上信息表示squid已经正常启动
终止squid运行的号令:
$usr/local/squid/sbin -k shutdown
到目前为止,该代理服务器已经可以正常利用,但是不具有效户认证的功效,以下介绍了利用ncsa用户认证功效的实现7.ncsa用户认证的实现
ncsa是squid源代码包自带的认证程序之一,下面我们以squid-2.5.STABLE5版本为例报告ncsa的安装和配置.
1) 以school身份进入/usr/local/squid-2.5.STABLE5/helpers/basic_auth/NCSA目录. //改正文件夹squid-2.5.STABLE5的全部者为school,chown -R school:school squid-2.5.STABLE5
% make
% make install
编译成功后,会生成ncsa_auth的可履行文件.
2) 拷贝生成的履行文件ncsa_auth到/usr/local/squid/bin目录
cp ncsa_auth /usr/local/squid/bin
3) 改正squid.conf中的相关选项以下所示:
auth_param basic program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwd
4) 定义相关的用户类
acl auth_user proxy_auth username1 username2大概acl auth_user proxy_auth REQUIRED
注意,REQUIRED关键字指明了接纳全部合理用户的拜候.
5) 设置http_access
http_access allow auth_user
http_access deny all
6) 操纵apache携带的工具软件htpasswd在/usr/local/squid/etc下生成密码文件并增添呼应的用户信息.普通说来,该密码文件每行包含
一个用户的用户信息,即用户名和密码.
用htpasswd生成密码文件passwd并增添用户bye.
htpasswd -c /usr/local/squid/etc/passwd bye
然后重新启动squid,密码认证已经见效 //再增添用户的话,利用以下号令htpasswd /usr/local/squid/etc/passwd user(增添用户参数-c不要了)
8.客户端设置:ie->工具->internet选项->衔接-> 局域网设置-> 代理服务器地址:10.71.65.110 端口:8080
9.备注
·http_port:设定Squid监听的端口,你最好设一个对比好记的端口号,以便在举行客户机配置
时简单记着.我的机械上端口号设的是8080.缺省为3128.
·cache_mem:设定Squid占用的物理内存,按照我的经验,cache_mem的大小不该超越你的服务
器物理内存的三分之一,不然将会影响机械的总体性能.
·maximum_object_size:设定Squid可以接纳的最大对象的大小.Squid缺省值为4M,我自己入
认为太大,你可以按照自己的需求举行设定.
·cache_dir:设定缓存的位置、大小.普通看起来情势以下
cache_dir /usr/local/squid/cache 100 16 256
/usr/local/squid/cache代表缓存的位置;
100代表缓存最大为100M;16和256代表一级和二级目录数.
·cache_effective_user:设定利用缓存的有效用户.缺省为用户nobody,假如你的系统中没
有效户nobody,最好建一个或以非root用户运行Squid.
·error_directory:设定显示错误信息网页目录信息.缺省为英文/usr/local/squid/share/errors/English
假如想显示中文的话,改正成/usr/local/squid/share/errors/Simplify_Chinese.
·限制同一用户同时只在同一IP上利用
acl FOO max_user_ip 1
http_access deny FOO
authenticate_ip_ttl 2 hours //限制保持衔接时间,超越该时间才能用其他ip上网
·显示的是你client的内网IP
forwarded_for on|off
关闭此项将在拜候某些论坛时显示的IP是unknown
假如翻开则显示的是你client的内网IP
forwarded_for off
·若何限制利用squid 的同一个ip 的衔接数
Q:若何限制利用squid 的同一个ip 的衔接数?
A:改正squid.conf,以下两句限制每ip不得超越10衔接:
acl BadUser maxconn 10
http_access deny BadUser
client_db=on
//The maxconn ACL feature relies on Squid's client database. This database keeps a small data structure in memory for each client IP address. If you have a lot of clients, this database may consume a significant amount of memory. You can disable the client database in the configuration file with the client_db directive. However, if you disable the client database, the maxconn ACL will no longer work
以上是“<b>RedHat Linux 9 安装配置Squid</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |