某客戶的華為防火牆已經工作了十幾年,最近有點不正常,每個月總有那麼幾次斷網,接口會自動down,而且每次只能重啟了事,但是防火牆重啟時間長,次數多了總覺得影響辦公。
由於體制原因,申請採購的時間周期會比較長,尤其是在如今這個形勢下。
客戶問我要個臨時的解決方案,於是我就出了個歪招,被客戶好好地誇了一番,嘿嘿,本著分享的精神,這事兒也不私藏,說穿了,也很簡單。
現場不允許拍照,配置更不允許截圖或者導出,所以只能回來用模擬器還原,特此說明。
原來的拓撲大致如此,就是防火牆上面連接光貓,下面則連著核心交換機,我就簡化一下了,能達到目的就行。
防火牆是全公司唯一出口網關,一出問題當然全都沒網了,大多數單位都是這樣,能做防火牆雙出口的,畢竟不多。
我的歪招就是:把我們做實驗用的華為AR路由器借給他們,和華為防火牆組成VRRP,平時上網流量還走防火牆出去,如果防火牆接口又down,那就自動切換到路由器出去,等防火牆接口恢復後,流量又回到防火牆。
增加路由器後的拓撲圖如下:
一、防火牆修改配置
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.254 active //創建VRRP組1,並且指定虛擬IP,指定防火牆為主設備
service-manage ping permit
#
interface Vlanif20 //vlan20配置同理
ip address 192.168.20.1 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.20.254 active
service-manage ping permit
#
其他配置沒有改動,就不貼出來了,這不是本文的重點。
二、交換機修改配置
interface GigabitEthernet0/0/4
port link-type trunk
port trunk allow-pass vlan 10 20
無非就是找個接口,連接路由器,然後放行兩個VLAN,需要說明的是,G0/0/1接口原來也是trunk接口,同樣放行了這兩個VLAN,原來網關在防火牆上,現在改為用虛擬IP作為網關,所以VLAN的IP位址池,也要做相應的修改:
ip pool vlan10
gateway-list 192.168.10.254
network 192.168.10.0 mask 255.255.255.0
excluded-ip-address 192.168.10.1 192.168.10.10
excluded-ip-address 192.168.10.200 192.168.10.253
dns-list 114.114.114.114
#
ip pool vlan20
gateway-list 192.168.20.254
network 192.168.20.0 mask 255.255.255.0
excluded-ip-address 192.168.20.1 192.168.20.10
excluded-ip-address 192.168.20.200 192.168.20.253
dns-list 114.114.114.114
其實更完美的做法是:不去改變用戶已經獲取到的網關IP,而是在配置VRRP的時候,就用原來的網關IP作為VRRP的虛擬IP,這樣的話,用戶就不必執行重新獲取IP的操作了。
但是,我們是在晚上配置,所以其實無所謂。
三、路由器的配置:
先配置PPPOE撥號上網,光貓支持多撥,所以防火牆和路由器同時接在光貓上,同時撥號不會有任何問題;
dialer-rule
dialer-rule 1 ip permit
interface Dialer0
link-protocol ppp
ppp chap user bbb //寬頻帳號
ppp chap password cipher b123456 //寬頻密碼
ip address ppp-negotiate //IP獲取方式
dialer user bbb //撥號用戶
dialer-group 1 //將接口放到撥號組1
dialer bundle 1 //指定接口使用Dialer bundle
interface GigabitEthernet0/0/0
pppoe-client dial-bundle-number 1 //通過Dialer bundle將物理接口與撥號接口關聯起來
ip route-static 0.0.0.0 0.0.0.0 Dialer0 //配置默認路由,出接口為寬頻撥號連接
acl number 3000 //創建一條ACL,用來允許上網
rule 5 permit ip
interface Dialer0
nat outbound 3000 //出口綁定ACL3000,允許用戶上網
interface Vlanif10
ip address 192.168.10.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.254
vrrp vrid 1 priority 80 //優先級默認為100,路由器是backup,所以要小於100
vrrp vrid 1 preempt-mode timer delay 10 //搶占延時10秒
#
interface Vlanif20
ip address 192.168.20.2 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.20.254
vrrp vrid 2 priority 80
vrrp vrid 2 preempt-mode timer delay 10
#
interface Ethernet9/0/0 //連接交換機的接口,允許兩個VLAN通過
port link-type trunk
port trunk allow-pass vlan 10 20
四、測試
防火牆的VRRP狀態為Master
路由器的VRRP狀態為Backup
當前流量是走防火牆出去的
Int g1/0/3
Shutdown //關閉防火牆連接交換機的接口,模擬接口故障
防火牆的VRRP狀態切換為initialize
路由器的VRRP狀態就切換為Master了
此時測試上網流量,並且在路由器上面接口抓包,顯示上網流量已經切換到路由器了。
Int g1/0/3
Undo Shutdown //開戶防火牆連接交換機的接口,模擬故障恢復
防火牆VRRP重新回到Master狀態,上網流量也回歸到防火牆上了,任務完成。