1. 程式人生 > >RHEL6下squid代理之正向代理

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

[[email protected] ~]#

# /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


相關推薦

RHEL6squid代理正向代理

        Squid cache(簡稱為Squid)是一個流行的自由軟體(GNU通用公共許可證)的代理伺服器和Web快取伺服器。Squid有廣泛的用途,從作為網頁伺服器的前置cache伺服器快取相關請求來提高Web伺服器的速度,到為一組人共享網路資源而快取全球資訊網,

Centos7 squid安裝 以及 傳統代理和透明代理的部署

文件大小 cmd 過程 running useradd ply chm nologin 命令 Centos7 下 squid代理服務安裝 代理服務的工作機制 作為應用層的代理服務軟件, Squid主要提供緩存加速和應用層過濾控制的功能。 當客戶機通過代理來請求Web頁面時,

linux正向代理,反向代理

squid是什麼? 代理快取伺服器:接收到使用者請求後,自動下載指定資源並存儲到本地伺服器,以後使用者請求相同資源時,直接把儲存在本地伺服器的資源直接傳給使用者。 1.正向代理: #####標準代理模式##### 客戶端請求訪問一個web頁面,訪問代理伺服器,若代理伺服器有快取資料,則直接從

Linux 基礎 Apache 正向代理與反向代理

一、正向代理 一、概念:         正向代理,意思是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服

nginx實踐(五)代理服務(正向代理與反向代理介紹)

分享 dns解析 http 正向 gin .com 通過 自己 bubuko 正向代理 正向代理代理是為客戶端服務,代理負責DNS解析域名到對應ip,並進行訪問服務端,返回響應給客戶端 反向代理 客戶端自己負責請求DNS解析域名到對應ip,服務端通過代理分發流量,進行負載

反向代理正向代理區別

繼續 技術 跳板 訪問網站 web服務器 啟用 簡單的 指定 設置 正向代理的概念 正向代理,也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器這個代理服務器呢,他能訪問那個我不能訪問的網站於是我先連上代理服務

nginx反向代理正向代理,優缺點

csdn blank http class details targe sha clas gpo http://blog.csdn.net/lishaojun0115/article/details/53200629 nginx反向代理代理的是服務器,正向代理代理的是客

透明代理正向代理、反向代理的區別說明

代理方式有三種:正向代理、透明代理和反向代理。反向代理比較容易理解,畢竟是運維必掌握的知識,但是對正向代理、透明代理可能比較模糊,所以主要解惑正向代理和透明代理。 透明代理 透明代理(transparent proxy),看名字就知道這個代理伺服器是透明的,透明代理其實也叫做內網代理(inline proxy

Spring AOP動態代理JDK代理

前言 我們都知道AOP中的代理就是由AOP框架動態生成的一個物件,該物件可以作為目標物件使用。此處講解Spring中的AOP代理之JDK動態代理。 JDK代理是什麼 JDK動態代理是通過java.lang.reflect.Proxy類來實現的,我們可以呼叫Pr

【Nginx】第十四節 反向代理正向代理區別

author:咔咔 wechat:fangkangfk   下面我們需要配置正向代理跟反向代理,所以在這之前先的瞭解一下反向代理跟正向代理的區別   正向代理: 正向代理(forward proxy) ,一個位於客戶端和原始伺服器之間的伺服器,為了從原

反向代理正向代理

參考圖解代理 一、正向代理 先不說正向代理的概念,舉個栗子:VPN中的代理伺服器。 我們作為客戶端,首先要設定一個代理伺服器,指定代理伺服器的IP和埠(使用者名稱密碼),這時就可以訪問本來訪問不了的Google就可以訪問了,這是什麼原理呢?

透明代理、反向代理正向代理

響應 代理 pro 分享圖片 img inf 參考 ORC 存在 原文:透明代理、反向代理,正向代理1、透明代理   透明代理(transparent proxy),也叫內網代理(inline proxy)、攔截代理(inercepting proxy)已經強制代理(fo

Java代理靜態代理

#### 什麼是代理 代理就是給目標物件一個代理物件,並由代理物件控制目標的引用。 #### 為什麼要使用代理模式 1、通過引入代理物件的方式,可以間接的訪問目標物件,避免直接訪問目標物件給系統帶來不必要的複雜性。 2、通過代理物件可以對原有的業務進行業務增強處理。 舉例:如果我們需要買國外的某一件商品A

centos7 apache nginx squid https正向代理

onf centos servers GC list code req RoCE get apache yum install httpd mod_ssl -y vim /etc/httpd/conf.d/ssl.conf Listen 443 https &

LinuxSquid(正向代理和反向代理)

正向代理(實驗條件:(真機)IP:172.25.254.4能上網;虛擬機器IP:172.25.254.104不能上網;讓虛擬機器使用代理去聯網) 正向代理 是位於客戶端和原始伺服器之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後

squid正向代理

squid正向代理squid正向代理centos系統自帶squid包,安裝命令是:1.安裝squid#yum install -y squid2.修改squid配置文件# vim /etc/squid/squid.conf (配置文件路徑)cache_dir ufs /var/spool/squid 100

學習Nginx理解正向代理和反向代理

用戶訪問 gin margin 進行 ron 用途 工作 訪問 .net 正向代理的概念 正向代理,也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器這個代理服務器呢,他能訪問那個我不能訪問的網站於是我先連上

CentOS 6Nginx正向代理配置

nginxCentOS 6下Nginx正向代理配置By:老寧一、環境介紹1、Client作為需訪問訪問互聯網PC終端;網卡地址:192.168.1.2002、Nginx Server作為互聯網出口代理服務器;內網網卡:192.168.1.100外網網卡:10.10.16.186二、配置介紹1、Nginx Se

squid配置 正向代理

mkdir 什麽是 coredump nec 初始 資源 8.0 .net pool 什麽是squidsquid可以做代理也可以做緩存squid緩存不僅可以節省寶貴的帶寬資源,也可以大大降低服務器的I/O. squid不僅可以做正向代理,又可以做反向代理。 搭建squid

Squid 正向代理配置

ref nor plist art body 語法 啟動進程 squid color Squid 正向代理配置 1、刪除主配置文件重寫寫入配置 rm -f /etc/squid/squid.conf 2、重新寫入配置正向代理 vim /etc/squid/squid.