透辽朝理,Linux下Squid代理缓存服务条件安顿

图片 23
亚洲城ca88手机版官网

1368574347.237    23 192.168.56.123 TCP_MEM_HIT/200 427 GET
– NONE/- text/html

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136594.htm

squid(透明代理),squid代理

1、squid透明代理(一台网站服务器和squid代理服务器)

vim /etc/squid/squid.conf

http_port 3128   transparent    # 透明代理关键字

visible_hostname  主机名  #如果主机名是默认的,没被修改则不需要,反之则需要添加

cache_mem   64 MB    #高速缓存

cache_dir  ufs  /var/spool/squid  100 16 256  #缓存目录  ufs文件格式  
100是缓存大小  16是一级子目录   256是二级子目录

service   squid   restart

开启iptables

图形环境#setup或是service   iptables  start

iptables   -t    filter    -nL   #查看filter表的规则

iptables  -t     filter  -F   #清除filter表的默认规则

iptables -t nat  -A  nat  PREROUTING  -s  源网段  -p   tcp  -dport=80 
  -j   REDIRECT  –to-ports  3128

iptables -t nat  -A  nat  PREROUTING 
-s  源网段  -p   tcp  -dport=443    -j   REDIRECT  –to-ports  3128

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2、yum  -y install httpd  elinks     #web网站服务器

service httpd start

chkconfig httpd on

echo “1111”   >  /var/www/html/index.html

elinks –dump      或   curl 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

3、客户端设置:

route -n  

route add default  gw  squid服务器IP   #添加网关       route add
default  gw  squid服务器IP     #删除网关

 在firefox地址栏中输入网站服务器的地址

用tailf  /var/log/squid/access.log  #查看日志

1、squid透明代理(一台网站服务器和squid代理服务器) vim
/etc/squid/squid.conf http_port 3128transparent#透明代理关键字
visi…

[root@itpro ~]# chkconfig squid on

图片 1

[root@itpro ~]# service squid start

图片 2

init_cache_dir /var/spool/squid… Starting squid: ……  [  OK  ]

8) 查看两台服务器的apache 访问日志

客户端测试机

图片 3

[root@itpro ~]# chkconfig httpd on

6) 配置客户端IP地址

代理服务是一种特殊的服务,允许客户端通过它与另一个网络服务进行非直接的连接,也称网络代理。提供代理服务的计算机或其他类型的网络节点称为代理服务器,代理服务器中实现网络代理的软件称为代理软件。Linux中用到的代理软件是squid。

测试成功。

默认情况下被注释掉了,要将其前面的“#”删除,才能生效。

 

第二、三条记录的状态码为304,表示网页内容未修改过,http服务器只返回响应,不返回页面内容,亦即客户端浏览器上看到的是squid里的缓存。

2) 编辑squid 主配置文件/etc/squid/squid.conf
[root@server~]# vim /etc/squid/squid.conf
http_port 3128
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr wangshibo@huanqiu.com

1368574350.174    23 192.168.56.123 TCP_IMS_HIT/304 291 GET
– NONE/- text/html

图片 4

1368574354.157    23 192.168.56.123 TCP_IMS_HIT/304 291 GET
– NONE/- text/html

4) 启动Squid
[root@server~]# /etc/init.d/squid start

100 : 缓存目录占磁盘空间大小(M);

 

256 :缓存空间二级子目录个数。

2) 配置Squid
[root@server~]# vim /etc/squid/squid.conf
http_port 80 accel vhost
http_access allow all
cache_peer 192.168.1.18 parent 80 0 originserver name=www
cache_peer 192.168.1.19 parent 80 0 originserver name=bbs
cache_peer_domain www www.squid.dev
cache_peer_domain bbs bbs.squid.dev
visible_hostname squid.david.dev
cache_mgr wangshibo@huanqiu.com

Squid主配文件/etc/squid/squid.conf中,有一行是用于指定缓存目录设置的,如下

2) 重启squid服务
[root@server~]# /etc/init.d/squid reload

Squid方面,

 

/var/spool/squid 指缓存目录;

图片 5

 

4) 测试网络情况 

[root@itpro ~]# tail /var/log/squid/access.log

图片 6

[root@itpro ~]# yum install squid

  • F5″ 来深度刷新测试。
    Web1:

其中ufs表示缓存数据的存储格式;

图片 7

[root@itpro ~]# ls /var/spool/squid/

 

 

Web2:

[root@itpro ~]# service httpd start

图片 8

00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F 
swap.state

CentOS 6.2
编译安装Squid 配置反向代理服务器
http://www.linuxidc.com/Linux/2012-11/74529.htm

在服务器上查看squid访问日志,内容如下:

4) 设置开机自启动,在3、5级别上自动运行squid服务
[root@server~]# chkconfig –level 35 squid on

修改配置文件,将cache_dir ufs /var/spool/squid 100 16
256前面的#去掉,再重启服务,可以看到/var/spool/squid/下多了16个目录,每个目录里又有256个子目录。

1)配置Squid 代理服务器IP地址
将eth1的IP地址修改为200.168.10.1
[root@server~]# ifconfig eth1 200.168.10.1

同时,在/var/www/html/下创建一个index.html文件,内容随意,用于测试网页访问。

 

16 :缓存空间一级子目录个数;

 

在客户端station,打开firefox浏览器,将其代理服务设置为192.168.53.56:3128,

简单配置Squid代理和反向代理
http://www.linuxidc.com/Linux/2014-04/99465.htm

Squid服务器暨Apache服务器

3)如果未安装,则使用yum 方式安装
[root@server~]# yum -y install squid

cache_dir ufs /var/spool/squid 100 16
256

图片 9

主机名:itpro    IP地址:192.168.56.53

图片 10

(注:此时的缓存目录为空目录)

图片 11

然后访问

1)修改squid 主配置文件/etc/squid/squid.conf
[root@server~]# vim /etc/squid/squid.conf
http_port 3128 transparent
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr wangshibo@huanqiu.com

本实验平台为CentOS
6.2,环境为:

透明代理测试成功。

其中第一条记录的状态码为200,表示这是squid服务器第一次访问http服务器,由http服务器提供请求的页面。

五、透明代理服务
适用于企业的网关主机,客户机不需要指定代理服务器地址、端口等信息,通过iptables将客户机的Web访问数据转交给代理服务程序处理。
实验拓扑图如下:

Httpd方面,

当代理服务器中没有客户端需要的数据时:
1)客户端向代理服务器发送数据请求;
2)代理服务器检查自己的数据缓存;
3)代理服务器在缓存中没有找到用户想要的数据;
4)代理服务器向Internet 上的远端服务器发送数据请求;
5)远端服务器响应,返回相应的数据;
6)代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

准备工作:

Squid:实现高速的Web访问
http://www.linuxidc.com/Linux/2013-04/83512.htm

图片 12

1) 修改Web Server 主页
Web1:
[root@server~]# echo
“<h1>www.squid.dev/192.168.1.18</h1>” >
/var/www/html/index.html

[root@itpro ~]# service squid restart

7) 配置浏览器代理
打开浏览器(以IE为例,其他类似),菜单栏 -> 工具 -> Internet 选项
-> 连接 -> 局域网设置 -> 代理服务器,按照以下格式设置。

刷新页面两次。

3) 配置客户端
这里可以使用DNS服务来解析,这里我们为了方便,就在hosts 文件里直接指定。

主机名:station    IP地址:192.168.56.123

4)
启动Squid服务(在此启动会报错,是因为上面设置了80端口,和http端口冲突。关闭http即可成功启动这里的squid)
[root@server~]# /etc/init.d/squid reload

一、缓存设置

图片 13

表明客户机station通过squid服务器itpro成功访问httpd服务器(也是itpro)。

2)检查squid软件是否安装
[root@server~]# rpm -qa|grep squid

 

7) 查看squid 访问日志

[root@itpro ~]# ls /var/spool/squid/

在http_port 3128
后添加transparent 关键字。

[root@itpro ~]# yum install httpd

5) 测试
squid 采用了round-robin,所以客户端的访问将轮询两台web服务器,采用 “Ctrl

反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

正向代理:根据实现方式的不同,又可以分为普通代理和透明代理。
1)普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
2)透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;

CentOS 6.4下DNS+Squid+Nginx+MySQL搭建高可用Web服务器
http://www.linuxidc.com/Linux/2014-04/99984.htm

图片 14

图片 15

Squid代理服务器搭建及配置
http://www.linuxidc.com/Linux/2016-03/129392.htm

Squid是一个缓存Internet
数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid
发出一个申请,要Squid 代替其进行下载,然后Squid
连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid
把保存的备份立即传给用户,使用户觉得速度相当快。Squid
可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid
可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

6) 测试

6)查看squid 的访问日志。

图片 16

4) 修改客户端IP地址
将默认网关设置为squid 服务器的内网ip地址。

二、squid分类
按照代理类型的不同,可以将Squid代理分为正向代理和反向代理。

设置iptables 开机启动
[root@server~]# chkconfig iptables on

3) 配置squid
[root@server~]# vim /etc/squid/squid.conf
http_port 80 accel vhost
http_access allow all
cache_peer 192.168.1.18 parent 80 0 originserver round-robin weight=1
cache_peer 192.168.1.19 parent 80 0 originserver round-robin weight=1
visible_hostname squid.david.dev
cache_mgr mchina_tang@qq.com

 

四、普通代理服务
即标准的、传统的代理服务,需要客户机在浏览器中指定代理服务器的地址、端口。
实验拓扑图如下:

Squid代理服务器工作在TCP/IP的应用层:

三、squid代理缓存环境部署过程:
1)关闭selinux和iptables
[root@server~]# vim /etc/sysconfig/selinux
…….
SELINUX=disabled
[root@server~]# /etc/init.d/iptables stop

图片 17

图片 18

3) 初始化
[root@server~]# squid –z

5) 在浏览器中,取消代理设置

一、工作流程

Web2:
[root@server~]# echo “<h1>Squid-Web1/192.168.1.19</h1>”
> /var/www/html/index.html

图片 19

Squid
的详细介绍
:请点这里
Squid
的下载地址
:请点这里

当代理服务器中有客户端需要的数据时:
1)客户端向代理服务器发送数据请求;
2)代理服务器检查自己的数据缓存;
3)代理服务器在缓存中找到了用户想要的数据,取出数据;
4)代理服务器将从缓存中取得的数据返回给客户端。

Web2:
[root@server~]# echo
“<h1>bbs.squid.dev/192.168.1.19</h1>” >
/var/www/html/index.html

5) 配置Web 服务器
安装Apache
[root@server~]# rpm -qa|grep httpd
[root@server~]# yum -y install httpd
启动Apache并加入开机启动
[root@server~]# /etc/init.d/httpd start
[root@server~]# chkconfig httpd on
创建index.html
[root@server~]# echo “<h1>Squid-Web1/200.168.10.2</h1>”
> /var/www/html/index.html
修改Web服务器IP地址
将web服务器的IP地址修改为200.168.10.2
[root@server~]# ifconfig eth0 200.168.10.2

图片 20

图片 21

 

配置Squid代理http和rsync
http://www.linuxidc.com/Linux/2013-05/84642.htm

5)squid服务器的配置文件说明
squid 的主配置文件是
/etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,这里squid配置如下:
[root@server~]# vim /etc/squid/squid.conf
http_port 3128    #设置监听的IP与端口号
cache_mem 64 MB   #额外使用内存量,可根据你的系统内存在设定,一般为实际内存的1/3.比如这里内存是200M,这里设置1/3就是64MB
maximum_object_size 4 MB  #设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB  #设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB   #设置squid内存缓存最大文件,超过4M的文件不保存到内存
cache_dir ufs /var/spool/squid 100 16 256   #定义squid的cache存放路径
、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量

logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st
“%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh #log文件日志格式
access_log /var/log/squid/access.log
combined  #log文件存放路径和日志格式
cache_log /var/log/squid/cache.log   #设置缓存日志
logfile_rotate 60   #log轮循60天
cache_swap_high 95  #cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90   #cache目录清理到90%时停止
acl localnet src 192.168.1.0/24  #定义本地网段
http_access allow localnet  #允许本地网段使用
http_access deny all  #拒绝所有
visible_hostname squid.david.dev  #主机名
cache_mgr wangshibo@huanqiu.com  #管理员邮箱

8) 测试

[root@server~]# tailf /var/log/httpd/access.log

6) 测试bbs.squid.dev

图片 22

六、反向代理服务
为Internet用户访问企业Web站点提供缓存加速。
实验拓扑图如下:

图片 23

代理服务器英文全称是Proxy
Server,其功能就是代理网络用户去取得网络信息。

3) 添加iptables规则,把内部的http请求重定向到3128端口
启动iptables 服务
[root@server~]# /etc/init.d/iptables start
清除现有iptables filter 表规则
[root@server~]# iptables -F
保存iptables 设置
[root@server~]# /etc/init.d/iptables save
查看nat 表设置
[root@server~]# iptables -t nat -L -n
在nat表中新增一条规则
[root@server~]# iptables -t nat -I PREROUTING -i eth0 -s
192.168.1.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
保存iptables
[root@server~]# /etc/init.d/iptables save

七、实际应用
下面实验将模拟通过不同的域名访问不同的机器,简单实现企业应用中的负载均衡。客户端在浏览器地址栏中输入www.squid.dev,将访问192.168.1.18这台机器,访问bbs.squid.dev,将访问192.168.1.19这台机器。
实验拓扑图如下:

5) 测试www.squid.dev

1) 关闭防火墙
# /etc/init.d/iptables stop
2) 修改Web Server 主页
Web1:
[root@server~]#echo “<h1>Squid-Web1/192.168.1.18</h1>”
> /var/www/html/index.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图