Squid cache(簡稱爲Squid)是一個流行的自由軟件(GNU通用公共許可證)的代理服務器和Web緩存服務器。Squid有廣泛的用途,從作爲網頁服務 器的前置cache服務器緩存相關請求來提高Web服務器的速度,到爲一組人共享網絡資源而緩存萬維網,域名系統和其他網絡搜索,到通過過濾流量幫助網絡 安全,到局域網通過代理上網。Squid主要設計用於在Unix和Linux一類系統運行。
有關代理服務器,主要有以下幾個特點:
應用層代理
1、針對特定的網絡協議進行代理
2、典型應用:HTTP代理和FTP代理
代理服務器作用
1、局域網內主機可以通過網內可以訪問的主機去訪問外網
2、可以提供緩存,提高訪問效率
3、可以實現一定程度的訪問控制
squid服務具有的功能
1、提供HTTP和FTP協議的代理
2、緩存代理內容,提高訪問速度
3、對客戶機進行訪問控制(基於目標地址或時間)
squid代理類型
正向代理:爲客戶端提供代理服務,需要客戶端指定IP
反向代理:爲服務器提供代理服務,目的爲了減輕真實服務器負擔
透明代理:特殊的正向代理,不需要客戶端做任何設置,代理服務器必須是網關,就相當於路由器和防火牆
配置實例:
代理:
拓撲圖:
Ip地址配置:
網關配置:
[root@localhost ~]# vim /etc/resolv.conf(dns指向)
[root@localhost ~]# vim /etc/squid/squid.conf(需要改的配置文件)
客戶端配置:
測試:
透明代理:
透明代理步驟
1.客戶端 dns指向 和網關參數
2.在squid所在的機器上,設置關於dns的nat轉換
iptables -t nat -A POSTROUTING -s 192.168.145.0/24 -p udp --dport 53 -o eth1 -j MASQUERADE
【編輯 /etc/sysctl.conf 打開數據包轉發能力】
3.設置端口重定向
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT --to-ports 3128
4.在squid配置中
加入 transparent
測試:
反向代理:
拓撲圖:
[root@localhost ~]# vim /etc/squid/squid.conf(需要改的配置文件)
內部主機:(配置的www服務器)
測試 外部主機訪問內部主機: