案例需求
——公司選用RHEL5服務器作為網關,為了有效節省網絡帶寬、提高局域網訪問Internet的速度,需要在網關服務器上搭建代理服務,並結合防火牆策略實現透明代理,以減少客戶端的重復設置工作
需求描述
使用iptables設置SNAT策略
使192.168.2.0/24網段的主機通過NAT方式共享上網
配置squid代理服務
對HTTP訪問進行緩存加速,並結合防火牆策略實現透明代理
在代理服務中進行訪問控制
禁止局域網用戶下載rmvb、mp3格式的文件
對超過3M大小的文件不做緩存,禁止下載超過8M的文件
禁止用戶訪問qq.com、tencent.com、xxxx.com等域的網站
啟用網址過濾,禁止訪問包含“sex”、“adult”字樣的鏈接
實現思路
1. 准備好客戶機及Internet測試服務器,正確配置各主機的網絡參數
2. 局域網主機將默認網關設為192.168.2.1
3. 在測試服務器上啟動httpd服務
4. 修改 squid.conf 文件( /etc/squid/squid.conf )
. . . 其他均保持默認即可(包括空行!)
5. 開啟路由轉發,添加實現透明代理的REDIRECT策略
6. 設置iptables的重定向策略
7. 初始化並啟動squid服務
8. 在測試的httpd服務器上,跟目錄下創建一個10M的文件,驗證是否可以下載
驗證過程中,有一段時間需要我們淡定,認真等待一會兒就好了. . .
9. 客戶機無需做任何設置(除基本的IP及網關設置外)即可訪問外網
10. 查看squid的測試服務器的日志記錄,驗證代理是否成功
. . . 完 。
附:
訪問控制規則的匹配順序
沒有設置任何規則時
—— 將拒絕所有客戶端的訪問請求
有規則但找不到相匹配的項時
—— 將采用與最后一條規則相反的權限,即如果最后一條規則是allow,那么就拒絕客戶端的請求,否則允許該請求
squid軟件包基本配置
軟件包名:squid-2.6.STABLE6-3.el5
服務名:squid
主程序:/usr/sbin/squid
配置目錄:/etc/squid/
主配置文件:/etc/squid/squid.conf
默認監聽端口:TCP 3128
默認訪問日志文件:/var/log/squid/access.log