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
外網訪問閘道器外網口地址測試