使用 Squid 部署代理緩存服務(wù)

一腾夯、代理緩存服務(wù)

? ??????Squid 是 Linux 系統(tǒng)中最為流行的一款高性能代理服務(wù)軟件,通常用作 Web 網(wǎng)站的前置緩存服務(wù)披蕉,能夠代替用戶向網(wǎng)站服務(wù)器請(qǐng)求頁(yè)面數(shù)據(jù)并進(jìn)行緩存猿挚。簡(jiǎn)單來(lái)說(shuō),Squid 服務(wù)程序會(huì)按照收到的用戶請(qǐng)求向網(wǎng)站源服務(wù)器請(qǐng)求頁(yè)面蝶涩、圖片等所需的數(shù)據(jù)理朋,并將服務(wù)器返回的數(shù)據(jù)存儲(chǔ)在運(yùn)行 Squid 服務(wù)程序的服務(wù)器上情臭。當(dāng)有用戶再請(qǐng)求相同的數(shù)據(jù)時(shí)引几,則可以直接將存儲(chǔ)服務(wù)器本地的數(shù)據(jù)交付給用戶岛啸,這樣不僅減少了用戶的等待時(shí)間蔗崎,還緩解了網(wǎng)站服務(wù)器的負(fù)載壓力馒稍。

? ??????Squid 服務(wù)程序具有配置簡(jiǎn)單撕瞧、效率高于样、功能豐富等特點(diǎn)屡律,它能支持 HTTP挪圾、FTP浅萧、SSL等多種協(xié)議的數(shù)據(jù)緩存,可以基于訪問(wèn)控制列表(ACL)和訪問(wèn)權(quán)限列表(ARL)執(zhí)行內(nèi)容過(guò)濾與權(quán)限管理功能洛史,還可以基于多種條件禁止用戶訪問(wèn)存在威脅或不適宜的網(wǎng)站資源惯殊,因此可以保護(hù)企業(yè)內(nèi)網(wǎng)的安全,提升用戶的網(wǎng)絡(luò)體驗(yàn)也殖,幫助節(jié)省網(wǎng)絡(luò)帶寬土思。

? ??????由于緩存代理服務(wù)不但會(huì)消耗服務(wù)器較多的 CPU 計(jì)算性能、內(nèi)存以及硬盤(pán)等硬件資源忆嗜,同時(shí)還需要較大的網(wǎng)絡(luò)帶寬來(lái)保障數(shù)據(jù)的傳輸效率己儒,由此會(huì)造成較大的網(wǎng)絡(luò)帶寬開(kāi)銷。因此國(guó)內(nèi)很多 IDC 或 CDN 服務(wù)提供商會(huì)將緩存代理節(jié)點(diǎn)服務(wù)器放置在二三線城市以降低運(yùn)營(yíng)成本捆毫。

? ??????在使用 Squid 服務(wù)程序?yàn)橛脩籼峁┚彺娲矸?wù)時(shí)闪湾,具有正向代理模式和反向代理模式之分。

? ??????所謂正向代理模式绩卤,是指讓用戶通過(guò) Squid 服務(wù)程序獲取網(wǎng)站頁(yè)面等資源途样,以及基于訪問(wèn)控制列表(ACL)功能對(duì)用戶訪問(wèn)網(wǎng)站行為進(jìn)行限制江醇,在具體的服務(wù)方式上又分為標(biāo)準(zhǔn)代理模式與透明代理模式。標(biāo)準(zhǔn)正向代理模式是把網(wǎng)站數(shù)據(jù)緩存到服務(wù)器本地何暇,提高數(shù)據(jù)資源被再次訪問(wèn)時(shí)的效率陶夜,但是用戶在上網(wǎng)時(shí)必須在瀏覽器等軟件中填寫(xiě)代理服務(wù)器的 IP 地址與端口號(hào)信息,否則默認(rèn)不使用代理服務(wù)裆站。而透明正向代理模式的作用與標(biāo)準(zhǔn)正向代理模式基本相同条辟,區(qū)別是用戶不需要手動(dòng)指定代理服務(wù)器的 IP 地址與端口號(hào),所以這種代理服務(wù)對(duì)于用戶來(lái)講是相對(duì)透明的宏胯。

? ??????使用 Squid 服務(wù)程序提供正向代理服務(wù)的拓?fù)淙鐖D所示羽嫡。局域網(wǎng)內(nèi)的主機(jī)如果想要訪問(wèn)外網(wǎng), 則必須要通過(guò) Squid 服務(wù)器提供的代理才行肩袍,這樣當(dāng) Squid 服務(wù)器接收到用戶的指令后會(huì)向外部發(fā)出請(qǐng)求杭棵,然后將接收到的數(shù)據(jù)交還給發(fā)出指令的那個(gè)用戶,從而實(shí)現(xiàn)了用戶的代理上網(wǎng)需求了牛。另外颜屠,從拓?fù)鋱D中也不難看出,企業(yè)中的主機(jī)要想上網(wǎng)鹰祸,就必須要經(jīng)過(guò)公司的網(wǎng)關(guān)服務(wù)器甫窟,既然這是一條流量的必經(jīng)之路,因此企業(yè)一般還會(huì)把 Squid 服務(wù)程序部署到公司服務(wù)器位置蛙婴,并通過(guò)稍后講到的 ACL(訪問(wèn)控制列表)功能對(duì)企業(yè)內(nèi)員工進(jìn)行上網(wǎng)審計(jì)及限制粗井。

Squid 服務(wù)程序提供正向代理服務(wù)

? ??????反向代理模式是指讓多臺(tái)節(jié)點(diǎn)主機(jī)反向緩存網(wǎng)站數(shù)據(jù),從而加快用戶訪問(wèn)速度街图。因?yàn)橐话銇?lái)講浇衬,網(wǎng)站中會(huì)普遍加載大量的文字、圖片等靜態(tài)資源餐济,而且它們相對(duì)來(lái)說(shuō)都是比較穩(wěn)定的數(shù)據(jù)信息耘擂,當(dāng)用戶發(fā)起網(wǎng)站頁(yè)面中這些靜態(tài)資源的訪問(wèn)請(qǐng)求時(shí),我們可以使用 Squid 服務(wù)程序提供的反向代理模式來(lái)進(jìn)行響應(yīng)絮姆。而且醉冤,如果反向代理服務(wù)器中恰巧已經(jīng)有了用戶要訪問(wèn)的靜態(tài)資源,則直接將緩存的這些靜態(tài)資源發(fā)送給用戶篙悯,這不僅可以加快用戶的網(wǎng)站訪問(wèn)速度蚁阳,還在一定程度上降低了網(wǎng)站服務(wù)器的負(fù)載壓力。

? ??????使用 Squid 服務(wù)程序提供反向代理服務(wù)的拓?fù)淙鐖D所示鸽照。當(dāng)外網(wǎng)用戶嘗試訪問(wèn)某個(gè)網(wǎng)站時(shí)螺捐,實(shí)際請(qǐng)求是被 Squid 服務(wù)器所處理的。反向代理服務(wù)器會(huì)將緩存好的靜態(tài)資源更快地交付給外網(wǎng)用戶,從而加快了網(wǎng)站頁(yè)面被用戶訪問(wèn)的速度定血。并且由于網(wǎng)站頁(yè)面數(shù)據(jù)中的靜態(tài)資源請(qǐng)求已被 Squid 服務(wù)器處理赔癌,因此網(wǎng)站服務(wù)器負(fù)責(zé)動(dòng)態(tài)數(shù)據(jù)查詢就可以了,也進(jìn)而降低了服務(wù)器機(jī)房中網(wǎng)站服務(wù)器的負(fù)載壓力澜沟。

Squid 服務(wù)程序提供的反向代理模式

? ? ? ? ? ? ? ? 總結(jié)來(lái)說(shuō)届榄,正向代理模式一般用于企業(yè)局域網(wǎng)之中,讓企業(yè)用戶統(tǒng)一地通過(guò) Squid 服務(wù)訪問(wèn)互聯(lián)網(wǎng)資源倔喂,這樣不僅可以在一定程度上減少公網(wǎng)帶寬的開(kāi)銷,而且還能對(duì)用戶訪問(wèn)的網(wǎng)站內(nèi)容進(jìn)行監(jiān)管限制靖苇,一旦內(nèi)網(wǎng)用戶訪問(wèn)的網(wǎng)站內(nèi)容與禁止規(guī)則相匹配席噩,就會(huì)自動(dòng)屏蔽網(wǎng)站。反向代理模式一般是為大中型網(wǎng)站提供緩存服務(wù)的贤壁,它把網(wǎng)站中的靜態(tài)資源保存在國(guó)內(nèi)多個(gè)節(jié)點(diǎn)機(jī)房中悼枢,當(dāng)有用戶發(fā)起靜態(tài)資源的訪問(wèn)請(qǐng)求時(shí),可以就近為用戶分配節(jié)點(diǎn)并傳輸資源脾拆,因此在大中型網(wǎng)站中得到了普遍應(yīng)用馒索。

二、配置 Squid 服務(wù)程序

? ??????Squid 服務(wù)程序的配置步驟雖然十分簡(jiǎn)單名船,但依然需要為大家交代一下實(shí)驗(yàn)所需的設(shè)備以及相應(yīng)的設(shè)置绰上。首先需要準(zhǔn)備兩臺(tái)虛擬機(jī),一臺(tái)用作 Squid 服務(wù)器渠驼,另外一臺(tái)用作 Squid 客戶端蜈块,后者無(wú)論是 Windows 系統(tǒng)還是 Linux 系統(tǒng)皆可(本實(shí)驗(yàn)中使用的是 Windows 7 操作系統(tǒng)) 。為了能夠相互通信迷扇,需要將這兩臺(tái)虛擬機(jī)都設(shè)置為僅主機(jī)模式(Hostonly) 百揭,然后關(guān)閉其中一臺(tái)虛擬機(jī)的電源,在添加一塊新的網(wǎng)卡后開(kāi)啟電源蜓席,如圖所示器一。

在其中一臺(tái)虛擬機(jī)中添加一塊新網(wǎng)卡

? ??????需要注意的是,這塊新添加的網(wǎng)卡設(shè)備必須選擇為橋接模式厨内,否則這兩臺(tái)虛擬機(jī)都無(wú)法訪問(wèn)外網(wǎng)祈秕。按照表配置這兩臺(tái)虛擬機(jī)的 IP 地址。

? ??????主機(jī)名稱? ? ? ? ? ? ? ? ? ? 操作系統(tǒng)? ? ? ? ? ? ? ? ? ? ? ? IP地址

????????Squid 服務(wù)器 ???????????? RHEL 7????????????????????????????外網(wǎng)卡:橋接 DHCP 模式

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????內(nèi)網(wǎng)卡:192.168.10.10

????????Squid 客戶端? ????????????Windows 7? ????????????????????192.168.10.20

? ??????這樣一來(lái)隘庄,我們就有了一臺(tái)既能訪問(wèn)內(nèi)網(wǎng)踢步,又能訪問(wèn)外網(wǎng)的虛擬機(jī)了。一會(huì)兒需要把 Squid 服務(wù)程序部署在這臺(tái)虛擬機(jī)上丑掺, 然后讓另外一臺(tái)原本只能訪問(wèn)內(nèi)網(wǎng)的虛擬機(jī) (即Squid 客戶端)通過(guò) Squid 服務(wù)器進(jìn)行代理上網(wǎng)获印,從而使得 Squid 客戶端也能訪問(wèn)外部網(wǎng)站。

? ??????另外,我們還需要檢查 Squid 服務(wù)器是否已經(jīng)可以成功訪問(wèn)外部網(wǎng)絡(luò)兼丰〔C希可以 ping 一個(gè)外網(wǎng)域名進(jìn)行測(cè)試(手動(dòng)按下 Ctrl+c 鍵停止) 。

# ping www.linuxprobe.com

PING www.linuxprobe.com (162.159.211.33) 56(84) bytes of data.

64 bytes from 162.159.211.33: icmp_seq=1 ttl=45 time=166 ms

64 bytes from 162.159.211.33: icmp_seq=2 ttl=45 time=168 ms

64 bytes from 162.159.211.33: icmp_seq=3 ttl=45 time=167 ms

64 bytes from 162.159.211.33: icmp_seq=4 ttl=45 time=166 ms

^C

--- www.linuxprobe.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3006ms

rtt min/avg/max/mdev = 166.361/167.039/168.109/0.836 ms

? ??????當(dāng)配置好 Yum 軟件倉(cāng)庫(kù)并掛載好設(shè)備鏡像后鳍征,就可以安裝 Squid 服務(wù)程序了黍翎。

# yum install squid

Loaded plugins: langpacks, product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use

subscription-manager to register.

rhel | 4.1 kB 00:00

Resolving Dependencies

--> Running transaction check

………………省略部分輸出信息………………

Installed:

squid.x86_64 7:3.3.8-11.el7

Dependency Installed:

libecap.x86_64 0:0.2.0-8.el7

perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7

perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7

perl-DBI.x86_64 0:1.627-4.el7

perl-Data-Dumper.x86_64 0:2.145-3.el7

perl-Digest.noarch 0:1.17-245.el7

perl-Digest-MD5.x86_64 0:2.52-3.el7

perl-IO-Compress.noarch 0:2.061-2.el7

perl-Net-Daemon.noarch 0:0.48-5.el7

perl-PlRPC.noarch 0:0.2020-14.el7

Complete!

? ??????與之前配置過(guò)的服務(wù)程序大致類似, Squid 服務(wù)程序的配置文件也是存放在/etct 目錄下一個(gè)以服務(wù)名稱命名的目錄中艳丛。表羅列了一些常用的 Squid 服務(wù)程序配置參數(shù)匣掸,大家可以預(yù)先瀏覽一下。

? ??????參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?作用

http_port 3128? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 監(jiān)聽(tīng)的端口號(hào)

cache_mem 64M? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 內(nèi)存緩沖區(qū)的大小

cache_dir ufs /var/spool/squid 2000 16????256????????????硬盤(pán)緩沖區(qū)的大小

cache_effective_user squid? ????????????????????????????????????????????設(shè)置緩存的有效用戶

cache_effective_group squid? ????????????????????????????????????????設(shè)置緩存的有效用戶組

dns_nameservers [IP 地址]? ????????????????????????????????????????一般不設(shè)置氮双, 而是用服務(wù)器默認(rèn)的DNS 地址

cache_access_log /var/log/squid/access.log? ? ? ?????訪問(wèn)日志文件的保存路徑

cache_log /var/log/squid/cache.log? ????????????????????????緩存日志文件的保存路徑

visible_hostname linuxprobe.com? ????????????????????????????設(shè)置 Squid 服務(wù)器的名稱

三碰酝、正向代理

? ? ? ? 1.標(biāo)準(zhǔn)正向代理

? ??????Squid 服務(wù)程序軟件包在正確安裝并啟動(dòng)后,默認(rèn)就已經(jīng)可以為用戶提供標(biāo)準(zhǔn)正向代理模式服務(wù)了戴差,而不再需要單獨(dú)修改配置文件或者進(jìn)行其他操作送爸。接下來(lái)在運(yùn)行 Windows7 系統(tǒng)的客戶端上面打開(kāi)任意一款瀏覽器,然后單擊“Internet 選項(xiàng)”命令暖释,如圖所示袭厂。

# systemctl restart squid

# systemctl enable squid

ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.

target.wants/squid.service'

單擊瀏覽器中的“Internet 選項(xiàng)”命令

? ??????要想使用 Squid 服務(wù)程序提供的標(biāo)準(zhǔn)正向代理模式服務(wù),就必須在瀏覽器中填寫(xiě)服務(wù)器的 IP 地址以及端口號(hào)信息球匕。因此還需要在“連接”選項(xiàng)卡下單擊“局域網(wǎng)設(shè)置”按鈕(見(jiàn)左圖) 纹磺,并按照右圖所示填寫(xiě)代理服務(wù)器的信息,然后保存并退出配置向?qū)А?/p>

在“連接”選項(xiàng)卡中單擊“局域網(wǎng)設(shè)置”按鈕
填寫(xiě)代理服務(wù)器的IP 地址與端口號(hào)

? ??????現(xiàn)在谐丢,用戶可以使用 Squid 服務(wù)程序提供的代理服務(wù)了爽航。托代理服務(wù)器轉(zhuǎn)發(fā)的福,網(wǎng)卡被設(shè)置為僅主機(jī)模式(Hostonly)的虛擬機(jī)也能奇跡般地上網(wǎng)瀏覽了乾忱,如圖所示讥珍。

虛擬機(jī)可以正常網(wǎng)絡(luò)外網(wǎng)

? ??????如此公開(kāi)而沒(méi)有密碼驗(yàn)證的代理服務(wù)終歸讓人覺(jué)得不放心,萬(wàn)一有人也來(lái)“蹭網(wǎng)”該怎么辦呢窄瘟?Squid 服務(wù)程序默認(rèn)使用 3128衷佃、3401 與 4827 等端口號(hào),因此可以把默認(rèn)使用的端口號(hào)修改為其他值蹄葱,以便起到一定的保護(hù)作用∈弦澹現(xiàn)在大家應(yīng)該都知道,在 Linux 系統(tǒng)配置服務(wù)程序其實(shí)就是修改該服務(wù)的配置文件图云, 因此直接在/etc 目錄下的 Squid 服務(wù)程序同名目錄中找到配置文件惯悠,把 http_port 參數(shù)后面原有的 3128 修改為 10000,即把 Squid 服務(wù)程序的代理服務(wù)端口修改成了新值竣况。最后一定不要忘記重啟服務(wù)程序克婶。

# vim /etc/squid/squid.conf

………………省略部分輸出信息………………

45 #

46 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

47 #

48

49 # Example rule allowing access from your local networks.

50 # Adapt localnet in the ACL section to list your (internal) IP networks

51 # from where browsing should be allowed

52 http_access allow localnet

53 http_access allow localhost

54

55 # And finally deny all other access to this proxy

56 http_access deny all

57

58 # Squid normally listens to port 3128

59 http_ _port 10000

………………省略部分輸出信息………………

# systemctl restart squid

# systemctl enable squid

ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.

target.wants/squid.service'

? ??????有沒(méi)有突然覺(jué)得這一幕似曾相識(shí)?在講解基于端口號(hào)來(lái)部署 httpd 服務(wù)程序的虛擬主機(jī)功能時(shí),我們?cè)诰庉嬐?httpd 服務(wù)程序的配置文件并重啟服務(wù)程序后情萤,被系統(tǒng)提示報(bào)錯(cuò)鸭蛙。盡管現(xiàn)在重啟 Squid 服務(wù)程序后系統(tǒng)沒(méi)有報(bào)錯(cuò),但是用戶還不能使用代理服務(wù)筋岛。SElinux安全子系統(tǒng)認(rèn)為 Squid 服務(wù)程序使用 3128 端口號(hào)是理所當(dāng)然的娶视,因此在默認(rèn)策略規(guī)則中也是允許的, 但是現(xiàn)在 Squid 服務(wù)程序卻嘗試使用新的 10000 端口號(hào)睁宰, 而該端口原本并不屬于 Squid服務(wù)程序應(yīng)該使用的系統(tǒng)資源肪获,因此還需要手動(dòng)把新的端口號(hào)添加到 Squid 服務(wù)程序在SElinux 域的允許列表中。

# semanage port -l | grep squid_port_t

squid_port_t tcp 3128, 3401, 4827

squid_port_t udp 3401, 4827

# semanage port -a -t squid_port_t -p tcp 10000

# semanage port -l | grep squid_port_t

squid_port_t tcp 10000, 3128, 3401, 4827

squid_port_t udp 3401, 4827

? ? ? ? 2.ACL 訪問(wèn)控制

? ??????在日常工作中柒傻, 企業(yè)員工一般是通過(guò)公司內(nèi)部的網(wǎng)關(guān)服務(wù)器來(lái)訪問(wèn)互聯(lián)網(wǎng)贪磺, 當(dāng)將 Squid服務(wù)程序部署為公司網(wǎng)絡(luò)的網(wǎng)關(guān)服務(wù)器后,Squid 服務(wù)程序的訪問(wèn)控制列表(ACL)功能將發(fā)揮它的用武之地诅愚。它可以根據(jù)指定的策略條件來(lái)緩存數(shù)據(jù)或限制用戶的訪問(wèn)。比如很多公司會(huì)分時(shí)段地禁止員工逛淘寶劫映、打網(wǎng)頁(yè)游戲违孝,這些禁止行為都可以通過(guò) Squid 服務(wù)程序的 ACL 功能來(lái)實(shí)現(xiàn)。大家如果日后在人員流動(dòng)較大的公司中從事運(yùn)維工作泳赋,可以牢記本節(jié)內(nèi)容雌桑,在公司網(wǎng)關(guān)服務(wù)器上部署的 Squid 服務(wù)程序中添加某些策略條件,禁止員工訪問(wèn)某些招聘網(wǎng)站或競(jìng)爭(zhēng)對(duì)手的網(wǎng)站祖今,沒(méi)準(zhǔn)還能有效降低員工的流失率校坑。

? ??????Squid 服務(wù)程序的 ACL 是由多個(gè)策略規(guī)則組成的,它可以根據(jù)指定的策略規(guī)則來(lái)允許或限制訪問(wèn)請(qǐng)求千诬,而且策略規(guī)則的匹配順序與防火墻策略規(guī)則一樣都是由上至下耍目;在一旦形成匹配之后,則立即執(zhí)行相應(yīng)操作并結(jié)束匹配過(guò)程徐绑。為了避免 ACL 將所有流量全部禁止或全部放行邪驮,起不到預(yù)期的訪問(wèn)控制效果,運(yùn)維人員通常會(huì)在 ACL 的最下面寫(xiě)上 deny all 或者 allowall 語(yǔ)句傲茄,以避免安全隱患毅访。

? ? ? ? 實(shí)驗(yàn)1:允許IP地址為192.168.1.146的客戶端使用服務(wù)器上的Squid服務(wù)程序提借的代理服務(wù),禁止其余的所有主機(jī)請(qǐng)求盘榨。

? ??????下面的配置文件依然是 Squid 服務(wù)程序的配置文件喻粹,但是需要留心配置參數(shù)的填寫(xiě)位置。如果寫(xiě)的太靠前草巡,則有些 Squid 服務(wù)程序自身的語(yǔ)句都沒(méi)有加載完守呜,也會(huì)導(dǎo)致策略無(wú)效。當(dāng)然也不用太靠后,大約在 26~32 行的位置就可以弛饭,而且采用分行填寫(xiě)的方式也便于日后的修改冕末。

# vim /etc/squid/squid.conf

1 #

2 # Recommended minimum configuration:

3 #

4

5 # Example rule allowing access from your local networks.

6 # Adapt to list your (internal) IP networks from where browsing

7 # should be allowed

8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network

9 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network

10 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

11 acl localnet src fc00::/7 # RFC 4193 local private network range

12 acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) mac hines

13

14 acl SSL_ports port 443

15 acl Safe_ports port 80 # http

16 acl Safe_ports port 21 # ftp

17 acl Safe_ports port 443 # https

18 acl Safe_ports port 70 # gopher

19 acl Safe_ports port 210 # wais

20 acl Safe_ports port 1025-65535 # unregistered ports

21 acl Safe_ports port 280 # http-mgmt

22 acl Safe_ports port 488 # gss-http

23 acl Safe_ports port 591 # filemaker

24 acl Safe_ports port 777 # multiling http

25 acl CONNECT method CONNECT

26 acl client src 192.168.1.145

27 #

28 # Recommended minimum Access Permission configuration:

29 #

30 # Deny requests to certain unsafe ports

31 http_ _access allow client

32 http_ _access deny all

33 http_access deny !Safe_ports

34

………………省略部分輸出信息………………

# systemctl restart squid

? ??????上面的配置參數(shù)其實(shí)很容易理解。首先定義了一個(gè)名為 client 的別名侣颂。這其實(shí)類似于DNS 分離解析技術(shù)档桃,當(dāng)時(shí)我們分別定義了兩個(gè)名為 china 與 american 的別名變量,這樣當(dāng)再遇到這個(gè)別名時(shí)也就意味著與之定義的 IP 地址了憔晒。保存配置文件后重啟Squid 服務(wù)程序藻肄,這時(shí)由于客戶端主機(jī)的 IP 地址不符合我們的允許策略而被禁止使用代理服務(wù),如圖所示拒担。

使用代理服務(wù)瀏覽網(wǎng)頁(yè)失敗

? ? ? ? 實(shí)驗(yàn)2:禁止所有客戶端訪問(wèn)網(wǎng)址中包含linux關(guān)鍵詞的網(wǎng)站嘹屯。

? ??????Squid 服務(wù)程序的這種 ACL 功能模式是比較粗獷暴力的,客戶端訪問(wèn)的任何網(wǎng)址中只要包含了某個(gè)關(guān)鍵詞就會(huì)被立即禁止訪問(wèn)从撼,但是這并不影響訪問(wèn)其他網(wǎng)站州弟。

# vim /etc/squid/squid.conf

24 acl Safe_ports port 777 # multiling http

25 acl CONNECT method CONNECT

26 acl deny_ _keyword url_ _regex -i linux

27 #

28 # Recommended minimum Access Permission configuration:

29 #

30 # Deny requests to certain unsafe ports

31 http_ _access deny deny_ _keyword

33 http_access deny !Safe_ports

34

# systemctl restart squid

? ??????建議大家在進(jìn)行實(shí)驗(yàn)之前,一定要先把前面實(shí)驗(yàn)中的代碼清理干凈低零,以免不同的實(shí)驗(yàn)之間產(chǎn)生沖突婆翔。在當(dāng)前的實(shí)驗(yàn)中,我們直接定義了一個(gè)名為 deny_keyword 的別名掏婶,然后把所有網(wǎng)址帶有 linux 關(guān)鍵詞的網(wǎng)站請(qǐng)求統(tǒng)統(tǒng)拒絕掉啃奴。當(dāng)客戶端分別訪問(wèn)帶有 linux 關(guān)鍵詞和不帶有 linux 關(guān)鍵詞的網(wǎng)站時(shí),其結(jié)果如圖所示雄妥。


當(dāng)客戶端分別訪問(wèn)帶有 linux 關(guān)鍵詞和不帶 linux 關(guān)鍵詞的網(wǎng)站時(shí)最蕾,所呈現(xiàn)的結(jié)果

? ? ? ? 實(shí)驗(yàn)3:禁止所有客戶端訪問(wèn)某個(gè)特定的網(wǎng)站。

? ??????在實(shí)驗(yàn) 2 中老厌, 由于我們禁止所有客戶端訪問(wèn)網(wǎng)址中包含 linux 關(guān)鍵詞的網(wǎng)站瘟则, 這將造成一大批網(wǎng)站被誤封,從而影響同事們的正常工作枝秤。其實(shí)通過(guò)禁止客戶端訪問(wèn)某個(gè)特定的網(wǎng)址壹粟,也就避免了誤封的行為。下面按照如下所示的參數(shù)配置 Squid 服務(wù)程序并重啟宿百,然后進(jìn)行測(cè)試趁仙,其測(cè)試結(jié)果如圖所示。

# vim /etc/squid/squid.conf

24 acl Safe_ports port 777 # multiling http

25 acl CONNECT method CONNECT

26 acl deny_ _url url_ _regex http://www.linuxcool.com

27 #

28 # Recommended minimum Access Permission configuration:

29 #

30 # Deny requests to certain unsafe ports

31 http_ _access deny deny_ _url

33 http_access deny !Safe_ports

34

# systemctl restart squid

無(wú)法使用代理服務(wù)訪問(wèn)這個(gè)特定的網(wǎng)站

????????實(shí)驗(yàn)4:禁止員工在企業(yè)網(wǎng)內(nèi)下載帶有某些后綴的文件垦页。

? ??????在企業(yè)網(wǎng)絡(luò)中雀费,總會(huì)有一小部分人利用企業(yè)網(wǎng)絡(luò)的高速帶寬私自下載資源(比如游戲安裝文件、 電影文件等) 痊焊, 從而對(duì)其他同事的工作效率造成影響盏袄。 通過(guò)禁止所有用戶訪問(wèn).rar 或.avi等后綴文件的請(qǐng)求忿峻,可以防止他們繼續(xù)下載資源,讓他們知難而退辕羽。下面按照如下所示的參數(shù)配置 Squid 服務(wù)程序并重啟逛尚,然后進(jìn)行測(cè)試,其測(cè)試結(jié)果如圖所示刁愿。

無(wú)法使用代理服務(wù)下載具有指定后綴的文件

24 acl Safe_ports port 777 # multiling http

25 acl CONNECT method CONNECT

26 acl badfile urlpath_ _regex -i \.rar$ \.avi$

27 #

28 # Recommended minimum Access Permission configuration:

29 #

30 # Deny requests to certain unsafe ports

31 http_ _access deny badfile

33 http_access deny !Safe_ports

34

# systemctl restart squid

????????注意:如果這些員工使用迅雷等P2P下載軟件來(lái)下載資料的話绰寞,就只能使用專業(yè)級(jí)的防火墻來(lái)禁止了。

? ? ? ? 3.透明正向代理

? ??????正向代理服務(wù)一般是針對(duì)企業(yè)內(nèi)部的所有員工設(shè)置的铣口,鑒于每位員工所掌握的計(jì)算機(jī)知識(shí)不盡相同滤钱,如果您所在的公司不是 IT 行業(yè)的公司,想教會(huì)大家如何使用代理服務(wù)也不是一件容易的事情脑题。再者件缸,無(wú)論是什么行業(yè)的公司,公司領(lǐng)導(dǎo)都希望能采取某些措施限制員工在公司內(nèi)的上網(wǎng)行為叔遂,這時(shí)就需要用到透明的正向代理模式了他炊。

? ??????“透明”二字指的是讓用戶在沒(méi)有感知的情況下使用代理服務(wù),這樣的好處是一方面不需要用戶手動(dòng)配置代理服務(wù)器的信息已艰,進(jìn)而降低了代理服務(wù)的使用門(mén)檻佑稠;另一方面也可以更隱秘地監(jiān)督員工的上網(wǎng)行為。

? ??????在透明代理模式中旗芬,用戶無(wú)須在瀏覽器或其他軟件中配置代理服務(wù)器地址、端口號(hào)等信息捆蜀,而是由 DHCP 服務(wù)器將網(wǎng)絡(luò)配置信息分配給客戶端主機(jī)疮丛。這樣只要用戶打開(kāi)瀏覽器便會(huì)自動(dòng)使用代理服務(wù)了。如果大家此時(shí)并沒(méi)有配置 DHCP 服務(wù)器辆它,可以像如圖所示來(lái)手動(dòng)配置客戶端主機(jī)的網(wǎng)卡參數(shù)誊薄。

配置 Windows 客戶端的網(wǎng)絡(luò)信息


? ? ? ? ?為了避免實(shí)驗(yàn)之間互相影響,更好地體驗(yàn)透明代理技術(shù)的效果锰茉,我們需要把客戶端瀏覽器的代理信息刪除 呢蔫,然后再刷新頁(yè)面,就會(huì)看到訪問(wèn)任何網(wǎng)站都失敗了飒筑,如圖所示片吊。

停止使用代理服務(wù)后無(wú)法成功訪問(wèn)網(wǎng)站

? ??????既然要讓用戶在無(wú)需過(guò)多配置系統(tǒng)的情況下就能使用代理服務(wù),作為運(yùn)維人員就必須提前將網(wǎng)絡(luò)配置信息與數(shù)據(jù)轉(zhuǎn)發(fā)功能配置好协屡。前面已經(jīng)配置好的網(wǎng)絡(luò)參數(shù)俏脊,接下來(lái)要使用 SNAT 技術(shù)完成數(shù)據(jù)的轉(zhuǎn)發(fā),讓客戶端主機(jī)將數(shù)據(jù)交給 Squid 代理服務(wù)器肤晓,再由后者轉(zhuǎn)發(fā)到外網(wǎng)中爷贫。簡(jiǎn)單來(lái)說(shuō)认然,就是讓 Squid 服務(wù)器作為一個(gè)中間人,實(shí)現(xiàn)內(nèi)網(wǎng)客戶端主機(jī)與外部網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸漫萄。

? ??????由于當(dāng)前還沒(méi)有部署 SNAT 功能卷员,因此當(dāng)前內(nèi)網(wǎng)中的客戶端主機(jī)是不能訪問(wèn)外網(wǎng)的:

C:\Users\linuxprobe>ping www.linuxprobe.com

ping 請(qǐng)求找不到主機(jī) www.linuxprobe.com。請(qǐng)檢查該名稱腾务,然后重試毕骡。

? ??????前面已經(jīng)介紹了 iptables 與 firewalld 防火墻理論知識(shí)以及策略規(guī)則的配置方法,大家可以任選其中一款完成接下來(lái)的實(shí)驗(yàn)窑睁。覺(jué)得 firewalld 防火墻實(shí)在太簡(jiǎn)單了挺峡,因此決定使用純命令行的 iptables 防火墻管理工具來(lái)演示部署方法。

? ??????要想讓內(nèi)網(wǎng)中的客戶端主機(jī)能夠訪問(wèn)外網(wǎng)担钮, 客戶端主機(jī)首先要能獲取到 DNS 地址解析服務(wù)的數(shù)據(jù)橱赠,這樣才能在互聯(lián)網(wǎng)中找到對(duì)應(yīng)網(wǎng)站的 IP 地址。下面通過(guò) iptables 命令實(shí)現(xiàn) DNS 地址解析服務(wù) 53 端口的數(shù)據(jù)轉(zhuǎn)發(fā)功能箫津,并且允許 Squid 服務(wù)器轉(zhuǎn)發(fā) IPv4 數(shù)據(jù)包狭姨。sysctl -p 命令的作用是讓轉(zhuǎn)發(fā)參數(shù)立即生效:

# iptables -F

# iptables -t nat -A POSTROUTING -p udp --dport 53 -o

eno33554968 -j MASQUERADE

# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

# sysctl -p

net.ipv4.ip_forward = 1

? ??????現(xiàn)在回到客戶端主機(jī),再次 ping 某個(gè)外網(wǎng)地址苏遥。此時(shí)可以發(fā)現(xiàn)饼拍,雖然不能連通網(wǎng)站,但是此時(shí)已經(jīng)能夠獲取到外網(wǎng) DNS 服務(wù)的域名解析數(shù)據(jù)田炭。 這個(gè)步驟非常重要师抄, 為接下來(lái)的 SNAT技術(shù)打下了扎實(shí)的基礎(chǔ)。

C:\Users\linuxprobe>ping www.linuxprobe.com

正在 ping www.linuxprobe.com [116.31.127.233] 具有 32 字節(jié)的數(shù)據(jù):

請(qǐng)求超時(shí)教硫。

請(qǐng)求超時(shí)叨吮。

請(qǐng)求超時(shí)。

請(qǐng)求超時(shí)瞬矩。

116.31.127.233 的 ping 統(tǒng)計(jì)信息:

數(shù)據(jù)包: 已發(fā)送 = 4茶鉴,已接收 = 0,丟失 = 4 (100% 丟失)景用,

? ??????與配置 DNS 和 SNAT 技術(shù)轉(zhuǎn)發(fā)相比涵叮,Squid 服務(wù)程序透明代理模式的配置過(guò)程就十分簡(jiǎn)單了, 只需要在主配置文件中服務(wù)器端口號(hào)后面追加上 transparent 單詞 (意思為 “透明的” ) 伞插,然后把第 62 行的井號(hào)(#)注釋符刪除割粮,設(shè)置緩存的保存路徑就可以了。保存主配置文件并退出后再使用 squid -k parse 命令檢查主配置文件是否有錯(cuò)誤媚污,以及使用 squid -z 命令對(duì) Squid服務(wù)程序的透明代理技術(shù)進(jìn)行初始化穆刻。

# vim /etc/squid/squid.conf

………………省略部分輸出信息………………

58 # Squid normally listens to port 3128

59 http_ _port 3128 transparent

60

61 # Uncomment and adjust the following to add a disk cache directory.

62 cache_ _dir ufs /var/spool/squid 100 16 256

63

………………省略部分輸出信息………………

# squid -k parse

2017/04/13 06:40:44| Startup: Initializing Authentication Schemes ...

2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'basic'

2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'digest'

2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'negotiate'

2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'ntlm'

2017/04/13 06:40:44| Startup: Initialized Authentication.

………………省略部分輸出信息………………

# squid -z

2017/04/13 06:41:26 kid1| Creating missing swap directories

2017/04/13 06:41:26 kid1| /var/spool/squid exists

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/00

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/01

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/02

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/03

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/04

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/05

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/06

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/07

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/08

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/09

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0A

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0B

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0C

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0D

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0E

2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0F

# systemctl restart squid

? ??????在配置妥當(dāng)并重啟 Squid 服務(wù)程序且系統(tǒng)沒(méi)有提示報(bào)錯(cuò)信息后, 接下來(lái)就可以完成 SNAT數(shù)據(jù)轉(zhuǎn)發(fā)功能了杠步。它的原理其實(shí)很簡(jiǎn)單氢伟,就是使用 iptables 防火墻管理命令把所有客戶端主機(jī)對(duì)網(wǎng)站 80 端口的請(qǐng)求轉(zhuǎn)發(fā)至 Squid 服務(wù)器本地的 3128 端口上榜轿。 SNAT 數(shù)據(jù)轉(zhuǎn)發(fā)功能的具體配置參數(shù)如下。

# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j

REDIRECT --to-ports 3128

# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 –

o eno33554968 -j SNAT --to 您的橋接網(wǎng)卡 IP 地址

# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

? ??????這時(shí)客戶端主機(jī)再刷新一下瀏覽器朵锣,就又能訪問(wèn)網(wǎng)絡(luò)了谬盐,如圖所示。

客戶端主機(jī)借助于透明代理技術(shù)成功訪問(wèn)網(wǎng)絡(luò)

? ??????現(xiàn)在肯定有讀者在想诚些,如果開(kāi)啟了 SNAT 功能飞傀,數(shù)據(jù)不就直接被轉(zhuǎn)發(fā)到外網(wǎng)了么??jī)?nèi)網(wǎng)中的客戶端主機(jī)是否還依然使用 Squid 服務(wù)程序提供的代理服務(wù)呢诬烹?其實(shí)砸烦,只要仔細(xì)看一下iptables 防火墻命令就會(huì)發(fā)現(xiàn),剛才并不是單純地開(kāi)啟了 SNAT 功能绞吁,而是通過(guò)把客戶端主機(jī)訪問(wèn)外網(wǎng) 80 端口的請(qǐng)求轉(zhuǎn)發(fā)到 Squid 服務(wù)器的 3128 端口號(hào)上幢痘,從而還是強(qiáng)制客戶端主機(jī)必須通過(guò) Squid 服務(wù)程序來(lái)上網(wǎng)。 為了驗(yàn)證這個(gè)說(shuō)法家破, 我們編輯 Squid 服務(wù)程序的配置文件颜说,單獨(dú)禁止本書(shū)的配套站點(diǎn)(http://www.linuxprobe.com/) ,然后再次刷新客戶端主機(jī)的瀏覽器汰聋,發(fā)現(xiàn)網(wǎng)頁(yè)又被禁止顯示了门粪,如圖所示。

客戶端主機(jī)再次無(wú)法訪問(wèn)網(wǎng)絡(luò)

? ? ? ? 4.反向代理

? ??????網(wǎng)站頁(yè)面是由靜態(tài)資源和動(dòng)態(tài)資源一起組成的烹困,其中靜態(tài)資源包括網(wǎng)站架構(gòu) CSS 文件玄妈、大量的圖片、 視頻等數(shù)據(jù)髓梅, 這些數(shù)據(jù)相對(duì)于動(dòng)態(tài)資源來(lái)說(shuō)更加穩(wěn)定拟蜻, 一般不會(huì)經(jīng)常發(fā)生改變。但是女淑,隨著建站技術(shù)的更新?lián)Q代,外加人們不斷提升的審美能力辜御,這些靜態(tài)資源占據(jù)的網(wǎng)站空間越來(lái)越多鸭你。如果能夠把這些靜態(tài)資源從網(wǎng)站頁(yè)面中抽離出去,然后在全國(guó)各地部署靜態(tài)資源的緩存節(jié)點(diǎn)擒权,這樣不僅可以提升用戶訪問(wèn)網(wǎng)站的速度袱巨,而且網(wǎng)站源服務(wù)器也會(huì)因?yàn)檫@些緩存節(jié)點(diǎn)的存在而降低負(fù)載。

? ??????反向代理是 Squid 服務(wù)程序的一種重要模式碳抄,其原理是把一部分原本向網(wǎng)站源服務(wù)器發(fā)起的用戶請(qǐng)求交給 Squid 服務(wù)器緩存節(jié)點(diǎn)來(lái)處理愉老。但是這種技術(shù)的弊端也很明顯,如果有心懷不軌之徒將自己的域名和服務(wù)器反向代理到某個(gè)知名的網(wǎng)站上面剖效,從理論上來(lái)講嫉入,當(dāng)用戶訪問(wèn)到這個(gè)域名時(shí)焰盗,也會(huì)看到與那個(gè)知名網(wǎng)站一樣的內(nèi)容(有些詐騙網(wǎng)站就是這樣騙取用戶信任的) 。因此咒林,當(dāng)前許多網(wǎng)站都默認(rèn)禁止了反向代理功能熬拒。開(kāi)啟了 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù)的網(wǎng)站也可以避免這種竊取行為。如果訪問(wèn)開(kāi)啟了防護(hù)功能的網(wǎng)站垫竞,一般會(huì)看到如圖所示的報(bào)錯(cuò)信息澎粟。

訪問(wèn)網(wǎng)站時(shí)提示報(bào)錯(cuò)信息

? ??????????????使用 Squid 服務(wù)程序來(lái)配置反向代理服務(wù)非常簡(jiǎn)單。首先找到一個(gè)網(wǎng)站源服務(wù)器的 IP 地址欢瞪,然后編輯 Squid 服務(wù)程序的主配置文件活烙,把端口號(hào) 3128 修改為網(wǎng)站源服務(wù)器的地址和端口號(hào),此時(shí)正向解析服務(wù)會(huì)被暫停(它不能與反向代理服務(wù)同時(shí)使用) 遣鼓。然后按照下面的參數(shù)形式寫(xiě)入需要反向代理的網(wǎng)站源服務(wù)器的 IP 地址信息啸盏,保存退出后重啟 Squid 服務(wù)程序。正常網(wǎng)站使用反向代理服務(wù)的效果如圖 所示譬正。

使用反向代理模式訪問(wèn)網(wǎng)站

# vim /etc/squid/squid.conf

………………省略部分輸出信息………………

57

58 # Squid normally listens to port 3128

59 http_ _port? :80 vhost

60 cache_ _peer? IP parent 80 0 originserver

61

………………省略部分輸出信息………………

# systemctl restart squid

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宫补,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子曾我,更是在濱河造成了極大的恐慌粉怕,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抒巢,死亡現(xiàn)場(chǎng)離奇詭異贫贝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蛉谜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)稚晚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人型诚,你說(shuō)我怎么就攤上這事客燕。” “怎么了狰贯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵也搓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我涵紊,道長(zhǎng)傍妒,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任摸柄,我火速辦了婚禮颤练,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘驱负。我一直安慰自己嗦玖,他們只是感情好患雇,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著踏揣,像睡著了一般庆亡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捞稿,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天又谋,我揣著相機(jī)與錄音,去河邊找鬼娱局。 笑死彰亥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的衰齐。 我是一名探鬼主播任斋,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耻涛!你這毒婦竟也來(lái)了废酷?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抹缕,失蹤者是張志新(化名)和其女友劉穎澈蟆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體卓研,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趴俘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奏赘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寥闪。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖磨淌,靈堂內(nèi)的尸體忽然破棺而出疲憋,到底是詐尸還是另有隱情,我是刑警寧澤梁只,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布缚柳,位于F島的核電站,受9級(jí)特大地震影響敛纲,放射性物質(zhì)發(fā)生泄漏喂击。R本人自食惡果不足惜剂癌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一淤翔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧佩谷,春花似錦旁壮、人聲如沸监嗜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)裁奇。三九已至,卻和暖如春麦撵,著一層夾襖步出監(jiān)牢的瞬間刽肠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工免胃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留音五,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓羔沙,卻偏偏與公主長(zhǎng)得像躺涝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扼雏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 由于最近要對(duì)公司網(wǎng)絡(luò)進(jìn)行優(yōu)化坚嗜,經(jīng)過(guò)研究使用squid對(duì)網(wǎng)絡(luò)進(jìn)行正向代理來(lái)增加速度. squid下載地址 一、squ...
    骨感冰人閱讀 4,053評(píng)論 0 1
  • 案例:Web服務(wù)器:域名www.abc.com IP:192.168.21.129 電信單線路接入訪問(wèn)用戶:電信寬...
    SkTj閱讀 1,404評(píng)論 0 9
  • Content Delivery Network诗充,即“內(nèi)容發(fā)布與速遞網(wǎng)絡(luò)”苍蔬,能為企業(yè)站點(diǎn)提供更快速、穩(wěn)定服務(wù)的網(wǎng)絡(luò)...
    SkTj閱讀 1,714評(píng)論 0 5
  • 這是我一個(gè)閨蜜的故事蜈敢,為了更方便閱讀,我會(huì)以第一人稱來(lái)講述汽抚。 小時(shí)候我對(duì)母親的印象一直是很好的抓狭,溫柔賢惠≡焖福可是自從...
    嘀嗒009閱讀 647評(píng)論 1 1