RHEL6下squid代理之正向代理

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


以下介绍它的第一个作用:正向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理


# yum install squid -y           //yum安装squid

# vim /etc/sysctl.conf        //修改开启路由转发功能

# grep -i ip_forward /etc/sysctl.conf

net.ipv4.ip_forward= 1

# sysctl -p                                 //使路由转发功能生效

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter= 1

... ...

#

 

配置文件修改

# vim /etc/squid/squid.conf      //修改squid主配置文件

# grep -vE '^#|^$'/etc/squid/squid.conf         

acl manager proto cache_object

acl localhost src 127.0.0.1/32::1

acl to_localhost dst 127.0.0.0/80.0.0.0/32 ::1

acl localnet src 10.0.0.0/8       # RFC1918 possible internal network

acl localnet src 172.16.0.0/12          # RFC1918 possible internal network

acl localnet src 192.168.0.0/16       # RFC1918 possible internal network

acl localnet src fc00::/7       # RFC 4193 local private network range

acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged)machines

acl host1 src192.168.0.0/24         # 自定义主机

acl SSL_ports port 443

acl Safe_ports port 80               # http

acl Safe_ports port 21               # ftp

acl Safe_ports port 443            # https

acl Safe_ports port 70               # gopher

acl Safe_ports port 210            # wais

acl Safe_ports port 1025-65535      # unregistered ports

acl Safe_ports port 280            # http-mgmt

acl Safe_ports port 488            # gss-http

acl Safe_ports port 591            # filemaker

acl Safe_ports port 777            # multiling http

acl CONNECT method CONNECT

http_access allow managerlocalhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT!SSL_ports

http_accessallow host1        #允许自定义主机访问

http_access allow localnet

http_access allow localhost

http_access deny all

http_port 8080       #代理端口,习惯上使用8080端口

hierarchy_stoplist cgi-bin ?

cache_dir ufs/var/spool/squid 100 16 256

#ufs为缓存存储类型,在该目录下使用的缓冲值为100MB,允许在“/var/spool/squid”下创建的第一级子目录数为16,每个第一级子目录下可以创建的第二级子目录数量为256

coredump_dir /var/spool/squid

refresh_pattern ^ftp:                1440         20% 10080

refresh_pattern ^gopher:        1440         0%    1440

refresh_pattern -i(/cgi-bin/|\?) 0   0%    0

refresh_pattern .              0       20% 4320

//添加修改以上红色部分就能搭建简单的squid正向代理了

//注:cache_men不能超过cache_dir中的一个数值,否则会出现如下报错,

停止 squid2012/08/21 16:05:46| WARNING cache_mem is larger than totaldisk cache space!

# squid -z                  //初始化缓存空间

2012/08/21 15:29:37| WARNINGcache_mem is larger than total disk cache space!

2012/08/21 15:29:37| CreatingSwap Directories       //查看swap缓存目录

2012/08/21 15:29:37|/var/spool/squid exists

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/00

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/01

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/02

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/03

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/04

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/05

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/06

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/07

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/08

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/09

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/0A

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/0B

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/0C

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/0D

2012/08/21 15:29:37| Makingdirectories in /var/spool/squid/0E

2012/08/21 15:29:37| Making directoriesin /var/spool/squid/0F

[root@localhost ~]#

# /etc/init.d/squid start

 

客户机浏览器配置代理

打开浏览器internet选项选择连接中的局域网设置设置:

 

 

添加squid主机IP以及代理端口:


 

# tail -f /var/log/squid/access.log                 //查看代理客户机访问记录

1345532445.463    166 192.168.0.229 TCP_MISS/200 2126 GEThttp://news.baidu.com/z/resource/bg2.png - DIRECT/123.125.114.18 image/png

1345532445.467   3193 192.168.0.229 TCP_MISS/200 188665 GEThttp://eiv.baidu.com/mapm2/jingyi/120705_jj_01/984bg.jpg - DIRECT/123.125.115.43image/jpeg

1345532445.869    218 192.168.0.229 TCP_MISS/200 423 GEThttp://news.baidu.com/c_n? - DIRECT/123.125.114.18 text/html

1345532446.055    170 192.168.0.229 TCP_MISS/200 1020 GEThttp://news.baidu.com/nocache/mp/b.jpg? - DIRECT/123.125.114.18 image/jpeg

1345532446.303    515 192.168.0.229 TCP_MISS/200 3653 GEThttp://t3.baidu.com/it/u=http%3A%2F%2Fwww.cnr.cn%2Fgundong%2F201208%2FW020120821245142735909.jpg&fm=30- DIRECT/61.135.185.26 image/jpeg

 

查看命中率

# squidclient -p 8080 mgr:info

HTTP/1.0 200 OK

Server: squid/3.1.10

Mime-Version: 1.0

Date: Tue, 21 Aug 2012 07:12:28GMT

Content-Type: text/plain

Expires: Tue, 21 Aug 201207:12:28 GMT

Last-Modified: Tue, 21 Aug 201207:12:28 GMT

X-Cache: MISS fromlocalhost.localdomain

X-Cache-Lookup: MISS fromlocalhost.localdomain:8080

Via: 1.0 localhost.localdomain(squid/3.1.10)

Connection: close

 

Squid Object Cache: Version3.1.10

Start Time:       Tue, 21 Aug 2012 06:59:03 GMT

Current Time:  Tue, 21 Aug 2012 07:12:28 GMT

Connection information for squid:

         Numberof clients accessing cache:         2

         Numberof HTTP requests received:        130

         Numberof ICP messages received:         0

         Numberof ICP messages sent:       0

         Numberof queued ICP replies:        0

         Numberof HTCP messages received:     0

         Numberof HTCP messages sent:   0

         Requestfailure ratio:       0.01

         AverageHTTP requests per minute since start:     9.7

         AverageICP messages per minute since start:      0.0

         Selectloop called: 382483 times, 2.107 ms avg

... ...

#

取得squid运行状态信息:         squidclient -p 8080 mgr:info

取得squid内存使用情况:           squidclient -p 80mgr:mem

取得squid的磁盘使用情况:    squidclient -p 8080 mgr:diskd

查看更多:squidclient -p 8080 mgr:

 

acl规则限制配置

# deny news #过滤所有url中含有news的网站

acl newsurl_regex -i news  

#过滤URL中出现news关键字

http_accessdeny news

# deny video #过滤主流的视频网站

acl videodstdomain .youku.com .56.com .tudou.com .qiyi.com

http_accessdeny video

acl worktimetime MTWHF 9:00-12:00

http_accessdeny !worktime  #9:00-12:00这段时间外不可以访问

加入以上配置到配置文件后,刷新squid服务即可

 

 

 

 

 

time ACL允许你控制基于时间的访问,时间为每天中的具体时间,和每周中的每天。日期以单字母来表示,见如下表。时间以24小时制来表示。[星期]:可以使用这些关键字MMonday星期一)、TTuesday星期二)、WWednesday星期三)、HThursday星期四)、FFriday星期五)、ASaturday星期六)和SSunday星期天) [时间段]:可以表示为10:00-20:00。例如:

aclworktime time MTWHF 9:00-18:00周一到周五的9点到18

 

访问控制应用实例

1) 禁止IP地址为192.168.16.200的客户机上网。

acl badclientip1 src192.168.16.200

http_access deny badclientip1

2) 禁止192.168.1.0这个子网里所有的客户机上网。

acl badclientnet1 src192.168.1.0/255.255.255.0

http_access denybadclientnet1

3) 禁止用户访问IP地址为210.21.118.68的网站。

acl badsrvip1 dst210.21.118.68

http_access deny badsrvip1

4) 禁止用户访问域名为www.163.com的网站。

acl baddomain1 dstdomain -iwww.163.com

http_access deny baddomain1

5) 禁止用户访问域名包含有163.com的网站。

acl badurl1 url_regex -i163.com

http_access deny badurl1

6) 禁止用户访问域名包含有sex关键字的URL。

acl badurl2 url_regex -i sex

http_access deny badurl2

7) 限制IP地址为192.168.16.200的客户机并发最大连接数为5。

acl clientip1 src192.168.16.200 acl conn5 maxconn 5 http_access deny client1 conn1

8) 禁止192.168.2.0这个子网里所有的客户机在周一到周五的9:00到18:00上网。

acl clientnet1 src192.168.2.0/255.255.255.0 acl worktime time MTWHF 9:00-18:00 http_access denyclientnet1 worktime

9) 禁止客户机下载*.mp3、*.exe、*.zip和*.rar类型的文件。

acl badfile1 urlpath_regex -i\.mp3$ \.exe$ \.zip$ \.rar$ http_access deny badfile1

10) 禁止QQ通过squid代理上网。

acl qq url_regex -itencent.com http_access deny qq

 

转载于:https://www.cnblogs.com/kumulinux/archive/2012/08/21/2808725.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨平台Markdown编辑软件Typora mac功能介绍

Typora mac是一款跨平台的Markdown编辑器,支持Windows、MacOS和Linux操作系统。它具有实时预览功能,能够自动将Markdown文本转换为漂亮的排版效果,让用户专注于写作内容而不必关心格式调整。Typora Mac版除了支持常见的Markdown语法外&#x…

如何解决 SQL Server 安装程序中的 COM+ 系统配置检查失败问题

转载自:http://technet.microsoft.com/zh-cn/library/ms143690(SQL.90).aspxSQL Server 2005 联机丛书(2008 年 11 月)如何解决 SQL Server 安装程序中的 COM 系统配置检查失败问题Microsoft SQL Server 2005 安装程序检查 COM 是否已正确配置…

mysql decimal(6_MySQL(六) decimal数据默认处理

create table decimal_test(id int auto_increment PRIMARY key,score decimal(5,2) -- 取值范围是 -999.99 到 999.99);decimal(M,D)M整数位小数位-- 整数的位数必须小于等于m-d,不然报错。小数的位数可以大于d位。多出d位时会做四舍五入,截取到d位。--…

[LeetCode]题解(python):058-Length of Last Word

题目来源: https://leetcode.com/problems/length-of-last-word/ 题意分析: 给出只包括大小写和空格的字符,输出最后一个单词的长度。 题目思路: 从最后一个字符开始搜索,如果字符非空格,则往前推一位&…

Oracle新手笔记(2) 关于Oracle 9i或9i以上版本客户端连接Oracle 8i及8i版本以下服务器端中文字符乱码的解决办法...

在做项目过程中,遇到Oracle 9i或9i版本以上客户端连接Oracle 8i及8i版本以下服务器端时,查询出来的中文数据全部变成了乱码。经查询资料终于解决了乱码问题。 开发工具是ASP.NET(C#) Oracle,使用System.Data.OracleCli…

mysql 5.7安装教程linux_Mysql5.7 Linux安装教程

1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql执行如下命名:#mkdir /data/software#cd /data/software--下载安装包--建议&am…

如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )

如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于MatlabR2015b版) 关键字:MatlabR2015b,可独立运行,可脱离Matlab环境,m文件,Matlab程序 如何将MATLAB程序.m文件发布为独立的不依赖MATLAB环境可执行的程序包。本文演示了基于…

[C#]利用键代码自动转换生成字母键或其它键信息

先上图说明目的: 有时需要将A到Z(或更多的键盘信息)放到一个组合框或其它控件中,可以用循环语句轻松搞定: using System.Collections .ObjectModel ;//引用泛型数组空间 namespace mouseclick1{ //返回26个字母的泛…

互联网产品跨部门沟通的10个原则(转)

摘要: 向对方重复沟通中的主要内容;利用澄清的方式提出不明白的内容;谈论重点议题时尽量不要打断对方讲话;对产品经理来说,跨部门沟通不良,可能会让他好不容易建立起来的自信瞬间摧毁。 你认为十万火急的事&#xff0c…

Windows7 支付宝证书安装方法

1.将UAC调到最低位置~Start-GettingStarted—Change UAC Settings,滑动条到最低,点击确定之后重启电脑~~(如果这一部不做的话,导致第二步无法完成) 2.设置IE8浏览器, tools -- internet options -- advanced 里面, 取…

让你的Tex代码更加美观就这么简单----Tex代码的自动格式化

用TeX编写文档,当文档比较长,结构复杂,公式众多时,感觉写的TeX文本非常凌乱,自己看起来都不舒服。 像C, C, C#, Java, Python, C#等程序设计语言的源代码都有代码自动格式化的功能,因此,TeX代码…

hdu 4279 Number

代码如有错,请指出 找规律题。。。 打的表如下: View Code n 满足有公因子且不整除的数的个数 满足为奇数的个数(要求的答案) 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 1 1 7 0 1 8 1 2 9 1 3 10 3 4 11 0 4 12…

移动开发:iphone开发之触摸事件详解

转:http://blog.sina.com.cn/s/blog_8988732e01012eaf.html iPhoneOS中的触摸事件基于多点触摸模型。用户不是通过鼠标和键盘,而是通过触摸设备的屏幕来操作对象、输入数据、以及指示自己的意图。iPhoneOS将一个或多个和屏幕接触的手指识别为多点触摸序列…

Office Word界面和页面字体模糊不清的解决方案

最近在打开Word编辑文档时,发现了一个非常让人懊恼的现象,整个Word的界面和页面中的字体变得模糊不清,光标所到之处会短暂地局部变清晰,完全没法正常使用。 觉得很奇怪,以前一直能正常使用,为什么现在就出…

PS自动生成不同尺寸图标

2019独角兽企业重金招聘Python工程师标准>>> ####一、简介 通过在ps执行脚本将当前编辑的素材生成各种不同尺寸的png图标。下面例子在cs6下测试通过。 参考:http://coolketang.com/psscript/menu8lesson12.php ####二、脚本jsx //调用[File]的[openDialo…

如何在Word中输入带圈数字1-10的黑底白字和白底黑字的数字字符?

当需要在文档中输入带圈的数字字符时,你知道如何输入吗? 通常的输入法软键盘中会提供带圈的数字字符,但是都是白底黑字的。如果想输出黑底白字的带圈数字字符,该如何输入呢? 答案很简单: 在Word 2013中&…

Oracle存储过程 使用游标、数组的配合查询

查询输入的门牌号码是否在标准门牌库中存在。存在则返回相应的号码。 1 public string GetValidate(){2 3 OracleConnection conn ConnectOra();4 string retRepMphm;5 try6 {7 conn.open();8 OracleComandType cmdconn.CreateCommand();9 cmd.Com…

Windows环境下Code::Blocks中成功配置MySQL Connector/C连接MySQL数据库

下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项。 操作系统:Windows 7 x64 编程环境:Code::Blocks 10.05(32bit) 配置方式说明:用C语言开发访问MySQL数据库至少有3种配置方式。 方式1:使用MySQL C…

离散卷积过程举例图示详解

卷积结果的通俗解释: f(x)是待处理的信号。通常地,该函数数据个数比较多。 g(x)是对信号前后相关性的描述的函数。通常地,该函数非零数据个数比较少。它通常具有在(-∞,∞)内可积且快速收敛的特性。 对于本例中的函数g(x),卷积…

c语言数据结构将链串里所有值为x的字符删除_redis数据结构与对象到底长什么样?...

写在前面前方高能!前方高能!前方高能!文章较长,可能需要花费您两个小时的时间,请做好心理准备,但是一旦你准备看下去,我相信您一定会有收获,不枉此行,let’s go!!!一、简…