DAY22 proxy - daniel-qa/Network GitHub Wiki

DAY - 22

今天要介紹的是如何去安裝proxy server

相信大家一定不會很陌生,在正常架構之下我們會使用自己主機的IP位址去進行連線作業, 而再設定了proxy之後,你的連線資訊會變成是透過那台 proxy主機去進行連線, 既然都可以連線,那 proxy的用途是要做甚麼? 可以帶來甚麼效益?

在下圖我們可以看到,

一般上網的方式如圖左,可能就接到 switch 設備通過防火牆然後就連上網了。

proxy上網方式則會是在LAN端,多一台proxy的伺服器,我們透過那台proxy伺服器去連接到網站

架構:

一般上網運作模式

透過prxoy 上網的運作模式:

為什麼要這樣做呢?這樣做的好處在哪裡。 原來是好在快取,以及可以對網站進行存取限制。 對於網管人員來說,有些網站不希望讓使用者可以進行存取, 這時候若公司架構有將其網路連線導向 proxy 的話,也可以在這邊做存取限制。 當然你有 Layer7的防火牆,當然也可以做到很超層級的限制

另外就是快取了,今天我們要看一個網站的內容, 我們都是需要透過網路設備一路帶我們伺服器將網站資料帶回來, 若今天公司人數不多當然是還可以接受,因為網路的存取量少,但若部門很多人呢? 就得要看網路的頻寬足不足夠讓這麼多使用者同時再瀏覽網頁了。 頻寬不夠就直接調升好像有點浪費錢, 我們能不能想點辦法解決這麼多人都一直要連到外網瀏覽網站的狀況。 其實是有一個辦法的,大家回想一下自己瀏覽網路的情形,可能都會設一個預設首頁, 不外乎可能看個新聞,看各社群平台,網路文章等等, 其實的大家觀看的東西重覆機率是很高的,尤其是公司內部更是如此。 當重複率高了起來就是 proxy 大展身手的時候了, 因為 proxy最大的用途就是將網頁內容 cache 在server 上 當使用者透過proxy上網時,proxy會先去察看一下,他的需求是否有在我本機快取過, 如果有快取的話,proxy就會直接提供現在最新的快取資料給使用者, 這樣使用者就不用在連到外網去撈取網頁資料,這樣也不會去跟人家擠線路的頻寬了

這邊要介紹的 proxy 套件用的是 squid 這是套蠻悠久的 Opensource 套件,我們將在後面介紹他的安裝方式。

因為透過 proxy上網是很常使用的網路架構,若 proxy設備在 LAN端內網也不會有太大的問題,因為可能連出去的對外IP也不會改變, 但若是你是連到外部的 proxy去上網的? 這時候因為你是要透過外面的那台 proxy上網,所以你連到外面網站的對外IP就會變成那台 proxy的IP,這要注意一下!!

IP會改變,透過外面的伺服器上網,就會有人想到 VPN這個東西, 我透過 VPN上網,IP也會改變啊變成 VPN主機那邊的對外IP, 那這兩個有什麼不一樣? 我個人認為本質上兩者就不相同,且不是拿來比較的。 Prxoy今天的用途在於存取限制以及網頁的快取, 而 VPN的用途則是讓管理者能夠在任何地方透過它連結進公司內部網段(因內部網段不可能開放讓外面連接),進行一些緊急為難問題處理,它比較像是一個緊急入口般的存在。 當然現在也有很多人透過 VPN 連接到國外,使用國外的IP進行一些網路行為, 例如:取得國外限定的貼圖或者尚未在國內開服的遊戲...等。 兩者都是很方便的網路服務,就看大家如何使用他了。

下面我們來介紹,在linux環境底下安裝squid套件(Proxy)

安裝proxy server

#yum install squid

設定squid的設定檔,位置在/etc/squid/squid.conf

#vim /etc/squid/squid.conf

可以看到他把網段定義在 localnet ,這邊都可以先用#註解掉 設定成我們要的網段內容。

在設定檔的 52 ~ 53行可以看到

這邊有http_access allow localnet,表示說允許剛剛我們定義的網段進行存取

再第60行的地方我們可以看到squid的port是運用TCP - 3128

若只是要簡單的設定的話,其實只要將最前面的網段,修改成自己的網段後, 啟用伺服器服務就可以了,若是有其他比較深入的需求或想要了解其運作方法, 我非常建議大家去看一下鳥哥!! 真的會收穫非常的多。

下面是鳥歌內關於squid的設定及介紹網址。 http://linux.vbird.org/linux_server/0420squid.php

在鳥哥的文章當中有提到sarg這個套件,他可以與squid一起始用, 他可以從squid的快取當中,擷取出誰讀取了哪些網站的紀錄, 然後就是跑出一份報表交給主管啦~

關於squid的部份,我們就先簡單談到這邊,