日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Squid-4.1(最新)安装及构建代理服务器

發布時間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Squid-4.1(最新)安装及构建代理服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緩存代理簡介

Squid作為應用層代理服務軟件,主要提供緩存加速和應用層過濾控制的功能。本次試驗使用的是Squid 4.1版本,和以往版本有較多不同,經過幾天的摸索,終于成功實現了傳統代理、透明代理及反向代理等功能。

代理的工作機制

代理服務器(Proxy Server)是個人網絡和Internet服務商之間的中間代理機構,負責轉發合法的網絡信息,對轉發進行控制和登記。其最基本的功能就是連接,此外還包括安全性、緩存,內容過濾,訪問控制管理等功能。當客戶機通過代理請求Web頁面時,執行的代理服務器先會檢查自己的緩存,當緩存中有客戶機需要訪問的頁面,則直接將緩存服務器中的頁面內容反饋給客戶機;如果緩存中沒有客戶機需要訪問的頁面,則由代理服務器想Internet發送訪問請求,當獲得返回的Web頁面以后,將頁面數據保存到緩存中并發送給客戶機。

代理的基本類型

根據實現的方式不同,代理服務可以分為傳統代理和透明代理兩種常見的代理服務。

1、傳統代理:普通代理服務,必須在瀏覽器、QQ聊天工具,下載等程序中手動設置代理服務器的地址和端口,然后才能使用代理服務來訪問網絡,對于網頁瀏覽器,訪問網站時的域名解析請求也會發送給指定的代理服務器。

2、透明代理:提供與傳統代理相同的功能和服務,其區別在于客戶機不需要指定代理服務器的地址和端口,而是通過默認路由、防火墻策略將Web訪問重定向,實際上仍然交給代理服務器來處理。重定向的過程對客戶機"透明"的,用戶甚至不知道自己在使用代理服務,所以稱為"透明代理"。使用透明代理時,網頁瀏覽器訪問網站時的域名解析請求將優先發給DNS服務器。

安裝及運行控制

下面以最新版Squid 4.1版本為例,介紹其安裝和運行控制。

編譯安裝Squid

首先將下載下來的源代碼包,解壓到指定目錄中。

[root@promote ~] tar xfvz squid-4.1.tar.gz -C /opt/

[root@promote ~] cd /opt/squid-4.1/

[root@promote squid-4.1]# ./configure --prefix=/usr/local/squid \ #指定安裝目錄

> --sysconfdir=/etc \? #單獨將配置文件修改到其他目錄

> --enable-arp-acl \ #可以在規則中設置通過客戶端MAC進行管理,防止IP欺騙

> --enable-linux-netfilter \ #使用內核過濾

> --enable-linux-tproxy \ #支持透明代理 (這個很重要,否則后面透明代理無法實現)

> --enable-async-io=100 \ #異步IO,提升存儲性能

> --enable-err-language="Simplify_Chinese" \ #錯誤信息的顯示語言

> --enable-underscore \ #允許URL中有下劃線

> --enable-poll \? ? #使用Poll()模式,提升性能

> --enable-gnuregex #使用GNU正則表達式

配置完成后,進行編譯安裝

[root#promote squid-4.1]# make && make install

安裝完成后,創建鏈接文件、創建用戶和組

[root@promote squid-4.1]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/

#創建軟鏈接,這樣可以直接使用squid相關的命令

[root@promote squid-4.1]# useradd -M -s /sbin/nologin squid

#創建管理進程的用戶

[root@promote squid-4.1]# chown -R squid.squid /usr/local/squid/var/

#將文件的屬主和屬組修改

修改Squid的配置文件,Squid服務的配置文件位于/etc/squid.conf。

[root@promote squid-4.1]# vim /etc/squid.conf

cache_effective_user squid #添加指定程序用戶

cache_effective_group squid #添加指定賬號基本組

其他的先保持默認

[root@promote squid-4.1]# squid -k parse #檢查配置文件語法

[root@promote squid-4.1]#squid -z #初始化緩存目錄

[root@promote squid-4.1]#?2018/07/22 20:03:12| Created PID file (/usr/local/squid/var/run/squid.pid)

2018/07/22 20:03:12 kid1| Set Current Directory to /usr/local/squid/var/cache/squid
2018/07/22 20:03:12 kid1| Creating missing swap directories
2018/07/22 20:03:12 kid1| No cache_dir stores are configured.
2018/07/22 20:03:12| Removing PID file (/usr/local/squid/var/run/squid.pid)
[root@promote squid-4.1]# squid ? ? ? ? ? ?#啟動Squid服務
[root@promote squid-4.1]# netstat -ntap | grep squid ? ? ? #服務啟動,Squid服務處于正常監聽狀態
tcp6 ? ? ? 0 ? ? ?0 :::3128 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?90280/(squid-1)

創建Squid服務腳本,為了使Squid服務啟動、停止、重載等操作更加方便,可以編寫Squid服務腳本,并使用chkconfig和service工具進行管理。

[root@promote squid-4.1]# vim /etc/init.d/squid #!bin/bash #chkconfig:2345 90 25 PID="/usr/local/squid/var/run/squid.pid" CONF="/etc/squid.conf" CMD="/usr/local/squid/sbin/squid"case "$1" instart)netstat -natp | grep squid &> /dev/nullif [ $? -eq 0 ]thenecho "squid is running"elseecho "正在啟動suqid..."@CMDfi;;stop)kill -9 `expr $(cat $PID) + 2` #squid.pid中的數字和進程號相差2,直接殺死進程,#后續試驗發現不一定相差2,暫時找不到原因,希望大佬出來解答一下;;status)[ -f $PID ] &> /dev/nullif [ $? -eq 0 ]thennetstat -natp | grep squidelseecho "squid is not running"fi;;restart)$0 stop &> /dev/nullecho "正在關閉squid..."$0 start &> /dev/nullecho "正在啟動squid...";;reload)$CMD -k reconfigure;;check)$CMD -k parse;;*)echo "用法:$0{start|stop|status|reload|check|restart}";; esac[root@promote squid-4.1]# cd /etc/init.d/ [root@promote init.d]# chmod +x squid #添加執行權限 [root@promote init.d]#chkconfig --add squid #使用chkconfig管理 [root@promote init.d]#chkconfig --level 35 squid on #設置開機啟動

構建代理服務器

傳統代理

修改配置文件,在配置傳統代理時,需要添加http_access allow all 訪問策略,允許任意客戶機使用代理。除此之外還要設置reply_body_max_size項,其他參數保持默認。

[root@promote init.d]#vim /etc/squid.conf

http_access allow all? #允許任意客戶機使用代理

http_port 3128? ? #使用3128端口

cache_mem 64 MB? ?#指定緩存功能所使用的內存空間大小,便于保持訪問較頻繁的WEB對象,容量最好為

? ? #4的倍數,單位為MB,建議設為物理內存的1/4

reply_body_max_size 10 MB #允許用戶下載的最大文件大小,以字節為單位。默認設置0表示不進行限制

maximum_object_size 4096 KB? #允許保存到緩存空間的最大對象大小,以KB為單位,超過大小限制的文件將

? ? #不被存儲,而是直接轉發給用戶

在防火墻添加允許策略:

[root@promote run]# iptables -F #清除防火墻filter表中規則

[root@promote run]# setenforce 0? ?#關閉增強安全xxx

[root@promote run]# iptables -I INPUT -p tcp --dport 3218 -j ACCEPT

#這句策略就是允許訪問3218端口的tcp數據包通過

[root@promote run]#service squid reload #重新加載服務配置

客戶機的代理配置,在IE瀏覽器中,選擇"工具"->"Internet選項",然后彈出的"Internet選項"對話框,在"連接"選項中的"局域網(LAN)設置"選項組中單機"局域網設置"按鈕,彈出"局域網(LAN)設置"對話框,設置如下:

開啟web服務器的httpd服務

使用192.168.58.130這臺虛擬機訪問192.168.58.156,訪問成功,查看web服務器的訪問日志,查看是哪個ip地址訪問的,如果是代理服務器ip訪問的話,說明傳統代理部署成功。

的確是代理服務器訪問的,說明傳統代理部署成功。

透明代理

透明代理提供的服務功能與傳統代理一致的,但是其“透明”的實現依賴于默認路由和防火墻重定向策略。因此更適用于為局域網主機服務,而不適合Internet中的客戶機提供服務。

針對下面的拓撲,透明代理的關鍵在于Linux網關服務器,對于客戶機僅需要正確配置網絡地址和默認網關,并不需要指定代理服務器,拓撲圖如下:

首先設置Squid代理服務器的雙網卡配置。

然后修改squid配置文件,主要修改http_port,這里和4.1版本前的修改方法不太一樣,若和以前一樣,服務會無法啟動,而且查看/usr/local/squid/var/logs/cache.log日志,會發現會有報錯。

這里需要換種方式,因為可能4.1版本透明代理默認就是3128,那么3128端口就會被占用,無法再做透明代理,這里的方法就是重新使用一個端口,專門用來做透明代理,配置方法如下圖,然后重啟服務。

開啟防火墻路由轉發功能以及重定向策略。路由轉發功能只需要在/etc/sysctl寫入net.ipv4.ip_forward=1,再刷新配置文件即可。

[root@localhost ~]# vim /etc/sysctl.conf?
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# !v
vim /etc/sysctl.conf?

接著設置iptables重定向策略。

[root@localhost ~]# iptables -F #清空防火墻filter表中策略 [root@localhost ~]# iptables -F -t nat #清空防火墻nat表中策略 [root@localhost ~]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3129 #將80端口(http)的請求重新定向到3128端口 [root@localhost ~]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3129 #將443端口(https)的請求重新定向到3128端口 [root@localhost ~]# iptables -I INPUT -p tcp --dport 3129 -j ACCEPT #允許來自192.168.100.0網段來自3129端口的tcp數據包通過

配置Web服務器的網卡信息。(配置好網關)

配置客戶端網卡信息。(一定要配置好網關)

都配置完后,驗證效果,訪問成功,我們再查看web服務器的access.log日志,檢查到底是哪個ip對web服務器訪問的。可以看到是12.0.0.1這個IP對即代理服務器的訪問記錄。

本篇先介紹到這里,下篇介紹Squid 4.1版本的額ACL控制訪問、日志分析和反向代理。就這樣!

?

轉自:https://blog.51cto.com/10693404/2149207

總結

以上是生活随笔為你收集整理的Squid-4.1(最新)安装及构建代理服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情av网站 | 日日骚av一区二区 | 精东传媒在线 | 亚洲天堂h | 天天看天天摸天天操 | 青草青草视频 | 无码av免费毛片一区二区 | 久久久久极品 | 色狠狠av老熟女 | 兄弟兄弟全集免费观看 | 亚洲国产精品毛片av不卡在线 | 污视频网址| 四虎影院在线视频 | 亚洲wwwwww| 亚洲午夜久久久久久久久久久 | 日韩综合久久 | 美女视频一区 | 羞羞影院体验区 | 日本一区欧美 | 亚洲精品成人无码毛片 | av激情在线观看 | 插插插av | 午夜视频在线免费观看 | 国产系列在线 | 国产色区 | 欧美大黑bbbbbbbbb在线 | 不卡的中文字幕 | 国产成人免费 | 自慰无码一区二区三区 | 国产成人欧美一区二区三区的 | 美女被草视频 | 亚洲一区自拍偷拍 | 国精产品一区一区三区在线 | 黑人一区二区三区四区五区 | 成人亚洲免费 | 激情综合文学 | 十八禁视频网站在线观看 | 五月综合激情网 | 亚洲玖玖爱 | 亚洲αv | 秋霞精品| 在线免费观看av网址 | 国产h自拍 | 中日韩午夜理伦电影免费 | 国产精品黄视频 | 在线免费看av的网站 | 免费拍拍拍网站 | 国产高清视频在线观看 | 法国性xxxx精品hd | 中国毛片网站 | 伊人色av | 欧美日韩国产精品成人 | 欧美巨大另类极品videosbest | 中文字幕免费在线看线人动作大片 | 一级黄色毛毛片 | 久久久久亚洲av无码网站 | 在线毛片观看 | 在线不卡欧美 | 爱爱视频欧美 | 无码粉嫩虎白一线天在线观看 | 日韩三级一区二区三区 | 久青草视频在线 | 日本一区二区免费在线观看 | 国产精品扒开腿做爽爽爽视频 | 日日摸夜夜添狠狠添久久精品成人 | 日噜 | 91国产中文字幕 | 精品国产九九九 | 影音先锋亚洲成aⅴ人在 | 色呦网站| 日本va在线| 先锋影音制服丝袜 | 日韩精品亚洲精品 | 国产学生美女无遮拦高潮视频 | 极品少妇在线观看 | 青青草五月天 | 97操碰| 九七伦理电影 | 成人免费视频观看 | 欧美 日韩 人妻 高清 中文 | 91精产国品一二三区在线观看 | 成人在线视频观看 | 色播99| 人妻少妇精品中文字幕av蜜桃 | jizz免费视频| 91精品视频免费在线观看 | 国产女同91疯狂高潮互磨 | 国产高清日韩 | 国产精品网站视频 | 国产91在线高潮白浆在线观看 | 贝利弗山的秘密1985版免费观看 | 国产精品无码电影在线观看 | 久久夜色精品亚洲 | 麻豆系列在线观看 | 美日韩黄色片 | 黄色成人小视频 | 久久精品中文 | 久久久久久免费精品 | 成人淫片|