1. 程式人生 > >Squid代理伺服器配置與部署

Squid代理伺服器配置與部署

代理伺服器

squid服務端

主配置檔案:/etc/squid/squid.conf

預設監聽埠:TCP 3128

預設訪問日誌:/var/log/squid/access.log

常用配置

http_port         3128     

access_log      /var/log/squid/access.log squid

cache_mem     64MB    程式本身使用記憶體大小

cache_dir    ufs/var/spool/squid    100   16   256  快取目錄

100 快取檔案最大100M   16 1級子目錄個數   256 2級子目錄個數

visible_hostname proxy.benet.com    顯示名 自己新增

maximum_object_size 4096 KB        單個檔案最大快取大小

reply_body_max_size 10 MB             外網使用者最大下載大小

代理的基本型別:

傳統代理:適用於internet,需明確指定服務端

透明代理:適用於共享上網閘道器,不需指定服務端

反向代理:位於網站前端,代理web接收客戶端請求

使用代理的好處:

提高web訪問速度

隱藏客戶機的真實IP地址

傳統代理:

標準代理伺服器必須在每一個內部主機的瀏覽器上明確指明代理伺服器的IP地址和埠號

實驗:1個內網,1個外網,1個閘道器

內網機:

route add default gw 192.168.4.100 (閘道器內網口)(實驗環境可不做)

代理伺服器(閘道器機):

安裝squid

vim /etc/squid/squid.conf
visible_hostname   proxy.zjn.com  
service squid start
vim /etc/sysctl.conf
net.ipv4.ip.forword=1
sysctl -p

外網機搭個網站,內網訪問外網,圖形介面下代理寫閘道器機內網口地址 3128

字元介面下:

yum -y install elinks
vim /etc/profile
HTTP_PROXY=http://192.168.4.100:3128
export HTTP_PROXY
source /etc/profile
elinks 200.200.4.1
#代理ftp:
FTP_PROXY=ftp://.....
export FTP_PROXY

不想代理某地址,想直接訪問
NO_PROXY=...ip..

透明代理:

透明代理伺服器不需指明代理伺服器的IP地址和埠號,該伺服器阻斷網路通訊,並且過濾出訪問外網的http流量,對於linux系統來說,透明代理伺服器使用iptables或者ipchains實現。其餘操作和標準代理伺服器相同

實驗:

代理伺服器(閘道器機):

vim /etc/squid/squid.conf
http_port 192.168.4.100:3128 transparent
#當用戶訪問3128埠時跳到192.168.4.100地址
visible_hostname proxy.xdl.com
iptables -t nat -APREROUTING -s 192.168.4.0/24 -i eth0 -p tcp --dport 80 -j      REDIRECT --to-ports 3128

防火牆規則,跳轉埠

service squid reload

外網機搭網站,內網機清掉上次的配置,然後訪問外網網站IP

反向代理:

反向代理伺服器位於本地web伺服器和internet之間,處理所有對web伺服器的請求,組織web伺服器和internet的直接通訊,這種方式通過降低向web伺服器的請求數降低了web伺服器的負載

實驗:2個內網機,1個閘道器機(代理伺服器),1個外網機

2個內網機分別搭網站,然後將閘道器指向閘道器機內網口IP

route add default gw 192.168.4.100

閘道器機:安裝squid

vim /etc/squid/squid.conf

http_access allow all (deny 改為 allow)
http_port 200.200.4.100:80 vhost
cache_peer 192.168.4.2 parent 80 0 origin server round-robin  規則列表
cache_peer 192.168.4.1 parent 80 0 origin server round-robin
visible_hostname www.zjn.com

service squid start

vim /etc/sysctl.conf
net.ipv4.ip_forword= 1

sysctl -p

外網訪問閘道器外網口地址測試