<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • 在CentOS7上部署squid緩存服務器及代理功能-創(chuàng)新互聯(lián)

            緩存代理概述:

            作為應用層的代理服務軟件,squid主要提供緩存加速和應用層過濾控制的功能。

            專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)鹽山免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
            代理的基本類型:
            • 傳統(tǒng)代理:也就是普通的代理服務,首先必須在客戶機的瀏覽器、聊天工具、下載軟件等程序中手動設置代理服務器的地址和端口,然后才能使用代理服務來訪問網(wǎng)絡。對于網(wǎng)頁瀏覽器,訪問網(wǎng)站時的域名解析請求也會發(fā)送給指定的代理服務器。
            • 透明代理:提供與傳統(tǒng)代理相同的功能和服務,其區(qū)別在于客戶端不需要指定代理服務器的地址和端口,而是通過默認路由、防火墻策略將Web訪問重定向,實際上仍然交給代理服務器來處理。重定向的過程對客戶機來說是“透明”的,用戶甚至不知道自己在使用代理服務,所以稱為“透明代理”。

            實驗環(huán)境表:
            在CentOS7上部署squid緩存服務器及代理功能

            安裝及運行控制

            1.編譯安裝Squid

            配置Squid的編譯選項時,將安裝目錄設置為/usr/local/squid,其他具體選項根據(jù)實際需要來確定,配置前可參考./configure --help給出的說明。

            tar zxvf squid-3.4.6.tar.gz -C /opt/
            cd /opt/squid-3.4.6
            ./configure --prefix=/usr/local/squid \       #安裝目錄
            --sysconfdir=/etc \                           #單獨將配置文件修改到其他目錄
            --enable-arp-acl \                            #直接通過客戶端MAC進行管理,防止客戶端使用IP欺騙                           
            --enable-linux-netfilter \                    #使用內核過濾
            --enable-linux-tproxy \                       #支持透明模式
            --enable-async-io=100 \                       #異步I/O,提升存儲性能。
            --enable-err-language="Simplify_Chinese" \    #錯誤信息的顯示語言
            --enable-underscore \                         #允許URL中有下劃線
            --enable-poll \                               #使用poll()模式,提升性能。
            --enable-gnuregex                             #使用GNU正則表達式
            
            make && make install

            安裝完成后,創(chuàng)建鏈接文件、創(chuàng)建用戶和組。

            ln -s /usr/local/squid/sbin/* /usr/local/sbin/
            useradd -M -s /sbin/nologin squid
            chown -R squid.squid /usr/local/squid/var/

            2.squid的配置文件

            squid服務的配置文件位于/etc/squid.conf,充分了解配置行的作用將有助于管理員根據(jù)實際情況靈活地配置代理服務。

            vim /etc/squid.conf
            http_port 3128                    #用來指定代理服務監(jiān)聽的地址和端口(默認端口號為3128)
            cache_effective_user squid        #添加   指定程序用戶
            cache_effective_group squid       #添加   指定賬號基本組

            3.squid運行控制

            (1)檢查配置文件的語法是否正確

            squid -k parse

            (2)啟動、停止squid

            第一次啟動squid服務時,會自動初始化緩存目錄。在沒有可用的squid服務器腳本的情況下,也可以直接調用squid程序來啟動服務,這時需要先進行初始化。

            squid -z   //初始化緩存目錄
            squid    //啟動服務

            (3)使用squid服務腳本

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

            cd /etc/init.d/
            vim 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" in
               start)
                 netstat -natp | grep squid &> /dev/null
                 if [ $? -eq 0 ]
                 then
                   echo "squid is running"
                   else
                   echo "正在啟動 squid..."
                   $CMD
                 fi
               ;;
               stop)
                 $CMD -k kill &> /dev/null
                 rm -rf $PID &> /dev/null
               ;;
               status)
                 [ -f $PID ] &> /dev/null
                    if [ $? -eq 0 ]
                      then
                        netstat -natp | grep squid
                      else
                        echo "squid is not running"
                    fi
               ;;
               restart)
                  $0 stop &> /dev/null
                  echo "正在關閉 squid..."
                     $0 start &> /dev/null
                  echo "正在啟動 squid..."
               ;;
               reload)
                  $CMD -k reconfigure
               ;;
               check)
                  $CMD -k parse
               ;;
               *)
                  echo "用法:$0{start|stop|status|reload|check|restart}"
               ;;
            esac
            
            chmod +x squid
            
            chkconfig --add squid       #添加為系統(tǒng)服務
            chkconfig --level 35 squid on
            傳統(tǒng)代理

            1.squid服務器的配置

            配置squid實現(xiàn)傳統(tǒng)代理服務時,需要注意添加http_access allowall訪問策略,以便允許任意客戶機使用代理服務。

            1)修改squid.conf配置文件

            [root@localhost init.d]# vim /etc/squid.conf
            http_access allow all
            http_access deny all
            http_port 3128
            cache_mem 64 MB                   #指定緩存功能所使用的內存空間大小,便于保持訪問較頻繁的WEB對象,容量最好為4的倍數(shù),單位為MB,建議設為物理內存的1/4
            reply_body_max_size 10 MB         #允許用戶下載的大文件大小,以字節(jié)為單位。默認設置0表示不進行限制
            maximum_object_size 4096 KB       #允許保存到緩存空間的大對象大小,以KB為單位,超過大小限制的文件將不被緩存,而是直接轉發(fā)給用戶

            2)在防火墻上添加允許策略:

            [root@localhost init.d]# iptables -F
            [root@localhost init.d]# setenforce 0
            [root@localhost init.d]# iptables -I INPUT -p tcp --dport 3218 -j ACCEPT
            
            [root@localhost init.d]# service squid reload    #重新加載

            2.客戶機的代理配置

            在Windows系統(tǒng)中開啟瀏覽器
            Internet選項---》連接----》局域網(wǎng)設置----ip:squid服務器地址 端口:3128
            地址欄輸入web服務器地址。
            在CentOS7上部署squid緩存服務器及代理功能
            3.代理服務器的驗證

            在客戶機中通過瀏覽器訪問目標Web服務器網(wǎng)站http://192.168.126.178/,然后觀察squid代理服務器,Web服務器的訪問日志,以驗證代理服務是否發(fā)揮作用。
            在CentOS7上部署squid緩存服務器及代理功能
            1)查看squid訪問日志的新增記錄

            在squid代理服務器中,通過跟蹤squid服務的訪問日志文件,應該能夠發(fā)現(xiàn)客戶機192.168.126.177訪問網(wǎng)站服務器192.168.126.178的記錄。

            [root@localhost init.d]# tail /usr/local/squid/var/logs/access.log 
            1532758490.972      5 192.168.126.177 TCP_MISS/404 512 GET http://192.168.126.178/noindex/css/fonts/Light/OpenSans-Light.eot? - HIER_DIRECT/192.168.126.178 text/html
            1532758490.974      5 192.168.126.177 TCP_MISS/404 524 GET http://192.168.126.178/noindex/css/fonts/LightItalic/OpenSans-LightItalic.eot? - HIER_DIRECT/192.168.126.178 text/html

            2)查看Web訪問日志的新增記錄

            在被訪問的Web服務器中,通過跟蹤httpd服務器的訪問日志文件,應該能夠發(fā)現(xiàn)來在代理服務器192.168.126.138的訪問記錄。說明當前客戶機使用代理后,Web服務器并不知道客戶機的真實地址,實際上是由代理服務器在替它訪問。

            [root@localhost ~]# cd /etc/httpd/logs/
            [root@localhost logs]# ls
            access_log  error_log
            [root@localhost logs]# cat access_log 
            192.168.126.138 - - [28/Jul/2018:14:14:50 +0800] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"      //
            透明代理

            1.配置Squid支持透明代理

            1)在squid代理服務器上添加雙網(wǎng)卡,分別是內網(wǎng)地址192.168.100.1和外網(wǎng)地址12.0.0.1。Web服務器地址改為12.0.0.12外網(wǎng)地址,客戶端地址改為192.168.100.100內網(wǎng)地址。

            [root@localhost network-scripts]# ifconfig 
            ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500     #內網(wǎng)地址
                    inet 192.168.100.1  netmask 255.255.255.0  broadcast 192.168.100.255
            ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500     #外網(wǎng)地址
                    inet 12.0.0.1  netmask 255.255.255.0  broadcast 12.0.0.255

            2)修改squid的配置文件,在http_port配置上加上transparent(透明)選項,就可以支持透明代理了。

            [root@localhost network-scripts]# vim /etc/squid.conf
            http_port 192.168.100.1:3128 transparent   #只在其中一個IP地址上提供服務
            [root@localhost network-scripts]# service squid reload  

            2.設置iptables的重定向策略

            防火墻做重定向操作,將訪問本機80、443端口的請求重定向到3128端口

            [root@localhost network-scripts]# iptables -F
            [root@localhost network-scripts]# iptables -F -t nat   #清除防火墻規(guī)則
            [root@localhost network-scripts]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
            [root@localhost network-scripts]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
            [root@localhost network-scripts]# iptables -I INPUT -p tcp --dport 3218 -j ACCEPT

            3.驗證透明代理

            在客戶機192.168.100.100中通過瀏覽器訪問目標網(wǎng)站http://12.0.0.12/,然后觀察squid代理服務器、Web服務器的訪問日志,以驗證透明代理是否發(fā)揮作用。
            在CentOS7上部署squid緩存服務器及代理功能

            squid代理服務器的訪問日志:
            [root@localhost network-scripts]# tail /usr/local/squid/var/logs/access.log 
            1532761302.140      3 192.168.100.100 TCP_MISS/404 512 GET http://12.0.0.12/noindex/css/fonts/Light/OpenSans-Light.eot? - ORIGINAL_DST/12.0.0.12 text/html
            1532761302.143      2 192.168.100.100 TCP_MISS/404 524 GET http://12.0.0.12/noindex/css/fonts/LightItalic/OpenSans-LightItalic.eot? - ORIGINAL_DST/12.0.0.12 text/html
            1532761302.146      2 192.168.100.100 TCP_MISS/404 516 GET http://12.0.0.12/noindex/css/fonts/Regular/OpenSans-Regular.eot? - ORIGINAL_DST/12.0.0.12 text/html
            
            Web服務器的訪問日志:
            [root@localhost ~]# cd /var/log/httpd/
            [root@localhost httpd]# vim access_log 
            
            12.0.0.1 - - [28/Jul/2018:15:06:43 +0800] "GET /noindex/css/fonts/ExtraBold/OpenSans-ExtraBold.eot? HTTP/1.1" 404 248 "http://12.0.0.12/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"
            12.0.0.1 - - [28/Jul/2018:15:06:43 +0800] "GET /noindex/css/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot? HTTP/1.1" 404 260 "http://12.0.0.12/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"

            代理成功

            另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

            分享標題:在CentOS7上部署squid緩存服務器及代理功能-創(chuàng)新互聯(lián)
            網(wǎng)站URL:http://www.jbt999.com/article28/eoojp.html

            成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站策劃做網(wǎng)站、網(wǎng)站營銷微信公眾號、網(wǎng)站設計

            廣告

            聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

            網(wǎng)站托管運營

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 日本极品无码巨乳在线播放视频 | AV在线人妻 | 成人久久麻豆 | 国产永久免费无遮挡被操裸体美女 | 亚洲图色色 |