測試環境:

FG 110c 4.0 MR1 Patch 4
Ubuntu 10.04
Squid 3.1.1

首先在Fortigate的部份,在FortiOS 4.0 MR1 與MR2設定有一個地方不同,
在MR2多了底下的設定,請稍為留意喔!!:
#config system settings
#set wccp-cache-engine disable  #務必要將 此功能disable!!

1.設定WCCP
#config system wccp
#edit service_id   51  註1
#set router-id 192.168.1.99 註2
#set server-list 192.168.1.185 255.255.255.255 註3
#get 註4
#end 註5

註1:此處的id必須與squid.conf設定檔內相同
註2:FG與squid界接的interface ip
註3:squid與FG界接的interface ip及mask,如果有多台Cache server,也可填入網段
註4:顯示設定
註5:儲存設定並離開

2.在界面上開啟wccp功能
#config system interface
#edit port1 註6
#set wccp enable

註6:請填入FG與Squid界接的interface

3.新增一條firewall policy
#config firewall policy
#edit 3 註7
#set wccp enable

註7:填入上述新增的firewall policy number

Fortigate的部份就這麼簡單!!
但Ubuntu就有點難度了~

1.安裝好Ubuntu之後,先做套件清單更新
$sudo su -
#vi /etc/network/interfaces #設定網路,如IP...
#vi /etc/resolv.conf #設定DNS
#/etc/init.d/networking restart #重啟網路使設定生效
#apt-get update #更新套件清單
#apt-get install ssh #遠端管理會用到
#at-get install gcc #等一下編譯Squid會用到
#mkdir -p /usr/local/squid/src/
#cd !$
#wget
http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.1.tar.gz
#gunzip squid-3.1.1.tar.gz
#tar -xvf squid-3.1.1.tar
#./configure
--enable-transparent –enable-storeio-aufs  #務必在編譯時開啟Transparent功能!!
#make all
#make install

2.修改Squid設定
#vi /usr/local/squid/etc/squid.conf

http_access allow all  #加在http_access deny all這一行之前
http_port 3128 intercept  #開啟Transparent Proxy功能
visible_hostname Squid311
cache_effective_user squid
cache_effective_group squid
wccp2_router 192.168.1.99 
wccp2_service dynamic 51
wccp2_forwarding_method 1
wccp2_return_method 1
wccp2_assignment_method 1
wccp2_weight 10000
wccp2_address 192.168.1.185
cache_dir aufs /usr/local/squid/var/cache 100 16 256
cache_mem 32 MB
access_log /usr/local/squid/var/logs/access.log squid

3.新增使用者並更改Squid資料夾權限
#/usr/sbin/useradd -d /usr/local/squid -s
/sbin/nologin -c “Squid Daemon” -r squid

#mkdir /usr/local/squid/var/cache #增
#chown -R /usr/local/squid

4.確定設定無誤後,可以先建立cache
#/usr/local/squid/sbin/squid -z

5.接著要建立GRE Tunnel
#modprobe ip_gre
ip tunnel add wccp0 mode gre remote 192.168.1.99 local 192.168.1.185 dev eth0
ip addr add 192.168.1.185/32 dev wccp0
ip link set wccp0 up
route add –host 59.124.174.93/32 dev wccp0   

echo 0 > /proc/sys/net/ipv4/conf/wccp0/rp_filter
echo 1 > /proc/sys/net/ipv4/ip_forward

6.修改iptables,把流量導給Squid 3128 port
iptables –t nat –F
iptables –t nat –A PREROUTING –i wccp0 –m tcp –p tcp –j REDIRECT –to-ports 3128

 

arrow
arrow
    全站熱搜

    connect 發表在 痞客邦 留言(0) 人氣()