Linux Squid代理服务器配置方法
一、概要
1.代理服务器的作用
①共享网络
②加快访问节约带宽
③防止内部主机受到攻击
④限制用户访问,完善网络管理
2.Squid的特点
squid使用访问控制列表(access control list)和访问权限列表(ARL)进行权限管理和内容过滤
3.查看是否安装了squid
rpm -q squid
二、配置
1.主配置文件/etc/squid/squid.conf
①http_port 指定了squid在哪个IP地址和端口侦听客户机的请求(default是3128,设置端口时确实与其它的端口没有冲突)
②cache_mem 指定物理内存的大小作为高速缓存
③cache_dir 指定硬盘缓冲区的大小
例子:cache_dir ufs /var/spool/squid 4096 16 256
ufs: 缓存类型
/var/spool/squid: 缓存目录
4096:缓存大小
16: 一级子目录数
256: 二级子目录数
④dns_nameservers 210.34.48.34 定义dns服务器的IP
⑤cache_mgr 定义squid代理服务器管理员的E-mail地址
⑥squid默认拒绝所有客户机的访问请求
⑦acl访问控制列表的格式
acl 列表名称 列表类型 [-i] 列表值
注意:列表名称应尽量使用有意义的名称如:clientip,worktime等
列表类型:src dst srcdomain(源名称) dstdomain(目标名称) time url_regex(URL规则表达式匹配) maxconn(单一IP的最大连接数)
-i选项:表示忽略列表值的大小写
⑧配置文件修改后应该用"/etc/rc.d/init.d/squid reload" 命令使配置生效
例子:a. acl badclientip src 192.168.5.110
http_access deny badclientip
禁止IP为192.168.5.110的客户机上网
b. acl badclientnet src 192.168.5.0/255.255.255.0
http_access deny badclientnet
禁止192.168.5.0这个网段上网
c. acl badsrcip dst 210.34.48.56
http_access deny badsrcip
禁止用户访问210.34.48.56这个网址
d. acl badsrcip1 www.163.com
http_access deny badsrcip1
禁止用户访问www.163.com网站
e. acl badurl1 url_regex -i sina.com
http_access deny badurl1
禁止用户访问域名包含sina.com的网站(-i是忽略大小写)
f. acl clientip1 src 192.168.5.200
acl conn5 maxconn 5
http_access deny clientip1 conn5
限制IP地址为192.168.5.200客户机并发最大连接数为5
g. acl clientnet1 src 192.168.5.0/255.255.255.0
acl worktime tiem MTWHF 9:00-15:00
http_access deny clientnet1 worktime
禁止192.168.5.0这个网段的主机在周一至周五的9:00至15:00上网
(Monday-M;Tuesday-T;Wednesday-W;Thursday-T;Firday-F;Saturday-A;Sunday-S)
h. acl download urlpath_regex -i \.mp3$\.exe$\.rar$
http_access deny download
禁止下载已mp3,exe,rar为后辍名的文件
I. acl qq url_regex -i tencent.com
http_access deny qq
禁止QQ通过squid上网
三、服务的开启与关闭
/etc/rc.d/init.d/squid start/restart/stop
service squid start/restart/stop
四、Squid用户身份认证
1.认证类型: a.NCSA(最常用的) b.PAM c.LDAP d.SMB e.SASL 存放目录为/usr/lib/squid
五、实验
1.实验时建议把配置文件备份后,删除原文件内容并重新写内容,内容可参考下面的
http_port 3128
cache_mem 128 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 218.104.128.106
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_log /var/log/squid/cache.log
visible_hostname 192.168.5.88
cache_mgr fjlycfq@163.com
#以下内容为实现用户身份认证的语句
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm insert your user and passwd
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
acl badclientip1 url_regex -i 163.com
http_access deny badclientip1
acl all src 192.168.5.0/255.255.255.0
http_access allow all
2.增加账户的方法与增加Samba的用户相同
例子: htpasswd -c /etc/squid/passwd test
配置完后要重新启动Squid
3.重新加载配置内容
[root@localhost ~]# /etc/rc.d/init.d/squid reload
[root@localhost ~]# htpasswd -c /etc/squid/passwd test
New password:
Re-type new password:
Adding password for user test
[root@localhost ~]# /etc/rc.d/init.d/squid reload
[root@localhost ~]# service squid restart
停止 squid: [确定]
启动 squid:
Linux Squid代理服务器配置方法不知道朋友们看完后都有什么想法,是不是觉得还蛮简单的。更多精彩有趣的技术文章内容,尽在爱站技术频道网站。
上一篇:Linux配置网络路由器方案