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

 

 

 

### 配置Squid代理于Windows #### 安装Squid 为了在Windows平台上安装Squid代理服务器,可以从第三方编译好的二进制包获取安装程序[^2]。通常情况下,这些版本会提供图形化界面引导用户完成基本的安装过程。 #### 启动Squid并注册为服务 一旦安装完毕,在`C:\squid\sbin`目录下可以找到用于控制Squid的服务命令工具。通过运行如下指令可将Squid作为Windows服务启动,并可以选择性地为其命名以及指定配置文件的位置: ```bash squid.exe -i -n MySquidService -f C:\custom\path\to\squid.conf ``` 这里 `-n` 参数允许定义服务名称(如未给出则默认名为`squid`),而 `-f` 则能更改默认位置以外的配置文件路径[^3]。 #### 修改配置文件 主要配置位于 `C:\squid\etc\squid.conf` 文件内。对于初学者来说,最简单的做法是从官方文档或其他可靠资源复制一份基础模板开始调整。一些常见的修改可能涉及端口监听、访问权限列表ACLs (Access Control Lists),以及其他安全性和性能优化选项。 例如,要使Squid仅接受来自本地网络请求,可在配置文件中加入以下行: ```plaintext acl localnet src 192.168.1.0/24 http_access allow localnet ``` 这表示任何源自IP地址范围内的客户端都将被授权使用此代理服务。 #### 设置存储模块 如果不需要磁盘缓存功能,则可以通过特定参数禁用它。当构建或重新编译源码时,添加 `--enable-storeio=null` 可实现这一点;但对于预编译版而言,应当查阅其附带说明了解具体方法[^5]。 #### 自动启动与管理 成功注册之后,可通过“计算机管理”中的“服务”组件轻松管理和监控Squid的状态。右键点击对应条目即可设置开机自动加载或是手动停止/重启该进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值