`

squid代理设置

 
阅读更多
  • 传统代理
  • 透明代理
  • 反向代理

 

        Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

 

 

squid分为三种

 

1.传统代理

即普通的代理服务,一般以提供HTTP、FTP代理为主,需要客户端在浏览器中指定代理服务器的地址和端口号.

 

2.透明代理

透明代理提供与传统代理相同的功能和服务,其“透明”之处在于:客户端不需要在浏览器中指定代理服务器的地址和端口号,代理服务对客户端来说是“透明”的,用户甚至不知道自己已经在使用代理服务了.

 

2.反向代理

反向代理也同样提供缓存加速,只不过服务的对象翻转过来了.传统代理和透明代理大多是为局域网用户访问Internet中的Web站点提供缓存代理,而反向代理恰恰相反,主要是为Internet中用户访问企业局域网内的Web站点提供缓存加速.

 

 

配置文件参数简介

 

http_port 3128

主要用于指定代理服务监听的地址和端口(默认端口号为3128).如果只希望在某一个网络接口上提供服务.

 

cachemem 64MB

设置用于缓存功能的内存空间大小,可以使用MB做单位,主要用于保持访问较频繁的Web对象,一般设置大小为物理内存的30%~40%

 

maximum_object_size 4096KB

允许保存到高速缓存的最大文件大小,可以使用KB做单位.超过指定容量的文件将不会被缓存

 

reply_body_max_size 10240000 allow all

允许用户下载的最大文件大小,默认单位为字节(Byte).其中all为默认的访问控制列表名,针对任意地址的代理用户.

 

chche_dir ufs /var/spool/squid 100 16 256

设置缓存数据时使用的目录参数,其中nfs是squid是最早的缓存文件格式,也是squid内建的存储格式类型

/var/spool/squid是缓存数据文件的格式

后边三个数字依次表示该缓存目录可以使用的磁盘空间大小(MB)、一级子目录个数、二级子目录个数.如果代理用户数量较多,可以适当增大缓存目录的大小.

 

access_log /var/log/squid/access.log squid

指定日志文件的保存位置和记录格式,该日志文件用于记录有哪些客户端通过代理访问过哪些Web对象等信息

 

visible_hostname squid

设置代理服务器的可用的完整主机名,可以使用hostname命令获取

 

dns_testnames www.google.com www.sina.com.cn www.163.com

为了确保能够正常提供Web代理服务,squid服务在启动时,可以通过该项设置测试DNS解析工作是否正常.

 

一、传统代理

 

安装squid软件

# yum install squid --nogpgcheck

 

修改配置文件

# vi /etc/squid/squid.conf
...
http_port 3128
visible_hostname squid
http_access allow all


检查配置文件并启动squid服务

# squid -k parse
# service squid start
Starting squid: .[  OK  ]


设定客户端浏览器设置

“设置” -->  “Internet选项”  -->  “连接”  -->  “局域网设置”

 

此时打开www.google.com网页可以看到squid日志相关实时信息

# tail -f /var/log/squid/access.log 
1380175134.461    233 172.20.48.9 TCP_MISS/204 363 GET http://www.google.com.hk/gen_204? - DIRECT/74.125.128.199 text/html

 

 

二、透明代理

 

自squid2.6以后添加透明代理只需要在http_port配置行后边加上一个名为“transparent”选项即可

# vi /etc/squid/squid.conf
http_port 3128
修改为
http_port 3128 transparent

http_access allow all
修改为
acl clientip1 src  172.20.48.15
http_access allow clientip1

 

重新加载squid配置文件

# service squid reload

 

开启路由转发功能

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

 

设置iptables的重定向策略

# iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

利用REDIRECT重定向数据包处理策略,可以在防火墙主机内部转发数据包.

 

将客户端代理去掉,再次打开www.google.com网页可以看到squid日志相关实时信息

# tail -f /var/log/squid/access.log 
...
1380175134.461    233 172.20.48.15 TCP_MISS/204 363 GET http://www.google.com.hk/gen_204? - DIRECT/74.125.128.199 text/html

 必须将客户端的网关设置为此squid服务器的IP地址

 

 

三、反向代理

 

添加反向代理支持

# vi /etc/squid/squid.conf
http_port 123.127.26.244:80 vhos

 

指定Web服务器主机位置

cache_peer格式

cache_peer   Web服务器IP地址   服务器类型   http端口   icp端口   [可选项]

# vi /etc/squid/squid.conf
cache_peer   172.20.10.11   parent 80 0 originserver
cache_peer   172.20.10.12   parent 80 0 originserver

 

 

重启squid服务

# service squid restart

 

 

 

  • 大小: 11 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics