博文大綱
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的光明網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一、Squid服務(wù)概述
二、安裝及運(yùn)行控制
作為應(yīng)用層的代理服務(wù)軟件,Squid主要提供緩存加速、應(yīng)用層過(guò)濾控制的功能。
當(dāng)客戶(hù)機(jī)通過(guò)代理來(lái)請(qǐng)求Web頁(yè)面時(shí),指定的代理服務(wù)器會(huì)先檢查自己的緩存,如果緩存中已經(jīng)有客戶(hù)機(jī)需要的頁(yè)面,則直接將緩存中的頁(yè)面內(nèi)容反饋給客戶(hù)機(jī);如果緩存中沒(méi)有客戶(hù)機(jī)要訪問(wèn)的頁(yè)面,則由代理服務(wù)器向Internet發(fā)送訪問(wèn)請(qǐng)求,獲得返回的Web頁(yè)面以后,將網(wǎng)頁(yè)數(shù)據(jù)保存到緩存中并發(fā)送給客戶(hù)機(jī),如下圖所示:
由于客戶(hù)機(jī)的web訪問(wèn)請(qǐng)求實(shí)際上是squid代理服務(wù)器來(lái)代替完成的,從而可以隱藏了用戶(hù)的真實(shí)IP地址,起到一定的保護(hù)作用。另一方面,squid也可以針對(duì)要訪問(wèn)的目標(biāo)、客戶(hù)機(jī)的地址、訪問(wèn)的時(shí)間段進(jìn)行過(guò)濾控制。
傳統(tǒng)代理:也就是普通的代理服務(wù),需要我們客戶(hù)端在瀏覽器、聊天工具等一些程序中設(shè)置代理服務(wù)器的地址和端口,然后才能使用代理來(lái)訪問(wèn)網(wǎng)絡(luò),這種方式相比較而言比較麻煩,因?yàn)榭蛻?hù)機(jī)還需手動(dòng)指定代理服務(wù)器,所以一般用于Internet環(huán)境。
- 透明代理:與傳統(tǒng)代理實(shí)現(xiàn)的功能是一樣的,區(qū)別在于客戶(hù)機(jī)不需要手動(dòng)指定代理服務(wù)器的地址和端口,而是通過(guò)默認(rèn)路由、防火墻策略將web訪問(wèn)重定向,實(shí)際上仍然交給代理服務(wù)器來(lái)處理,重定向的過(guò)程完全是由squid服務(wù)器進(jìn)行的,所以對(duì)于客戶(hù)機(jī)來(lái)說(shuō),甚至不知道自己使用了squid代理服務(wù),因此呢,我們稱(chēng)之為透明模式。
透明代理多用于局域網(wǎng)環(huán)境,如在Linux網(wǎng)關(guān)中啟用透明代理后,局域網(wǎng)主機(jī)無(wú)須進(jìn)行額外設(shè)置就能享受更好的上網(wǎng)速度。
所需設(shè)備:
- Windows客戶(hù)端一臺(tái);IP地址:192.168.100.102
- linux客戶(hù)端一臺(tái);IP地址:192.168.100.10
- squid服務(wù)器一臺(tái); IP地址:192.168.100.20
- web服務(wù)器一臺(tái);IP地址:192.168.100.30
所需的鏡像請(qǐng)?jiān)L問(wèn):https://pan.baidu.com/s/1-3jN_z-JqWg2X1Bpz0SHUw
提取碼:ysxn
[root@centos03 ~]# yum -y install httpd
[root@centos03 ~]# cd /var/www/html/
[root@centos03 html]# ls -a
. ..
[root@centos03 html]# echo "www.accp.com" > index.html
[root@centos03 ~]# systemctl start httpd
[root@centos03 ~]# systemctl enable httpd
[root@centos01 ~]# yum -y install elinks
[root@centos01 ~]# elinks http://192.168.100.30
[root@centos02 ~]# mount /dev/cdrom /mnt/
[root@centos02 ~]# tar zxvf /mnt/squid-3.4.6.tar.gz -C /usr/src/
[root@centos02 squid-3.4.6]# ./configure --prefix=/usr/local/squid
--sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240
--enable-default-err-language-Simplify_Chinese --disable-poll
--enable-epoll --enable-gnuregex
[root@centos02 squid-3.4.6]# make && make install
上述配置項(xiàng)的具體作用如下:
- --prefix=/usr/local/squid :指定安裝目錄;
- --sysconfdir=/etc :?jiǎn)为?dú)將配置文件修改到其他目錄;
- --enable-linux-netfilter:使用內(nèi)核過(guò)濾;
- --enable-async-io=值:異步I/O,提升存儲(chǔ)性能;
- --enable-default-err-language=Simplify_Chinese :錯(cuò)誤信息顯示語(yǔ)言;
- --disable-poll 與--enable-epoll:關(guān)閉默認(rèn)使用poll模式,開(kāi)啟epoll模式提提升性能;
- --enable-gunregex:使用GUN正則表達(dá)式;
更多的配置項(xiàng)可以參考“./configure --help”;
安裝完成后,創(chuàng)建鏈接文件、創(chuàng)建用戶(hù)和組
[root@centos02 ~]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/
[root@centos02 ~]# useradd -M -s /sbin/nologin squid
[root@centos02 ~]# chown -R squid:squid /usr/local/squid/var/
4、修改squid主配置文件
[root@centos02 ~]# vim /etc/squid.conf
54 http_access allow all
60 http_port 3128
61 cache_effective_user squid
62 cache_effective_group squid
63 reply_body_max_size 10 MB
68 coredump_dir /usr/local/squid/var/cache/squid
[root@centos02 ~]# squid -k parse
[root@centos02 ~]# vim /etc/init.d/squid
#!/bin/bash
# chkconfig: 35 90 25
# config file:/etc/squid.conf
# pidfile: /usr/local/squid/var/run/squid.pid
# Description: Squid - Internet object cache.
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -anpt | grep squid &> /dev/null
if [ $? -eq 0 ]
then
echo "squid is running"
else
echo "正在啟動(dòng)squid..."
$CMD
fi
;;
stop)
$CMD -k kill &> /dev/null
rm -rf $PID &> /dev/null
echo "正在關(guān)閉squid..."
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
netstat -anpt | grep squid
else
echo "Squid is not running."
fi
;;
restart)
$0 stop &> /dev/null
echo "正在關(guān)閉squid..."
$0 start &> /dev/null
echo "正在啟動(dòng)squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
*)
echo "用法: $0 {start|stop|restart|reload|check|status}"
exit 1
;;
esac
[root@centos02 ~]# chmod +x /etc/init.d/squid
[root@centos02 ~]# chkconfig --add squid
[root@centos02 ~]# chkconfig --level 35 squid on
[root@centos02 ~]# /etc/init.d/squid start
正在啟動(dòng)squid...
現(xiàn)在基于傳統(tǒng)代理的squid代理服務(wù)器已經(jīng)配置完成了
[root@centos01 ~]# vim /etc/profile
HTTP_PROXY=http://192.168.100.20:3128
HTTPS_PROXY=http://192.168.100.20:3128
FTP_PROXY=http://192.168.100.20:3128
NO_PROXY=192.168.10.,192.168.20.
export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY
[root@centos01 ~]# source /etc/profile
[root@centos01 ~]# elinks http://192.168.100.30
[root@centos03 ~]# tail -f /var/log/httpd/access_log
192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)"
[root@centos03 ~]# tail -f /var/log/httpd/access_log
192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)"
192.168.100.20 - - [18/Nov/2019:05:18:03 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"
透明代理將在下一篇博文詳細(xì)配置,盡情期待?。?!
—————— 本文至此結(jié)束,感謝閱讀 ——————
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。