1. 程式人生 > >《初入linux》--第二十一部分-利用squid搭建vpn伺服器(免流伺服器初級入門)

《初入linux》--第二十一部分-利用squid搭建vpn伺服器(免流伺服器初級入門)

一.squid搭建簡單的vpn 正向代理

      何為正向代理:簡單的解釋,我從主機A上想訪問伺服器C上的資源,但是因為種種原因(例如acl限制,防火牆,萬惡的GFW 5555555~~)A被限制了無法訪問C,此時,我們知道伺服器B是可以訪問C的,於是,我們先用A連線B,通過B作為一位代理,把我們想要的資源從C下載到B,再由B發給A,這種代理方法稱為正向代理,B就叫做代理伺服器。正向代理用途為繞過某些限制如:防火牆,獲取到想要的資源,即防火牆內的主機訪問牆外的世界。

1.代理伺服器 安裝squid服務

2.檢視配置檔案:

/etc/squid/squid.conf

3.更改配置檔案:

# And finally deny all other access to this proxy
http_access allow all      //允許訪問

# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256   //開啟快取目錄,存放從第三方下載的資源


4.重啟服務。

5.在客戶端設定代理為安裝squid的伺服器,預設埠為:3128

如在瀏覽器中設定代理伺服器。

二.內容分發網路(cdn)加速
即squid反向代理

何為反向代理:我有主機A,我想訪問C上的資源,但由於C距離很遠(經過的路由很多),遂直接訪問會很慢。這時候我找一個伺服器B,B離我很近,而且C專門為B優化出來一條線路使B訪問C很快,我向C發出的請求其實都轉到了B上,由B再去訪問C上的內容再發給A,這樣,資料的傳送接收就加速了兩次,這就是反向代理的過程,其作用為讓外界的主機通過一個專門的伺服器訪問防火牆內的伺服器,這樣優化資料傳輸,並且保證快速、安全。

1.加速伺服器安裝squid

yum install squid -y

2.配置檔案為:


/etc/squid/squid.conf

3.
更改:/etc/squid/squid.conf

# And finally deny all other access to this proxy
http_access allow all      //yunxu

# Squid normally listens to port 3128
http_port 80 vhost vport

# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256



4.查閱 /user/share/doc/squid-x.x.x/squid.conf.documented

找到第5部中要用到的配置段落

5.更改:/etc/squid/squid.conf

# Squid normally listens to port 3128
http_port 80 vhost vport
cache_peer 172.25.254.3   parent 80 0no-query

三.squid輪詢訪問:

何為輪詢訪問:輪訓訪問存在的意義是減少伺服器的訪問壓力,並且保證每次訪問資料的完整性。如:現在有10000使用者訪問mazha.com,mazha.com擁有兩臺資料伺服器和一臺效能較為低下的空閒伺服器,資料伺服器的承載能力均為6000人,則此時將空伺服器設定為伺服器,通過配置squid輪詢,將使用者分流到兩臺資料伺服器上。

輪詢配置方法:

同上到第4步,

5.更改:/etc/squid/squid.conf

# Squid normally listens to port 3128
http_port 80 vhost vport
cache_peer 172.25.254.3   parent 80 0no-query originserver round-robin name=web1
cache_peer 172.25.254.4   parent 80 0no-query originserver round-robin name=web2
cache_peer_domain web1 web2 www.mazha.com //

# Squid normally listens to port 3128
http_port 80 vhost vport
cache_peer 172.25.254.3   parent 80 0no-query originserver round-robin name=web1
cache_peer 172.25.254.4   parent 80 0no-query originserver round-robin name=web2
cache_peer_domain web1 web2 www.mazha.com //這是設定是否用域名輪詢,不需要可以註釋
重啟服務即可。

注:整個squid代理伺服器需配合系統火牆實現允許與拒絕訪問,勿忘配置火牆。