squid代理服务

代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和Internet上的其它主机打交道,提供代理服务的这台机器称为代理服务器。

squid工作机制与基本功能

工作机制

代理服务器有何优点

1.快速的存取

由于它是先将网页下载到本地使用,因此访问频率越高的站点速度就会越快 。

2.降低网络的费用.

Squid

Squid是Linux下最为流行的代理服务器软件,它功能强大。

Squid的做为代理 服务器,性能远远超过WINNT加MSPROXY2.0,为几百人的小型局域网代理绰绰有余。

1。 支持对HTTP,FTP,Gopher,SSL和WAIS等协议的代理。

2。 设置简单,只需对配置文件中稍稍改动就可使代理服务器运转起来。

配置参数

/etc/squid/squid.conf

1.http_port 10.10.10.1:3128

绑定的 IP 地址 .端口为 3128。

2.cache_mem指定squid可以使用的内存理想值,建议设为内存的1/3.

3 cache_dir ufs /var/spool/squid 100 16 256

定义硬盘缓存空间.

ufs是指存储类型,/var/spool/squid代表缓存的位置

100代表缓存空间最大为100M

16和256代表缓存目录下的一级和二级目录数。

简单的代理

例作一个简单的代理.

http_access deny all

deny 改为 allow.

#squid -z

#service squid start

访问控制

Squid 访问控制的两个要素

acl god src 192.168.100.0/24(1818)

http_access allow god(1860)

1.ACL

2.访问控制(允许或拒绝)

ACL

ACL格式:

acl 列表名称 控制方式 控制目标

acl god src x.x.x.x/24

访问控制

http_access allow/deny aclname

ACL控制类型

src : 源地址(即客户机IP地址)

dst : 目标地址(即服务器IP地址)

srcdomain : 源名称

dstdomain : 目标名称

time : 时间

url_regex : URL 规则表达式匹配

试验2 只允许地址为192.168.100.0/24的客户可以使用代理.

根据IP 控制

acl god src 192.168.100.0/24

http_access allow god

在http_access deny al前面添加

多个ip

IP地址写在一个文件里

acl good src "/etc/squid/authorizedip.txt“

试验3 代理两个网段其中172.16.0.0/16全可以上网,192.168.100.0/24的客户不可以使用代理,但是192.168.110.2可以。

acl god src 172.16.0.0/24

acl god1 src 192.168.100.2

acl god2 src 192.168.100.0/24

http_access allow god

http_access allow god1

http_access deny god2

实验3 根据时间控制

time 参数

S - Sunday,

M - Monday,

T - Tuesday,

W - Wednesday,

H - Thursday,

F - Friday

A - Saturday,

时间控制

acl work time MTWHF 8:30-12:00

acl work time MTWHF 14:00-18:00

http_access allow work

实验4 控制部分客户机时间 允许特定客户机在规定的时间访问

acl work time MTWHF 8:30-12:00

acl god src 10.0.0.0/8

http_access allow work god

acl总结

1. 这些规则按照它们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配检测就立即结束。

根据关键字过滤网址

实验5 过滤×××网站

acl god src 10.0.0.0/8

acl deny url_regex sex xxx

http_access deny deny

http_access allow god

实验7 禁止对某个IP地址的访问

acl badaddr dst 202.108.0.182

实验8控制文件类型

不允许用户下载MP3、AVI等文件

acl Xfile urlpath_regex \.mp3$ \.avi$

http_access deny Xfile

实验9 透明代理

添加或修改如下行

http_port 3128

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

#iptables -F

#echo 1 > /proc/sys/net/ipv4/ip_forward

#iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#iptbales –t nat –A POSTROUTING –o eth0 –s 192.168.1.0/24 –j SNAT --to 166.32.129.10

#service iptables save