linux做代理服務器的方法
- 来源:未知 原创
- 时间:2018-07-25
- 阅读: 次
- 本文标签:
Squid是一個Linux系統下優秀的代理服務器軟件。Squid可以配置普通上網代理(正向代理)、反向代理、透明代理。系統是CentOS6.2。Squid主機IP為192.168.1.100。
安裝squid:
yum install squid
安裝的版本是squid-3.1.10-1.el6_2.3.i686。
一、正向代理
1、先備份配置文件
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
2、編輯配置文件
vim /etc/squid/squid.conf
修改:
http_access deny all
為:
http_access allow all
允許所有用戶使用代理。
修改:
http_port 3128
為:
http_port 192.168.1.100:3128
3、檢查配置參數是否有錯
squid -k parse
初始化緩存:
squid -z
啟動服務:
service squid start
查看端口是否打開:
netstat -ntpl
4、在windows上設置代理
打開IE -> 工具 -> Internet選項 -> 連接 -> 局域網設置。勾選代理服務器下面的方格。設置地址為squid代理服務器IP,端口為3128。
二、反向代理
這裏假設反代一臺主機名為www.aaa.com的主機。
1)恢復為squid默認配置文件,然後再修改:
cp squid.conf.bak squid.conf
vim /etc/squid/squid.conf
添加:
http_port 80 accel vhost vport
cache_peer www.aaa.com parent 80 0 no-query no-digest originserver
說明:
http_port 80 accel vhost vport
squid反代的端口為80
accel:加速模式
vhost:加速模式使用虛擬域的主機頭支持
vport:虛擬主機端口支持
cache_peer www.aaa.com parent 80 0 no-query no-digest originserver
定義反代站點語句格式為:cache_peer hostname type http-port icp-port [options]
hostname:定義要反代的主機
type:可以定義parent(父節點)、sibling(兄弟節點)、multicast(組播)
http-port:指向用於接受http請求的端口
options項這裏有3個:
no-query 禁止ICP查詢到這個鄰居
no-digest 禁用緩存請求
originserver 說明父節點是一臺實際服務器
squid版本很多,語句規則也有所不同,具體說明可參考:http://www.squid-cache.org/Versions/v3/3.1/cfgman/
還要修改:
http_access deny all
為:
http_access allow all
2)使配置文件生效:
squid -k reconfigure
squid作為反向代理服務器,主要作用是降低原始web服務器的負載。一般代理服務器都配置緩存用於加速。還要設置好被代理主機的DNS。
三、透明代理
透明代理就是用戶在使用squid時不更改瀏覽器的代理設置,squid主機一般需要兩塊網卡,一塊網卡連內網,一塊網卡可以訪問外網,內網機器設好網關為squid主機內網網卡的IP就能訪問外網了。需要設置iptables的nat轉發。
四、設置緩存
/var/spool/squid/為squid的默認緩存文件放置目錄。
cache_mem 128 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /tmp/squid 100 16 256
創建緩存目錄:
mkdir /tmp/squid
chown squid:squid /tmp/squid
我收集的比較好的關於squid的資料:
wikipedia上squid条目:http://en.wikipedia.org/wiki/Squid_(software)
相关文章
本文链接:http://www.it892.com/content/ip/2018/0725/107492.html