linux服务(三)squid
Squid是一种在Linux系统下使用的优秀的代理服务器软件。squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。
下载安装简单,配置简单灵活,支持缓存和多种协议 Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Squid将数据元缓存在内存中,同时也缓存DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。
Squid的另一个优越性在于它使用访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。
1,正向代理:就是实现代理上网
yum –y installsquid
vim /etc/squid/squid.conf
http_port 3128也可以是ip:3128
cache_mem 定义代理服务器使用的内存,建议为物理内存的三分之一
visible_hostname
cache_dir 定义缓存目录
例子:cache_dir ufs/var/spool/squid 1000 16 256 ufs类型 路径文件大小 目录数 文件数
reply_body_max_sizeN allow all 定义限制文件大小 N字节数
cache_swap_lowN
cache_swap_hightM 这两项是定义当缓存超过M时,新是数据取代旧的内容,到N时停止,这里的N和M都是百分比
http_accessallow all
截止简单的squid正向代理完成了.
squid –z 初始化squid文件
squid -k parse 验证语法错误
service squidstart|stop|restart|reload
2,透明代理:首先开启转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward
然后:iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT--to 192.168.0.88
192.168.10.0/24内网ip192.168.0.88外网地址 –o对应的外网网卡接口
3,反向代理的实现:
内网web的ip:192.168.0.156
代理服务器内网ip:192.168.0.88 外网ip:192.168.10.1
我们安装好squid后配置:
Host_port 192.168.0.88:80 vhost
cache_mgr squid@mylog.com
cache_mem
cache_dir ufs /var/spool/squid 1024 16 256
visible_hostname
error_directory /usr/share/squid/errors/的文件
cache_peer WebIP parent 80 0 originserverweight =n max-conn=n
http_access allow all
squid还可以以使用强大的acl控制上网:
acl格式:acl 列表名 列表类型 列表内容
例:acl localhost src 192.168.0.0/24
列表类型:src:源ip(单个ip,网段,连续的ip段)
dst:目标网络(ip)
dstdomain :目标域名 //acl NOBAIDU dstdomain baodu.com
url_regex:完整的路径
urlpath_regex :包含的内容 //aclreject url_regex -i ^http://www.baidu.com/index.html
//acl NOMP3 urlpath_regex -i \.mp3$
port:基于端口
maxconn:最大连接数
time :时间的控制
当我们定义好acl后就可以应用了,我们把匹配详细的放于最前面,在某个列表前加叹号是取反。
页:
[1]