溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

42.部署Squid代理服務(wù)

發(fā)布時間:2020-07-18 13:48:01 來源:網(wǎng)絡(luò) 閱讀:265 作者:乘_風 欄目:建站服務(wù)器

Squid代理服務(wù)器

Squid代理服務(wù)器工作在應(yīng)用層,主要提供緩存加速,應(yīng)用層過濾控制等功能。

Squid代理的工作機制:

當客戶機通過代理來請求web頁面時,指定的代理服務(wù)器會先檢查自己的緩存,如果緩存中有數(shù)據(jù)則直接反饋給客戶機,如果沒有則由代理服務(wù)器向internet發(fā)送訪問請求,然后返回web頁面時,先緩存起來,然后反饋給客戶機。

Squid代理的基本類型:

傳統(tǒng)代理:普通的代理方式,客戶機需手動指定代理地址和工作端口

透明代理:客戶機不需要指定代理地址和工作端口,而是通過默認路由,防火墻策略將web訪問重定向交給代理服務(wù)器處理

搭建squid代理服務(wù)器:

編譯安裝squid

# tar xzvf squid-3.4.6.tar.gz

# cd squid-3.4.6

#./configure --prefix=/usr/local/squid --sysconfdir=/usr/local/squid/etc --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnregex

注釋:

--prefix指定安裝路徑

--sysconfdir指定配置文件路徑

--enable-arp-acl 可以在規(guī)則中設(shè)置直接通過客戶端MAC進行管理,防止客戶端使用IP欺騙

--enable-linux-netfilter可以使用iptables的內(nèi)核過濾

--enable-linux-tproxy支持透明模式

--enable-async-io異步I/O,提升存儲性能,指定緩存空間大小

--enable-err-language錯誤信息顯示的語言

--enable-underscore允許URL中有下劃線

--enable-poll使用Poll模式,提升性能

--enable-gnregex使用GNU正則表達式

#make && make install

創(chuàng)建命令鏈接文件,使命令方便調(diào)用

#ln -s /usr/local/squid/sbin/* /usr/local/sbin/

創(chuàng)建用戶和組,授予安裝目錄相關(guān)權(quán)限

#useradd -M -s /sbin/nologin squid

#chown  -R squid.squid /usr/local/squid/var

#vim /usr/local/squid/etc/squid.conf

visible_hostname ren

coredump_dir /usr/local/squid/var/cache/squid

cache_dir cache_effective_user squid

cache_effective_group squid ufs /usr/local/squid/var/cache/squid 100 16 256

cache_effective_user squid

cache_effective_group squid

Cache mem 512MB

http_port 1.1.1.0/24:3128 transparent

注釋

visible_hostname給一個主機名

coredump_dir表示緩存的文件位置

cache_effective_group squid ufs指定緩存文件的大小

cache_effective_user 指定運行squid程序緩存的用戶

cache_effective_group squid指定運行squid程序緩存的組

Cache mem 在物理內(nèi)存中可用的值

http_port 1.1.1.0/24:3128 transparent :設(shè)置該網(wǎng)段讓其支持透明代理

初始化squid代理

#squid -k parse

# squid -z

啟動squid代理

#squid

代理實現(xiàn)方式:

傳統(tǒng)代理:在客戶機的瀏覽器中輸入要代理的地址端口

透明代理:修改配置文件讓其支持透明代理,然后通過iptables防火墻將規(guī)則重定向到代理服務(wù)器中即可,動作:REDIRECT

例:#iptables -t nat -A PREROUTING -i eth2 -s 1.1.1.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

#iptables -t nat -A PREROUTING -i eth2 -s 1.1.1.0/24 -p tcp --dport 443 -j REDIRECT --to 3128

#unset  HTTP_PROXY HTTPS_PROXY

ACL訪問控制

我們可以通過squid定義自己的訪問控制列表,格式:acl 列表名稱 列表類型 列表內(nèi)容

常用的訪問控制列表里類型

列表類型

列表內(nèi)容

含義

Src

192.168.1.1

192.168.1.0/24

192.168.1.1-192.168.1.10

基于源IP地址,網(wǎng)段,IP地址范圍過濾

Dst

1.1.1.1

1.1.1.0/24

www.a.com

基于目標IP地址,網(wǎng)段,主機名過濾

Port

80  443  8080  21  20

基于目標端口過濾

Dstdomain

.qq.com

基于目標域過濾

Time

MTWHF 8:30-17:30

基于星期,M表示星期一,T表示星期二,W表示星期三,H表示星期四,F表示星期五

Maxconm

20

每個客戶機的并發(fā)連接數(shù)

Url_regex

Url_regex -i ^a://

目標資源的URL地址,-i 表示忽略大小寫

Urlpath_regex

Urlpath_regex -i \.mp3$

目標資源的整個URL路徑,-i表示忽略大小寫

例:#vim /etc/squid.conf               

Acl xiao url_regex -i ^http://  

http_access deny MYLAN xiao 表示只要是http//開頭的URL都拒絕訪問

 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI