某客户的华为防火墙已经工作了十几年,最近有点不正常,每个月总有那么几次断网,接口会自动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状态,上网流量也回归到防火墙上了,任务完成。