成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Squid代理服務(wù)器應(yīng)用案例 多出口多用戶認(rèn)證上網(wǎng)

原創(chuàng)
系統(tǒng) Linux
筆者最近幫朋友接了個(gè)小項(xiàng)目,客戶在他們的美國機(jī)房租了幾臺(tái)服務(wù)器,然后想在上面做上網(wǎng)用的代理服務(wù)器,供客戶在國內(nèi)使用,希望具有多個(gè)出口ip地址供不同用戶通過認(rèn)證上網(wǎng)的方式使用。本文的目的就是向大家介紹筆者實(shí)現(xiàn)這個(gè)需求的思路和步驟。整個(gè)方案通過Squid代理服務(wù)器實(shí)現(xiàn)。

【51CTO獨(dú)家特稿】最近幫朋友接了個(gè)小項(xiàng)目,客戶在他們的美國機(jī)房租了幾臺(tái)服務(wù)器,然后想在上面做上網(wǎng)用的代理服務(wù)器,供客戶在國內(nèi)使用。具體需求如下:

1、客戶的這臺(tái)服務(wù)器具有多個(gè)出口ip地址

2、客戶希望使用認(rèn)證的方式使用代理服務(wù)器上網(wǎng)

3、客戶希望通過不同的認(rèn)證用戶實(shí)現(xiàn)從不同的出口ip訪問網(wǎng)絡(luò)

4、隱藏代理信息,隱藏真實(shí)上網(wǎng)ip

此客戶需求相當(dāng)明確,根據(jù)上面羅列,條理也很清晰。本文的目的就是向大家介紹筆者實(shí)現(xiàn)這個(gè)需求的思路和步驟。

作者簡介:劉晗昭,網(wǎng)名蚊子(博客),某通信業(yè)國企系統(tǒng)工程師,熟悉各種主流開源軟件的使用,部署和組合應(yīng)用,以及主流網(wǎng)站架構(gòu)。目前關(guān)注系統(tǒng)架構(gòu)和系統(tǒng)優(yōu)化。

筆者使用了Squid來實(shí)現(xiàn)這一需求。Squid是一種在Linux系統(tǒng)下使用的優(yōu)秀的代理服務(wù)器軟件,還可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系統(tǒng)上。更多關(guān)于squid的介紹就不在這里多講了,有需要的去官方網(wǎng)站上看吧,51CTO也有這方面的專題

這里先看下我設(shè)計(jì)的邏輯圖:

Squid邏輯圖

根據(jù)圖中所示,紅色的用戶1會(huì)通過紅色的出口ip1訪問internet,綠色的用戶2會(huì)通過綠色的出口ip2訪問internet,用戶3和用戶4同樣對(duì)應(yīng)相應(yīng)顏色的出口訪問internet。

接下來根據(jù)上面的需求進(jìn)行逐一的分解。

一、需求分析

1、服務(wù)器具有多個(gè)出口ip地址

這個(gè)沒什么可說的,客戶的出口ip為:

10.100.10.1
10.100.10.2
10.100.10.3

2、使用認(rèn)證的方式使用代理服務(wù)器上網(wǎng)

這里要用到squid的認(rèn)證功能。squid的認(rèn)證功能大類包括basic_auth,digest_auth,external_acl,negotiate_auth,ntlm_auth這5種(注:squid-2.7.STABLE9版本),每個(gè)大類下面還有具體的認(rèn)證方式,如NCSA,LDAP,DB等等,具體支持哪些可以去這些目錄下面看。

筆者在這里主要介紹的是NCSA的方式,此種認(rèn)證方式類似apache的auth認(rèn)證方式,通過用戶名密碼來驗(yàn)證,密碼文件也是通過htpasswd程序來創(chuàng)建。后面會(huì)給出具體配置。

3、通過不同的認(rèn)證用戶實(shí)現(xiàn)從不同的出口ip訪問網(wǎng)絡(luò)

先說實(shí)現(xiàn)不同出口ip訪問網(wǎng)絡(luò),這個(gè)主要是依靠squid的tcp_outgoing_address配置實(shí)現(xiàn)的,此參數(shù)可以根據(jù)source ip或者用戶名的不同,分配不同的出口ip出去。

如此一來,搭配第二個(gè)需求中的用戶驗(yàn)證,正好就可以實(shí)現(xiàn)第三個(gè)需求了。后面會(huì)給出具體的配置。

4、隱藏代理信息,隱藏真實(shí)上網(wǎng)ip

這個(gè)需求很多人應(yīng)該都想到使用什么配置文件了,對(duì),就是squid的header_access這個(gè)參數(shù)。主要就是隱藏掉HTTP_VIA,VIA和X-forwarded-for。后面會(huì)給出具體配置。

二、安裝配置

首先要做的就是下載一個(gè)squid安裝包(下載地址)。筆者這里使用的是2.7 STABLE9,操作的當(dāng)前目錄是/tmp,下面所有涉及到目錄的都是基于此目錄。squid源文件路徑是/tmp/squid-2.7.STABLE9.tar.gz

安裝步驟如下:

tar zxvf squid-2.7.STABLE9.tar.gz
cd squid-2.7.STABLE9
./configure --prefix=/usr/local/squid --enable-async-io=320 --enable-icmp --enable-delay-pools --enable-kill-parent-hack --enable-snmp --enable-arp-acl --enable-htcp --enable-cache-digests --enable-removal-policies=heap,lru --enable-default-err-language=Simplify_Chinese --enable-x-accelerator-vary --enable-follow-x-forwarded-for --with-aufs-threads=320 --with-pthreads --with-dl --with-maxfd=65536 --enable-basic-auth-helpers=DB,NCSA --enable-digest-auth-helpers=password --enable-large-cache-files --with-large-files
make
make install

如果以上步驟中無報(bào)錯(cuò),squid就被正確安裝完畢了。

接下來執(zhí)行:

cd /usr/local/squid/           
#(之后的所有操作均在此目錄下完成)
grep -v "^#" etc/squid.conf.default|uniq > etc/squid.conf

將創(chuàng)建一份未注釋的配置文件。

接下來編輯此文件

vi etc/squid.conf

修改編輯的內(nèi)容如下:

20  acl CONNECT method CONNECT
21
22  http_access allow manager localhost

這兩行中間加入:include "/usr/local/squid/etc/auth.conf"。auth.conf文件的內(nèi)容后面會(huì)有詳細(xì)介紹。

32  icp_access deny all
33
34  http_port 3128

這兩行中間加入:always_direct allow all,意思是對(duì)所有ip過來的請(qǐng)求都允許轉(zhuǎn)發(fā)。

將49  broken_vary_encoding allow apache行后面的所有內(nèi)容刪除,加上如下內(nèi)容

forwarded_for off                     
#隱藏x-forwarded-for頭
header_access HTTP_VIA deny all       
#隱藏HTTP_VIA頭
header_access VIA deny all                  
#隱藏VIA頭
  cache_effective_group daemon      
#設(shè)置squid執(zhí)行的用戶組,這里使用了系統(tǒng)自帶的daemon用戶組
cache_effective_user daemon         
#設(shè)置squid執(zhí)行的用戶,這里使用了系統(tǒng)自帶的daemon用戶

visible_hostname test               
#設(shè)置錯(cuò)誤頁面中出現(xiàn)的服務(wù)器名稱,可自行更改
 cache_dir aufs /usr/local/squid/cache 100 16 256              
#設(shè)置squid的緩存,可自行調(diào)整
cache_store_log none               
#關(guān)閉store.log

都修改添加完畢后,保存退出。

緊接著我們來創(chuàng)建auth.conf。

vi /usr/local/squid/etc/auth.conf

輸入如下內(nèi)容

# 設(shè)置驗(yàn)證相關(guān)的配置內(nèi)容,指定密碼文件
1  auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/etc/passwd
2  auth_param basic children 10          #設(shè)置驗(yàn)證子進(jìn)程數(shù)
3  auth_param basic credentialsttl 2 hours         #設(shè)置驗(yàn)證有效期
4  auth_param basic casesensitive off         #設(shè)置是否區(qū)分大小寫
5
# 后面這三行分別定義了三個(gè)用戶組。每個(gè)用戶組指定了一個(gè)用戶文件。
6  acl usergroup1 proxy_auth "/usr/local/squid/etc/ip1user"
7  acl usergroup2 proxy_auth "/usr/local/squid/etc/ip2user"
8  acl usergroup3 proxy_auth "/usr/local/squid/etc/ip3user"
9
# 后面三條允許這三個(gè)組的用戶可以訪問網(wǎng)絡(luò)
10  http_access allow usergroup1
11  http_access allow usergroup2
12  http_access allow usergroup3
13
# 這三條用來分配哪個(gè)組的用戶走哪個(gè)出口ip
14  tcp_outgoing_address10.100.10.1 usergroup1
15  tcp_outgoing_address10.100.10.2 usergroup2
16  tcp_outgoing_address 10.100.10.3 usergroup3

編輯完成后保存退出。

接下來是創(chuàng)建用戶文件,vi /usr/local/squid/etc/ip1user,填入如下內(nèi)容

user1
user2

保存退出。這里用戶數(shù)量不限,每個(gè)用戶名占用一行。

如果一開始沒有那么多用戶,建議使用touch命令將文件創(chuàng)建好,不然啟動(dòng)squid的時(shí)候會(huì)出錯(cuò)。

接下來創(chuàng)建用戶的密碼文件,第一次創(chuàng)建密碼文件請(qǐng)使用下面的命令

htpasswd -cb /usr/local/squid/etc/passwd user1 111111

倒數(shù)第二個(gè)字段是用戶名,最后一個(gè)字段是用戶對(duì)應(yīng)的密碼

如果之前創(chuàng)建過了密碼文件,使用下面的命令就可以了

htpasswd -b /usr/local/squid/etc/passwd user2 111111

命令解釋同上。

到此為止,配置文件等相關(guān)工作就基本完成了。下面來說說squid的初始化工作。

首先,mkdir cache,創(chuàng)建cache目錄

然后執(zhí)行,chown -R daemon.daemon,變更當(dāng)前目錄及所有子目錄的的屬主與屬組。筆者這里使用系統(tǒng)自有的daemon用戶和組。

這些工作都做好之后呢,就來執(zhí)行 sbin/squid -z對(duì)squid進(jìn)行初始化,如果沒有報(bào)錯(cuò)信息呢,初始化工作就算是做完了,下面啟動(dòng)squid服務(wù)即可了,啟動(dòng)命令為

sbin/squid -ND &

然后通過下面的命令查看一下3128端口是否啟動(dòng)

netstat -ln|grep 3128

如果出現(xiàn)下面的內(nèi)容,說明squid服務(wù)已經(jīng)正常運(yùn)行了

tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN

到此為止,一個(gè)支持用戶身份驗(yàn)證的多出口代理服務(wù)器就完全配置完畢了,趕快打開瀏覽器,配置好代理服務(wù)器,測(cè)試一下吧。看看瀏覽網(wǎng)頁是否會(huì)彈出驗(yàn)證的提示。

另外還可以登錄proxy checker工具網(wǎng)站查看使用不同的用戶組的用戶,是否上網(wǎng)ip不一樣,同時(shí)這個(gè)頁面還能查看當(dāng)前上網(wǎng)方式是否使用了代理。

檢查代理服務(wù)器設(shè)置效果

由上圖可知,最上面是上網(wǎng)的ip地址,最下方的proxy detected如果是no表示未檢測(cè)出使用代理上網(wǎng)。

如果想讓squid在開機(jī)的時(shí)候自動(dòng)啟動(dòng)只需要在/etc/rc.loacl文件中加入

/usr/local/squid/sbin/squid –ND &

即可。

【編輯推薦】

  1. SVN自助更新:運(yùn)維利器Puppet實(shí)例講解
  2. Squid代理服務(wù)器高級(jí)應(yīng)用兩例
  3. Squid服務(wù)器,你了解多少?
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2011-02-21 09:24:05

2012-09-18 09:55:28

2009-12-03 18:07:48

Squid代理服務(wù)器

2020-08-02 15:00:40

SquidSSH系統(tǒng)運(yùn)維

2009-12-07 09:33:38

代理服務(wù)器路由

2019-06-18 08:27:37

Squid代理服務(wù)器IP代理池

2010-11-15 14:46:04

linuxsquidsquidGuard

2009-02-12 15:51:00

squid代理服務(wù)器web服務(wù)器

2024-11-21 09:18:08

2009-02-10 15:42:00

代理服務(wù)器代理服務(wù)器設(shè)置

2009-02-06 11:12:00

代理服務(wù)器代理服務(wù)器應(yīng)用

2015-07-17 10:45:42

Squid服務(wù)器訪問控制系統(tǒng)

2009-02-06 11:18:00

代理服務(wù)器SuperProxyADSL

2024-02-20 14:53:01

2009-08-04 10:13:09

Linux命令行代理服務(wù)器設(shè)置Linux命令行界面

2009-08-18 11:04:50

代理服務(wù)器設(shè)置代理服務(wù)器地址

2018-11-05 09:34:43

2010-01-19 10:07:51

2010-01-22 14:51:31

VB.NET修改代理服

2009-12-03 11:31:16

寬帶路由器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 小川阿佐美pgd-606在线 | 999精品视频 | 久久久久国产 | 欧美精品在线看 | 亚洲免费一区二区 | 国产98在线 | 免费, | 国产精品 亚洲一区 | 亚洲精品视频观看 | 精品99久久久久久 | 午夜欧美| 在线国产小视频 | 国产精品无码久久久久 | 午夜无码国产理论在线 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 亚洲人免费视频 | 成人精品一区二区三区中文字幕 | 亚洲 欧美 另类 综合 偷拍 | 精品国产三级 | 国产99久久精品一区二区永久免费 | 午夜寂寞福利视频 | 精品成人69xx.xyz | 精品美女久久久久久免费 | av电影一区二区 | 久久精品在线免费视频 | 古典武侠第一页久久777 | 免费人成在线观看网站 | 成人免费视频网站在线看 | 亚洲免费精品 | 一区二区在线免费观看 | 日韩一区二区在线免费观看 | 黄色网址在线免费播放 | 久久久久久久久久久高潮一区二区 | 久久久久亚洲精品中文字幕 | 亚洲一区二区av | 一级欧美 | 日韩欧美久久 | 欧美日韩一区二区三区四区 | 日韩av在线一区 | 丁香五月网久久综合 | 久久国产香蕉 | 黄色三级在线播放 |