网络备份功能

概述

网络备份功能中,通过ICMP Echo实时监测网络的状态,发生某种故障时,自动切换该网络相应的路由从而避开故障。并且,故障消除时,自动恢复为原来的路由。

使用网络备份功能,可以不使用动态路由控制协议就能构建避开故障路由的结构。因此,据点数量多,无法确保动态路由控制协议处理所需的CPU负载及网络带宽时,能够提供网络的备份解决方案。

另外,原来的备份功能中识别每个线路的故障,而网络备份功能中识别每个网络的故障,因此,在IP-VPN及广域以太网的备份解决方案中,实现了不影响没有故障据点的通信,而只切换发生故障的路由。

到达性的检测

能够确认对于特定终端或路由器的到达性。使用这个功能要设置ip keepalive命令。这个命令的格式如下所示。

ip keepalive命令... 网络监测功能的设置

[输入格式]
ip keepalive 号码 种类 发送间隔 发送次数 IP地址[IP地址 ... ] [选项 ... ]
no ip keepalive 号码
[参数]
  • 号码 ... 这个命令的识别号码
    • 1..100
  • 种类 ... 监测的方式 (目前只能设置1种)
    • icmp-echo ... 使用ICMP Echo
  • 发送间隔 ... 发送的次数
    • 1..65535
  • 发送次数 ... 判断为无到达性之前发送的次数
    • 3..100
  • IP地址 ... 接收方的IP地址
    • 选项 (种类=值)
      种类 说明
      log 'on' / 'off' 是否输出syslog
      upwait 1..1000000[秒] 判断为有到达性之前的待机时间
      downwait 1..1000000[秒] 判断为无到达性之前的待机时间
[说明]

对指定的IP地址发送ICMP Echo,判断是否能够收到它的回复。

[默认值]
log ... off
upwait ... 5[秒]
downwait ... 5[秒]

对所指定的IP地址发送ICMP Echo,在所指定的发送间隔内收到回复(ICMP Echo Reply)则认为“成功”,未收到则认为“失败”。而且,如果连续“失败”次数达到发送次数中指定的次数,则视为对该IP地址无到达性。反过来,只要有一次成功,就是为对该IP地址有到达性。

一个命令中能够设置多个IP地址。设置了多个IP地址时,调查各个IP地址的到达性,一个以上没有到达性时,则判断为整体没有到达性。一般设置多个IP地址的话,检测故障的条件变得严格。

一个命令中最多能够设置10个IP地址,命令最多能够设置100个(※)。因此,如果都设为上限值则能够设置1000个IP地址。但是,能够同时监测的IP地址最多限100个。设置了超过这个值的IP地址时,按照show config命令所显示的顺序,前100个有效。

线路不稳定状态下,会出现到达性频繁变化的情况,因此,能够设置为不急于判断而是观察情况。将这样“观察情况”的时间称为待机时间

下图表示了待机时间的效果。

(※) 有到达性的状态表示为up、无到达性的状态表示为down。

[没有设置待机时间时]
up和down频繁变化。
up   -------------+  +-------+             +--+      +--------
                  |  |       |             |  |      |
down              +--+       +-------------+  +------+
[设置了待机时间时]
up和down变化不太频繁。
 
                   *1          *2           *3         *4
                  --->       ------>       --->      ------>
up  -------------------------------+                       +---
                                   |                       |
down                               +-----------------------+

*1: 待机时间结束之前为up,因此不会变成down而保持up状态
*2: 待机时间结束后仍然没有up,因此判断为down
*3: 待机时间结束之前为down,因此不会变成Up而保持down状态
*4: 待机时间结束后仍然没有down,因此判断为up

设置待机时间需要设置downwait和upwait这两个选项。downwait为没有到达性时的待机时间,upwait为恢复到达性时计时的待机时间。

到达性的确认

为了确认到达性的状态,执行show status ip keepalive命令。

[显示范例]

# show status ip keepalive
 
 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up  172.16.0.1                                yes     2     4
           172.16.0.2                                yes     4     4
           10.0.0.254                                yes     3     4

本例中正在监测三个IP地址。从左依次表示“ip keepalive命令的号码”“到达性状态”“监测的IP地址”“IP地址的到达性”“发送下一个ICMP Echo之前的时间”“判断为无到达性之前发送的ICMP Echo的数量”。

出现两个相当于到达性状态的值。右边显示的“yes”表示三个IP地址分别的到达性,左边显示的“up”表示对它们的综合判断。

如果,只是10.0.0.254的到达性消失,则显示如下。

# show status ip keepalive
 
 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1 down? 172.16.0.1                                yes     5     5
   172.16.0.2                                        yes     3     5
   10.0.0.254                                         no     3     -

显示“down?”表示是待机状态。在这个阶段,尚未判断为到达性消失。不久,待机状态过去而这期间到达性没有恢复时,判断为到达性消失。这是显示变为“down”。

# show status ip keepalive
 
 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1 down  172.16.0.1                                yes     1     5
           172.16.0.2                                yes     4     5
           10.0.0.254                                 no     4     -

恢复时也是同样地先变为待机状态。待机状态中显示为“up?”。这个阶段尚未判断为有到达性。

# show status ip keepalive
 
 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up? 172.16.0.1                                yes     2     5
           172.16.0.2                                yes     5     5
           10.0.0.254                                yes     5     5

不久待机状态过去后,这期间如果到达性被保持住,则正式判断为有到达性。这时显示变为“up”。

# show status ip keepalive
 
 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up  172.16.0.1                                yes     1     5
           172.16.0.2                                yes     4     5
           10.0.0.254                                yes     4     5

并且,在刚刚启动或者刚刚设置ip keepalive命令之后,TIMER的值可能超过设置的发送间隔。原因是为了分散发送ping的时机,而在发送间隔的两倍左右的范围内增加了该值。发送了第一个ping之后,不会超过设置的发送间隔的值。

备份的实现

用ip keepalive命令将已确认的到达性的信息反映在路由控制中,发生故障时能够备份至备用线路。为此,用ip route命令设置keepalive选项。例如,能够进行如下设置。

[设置范例]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11
ip keepalive 1 icmp-echo 5 5 172.16.0.1

设置keepalive选项后,在这之前所设置的网关只在有到达性时才有效。本例中,pp 10的网关只在有172.16.0.1相应的到达性时才会有效。

(※) 为了判断到达性发送ICMP Echo,这个ICMP数据包即使在网关变为无效时也会发送给原来的网关。也就是说不需要设置特别的路由。

[注意]ip route命令中设置了多个网关时,用ip keepalive命令发送的ICMP Echo数据包肯定发送给ip route命令的第一个网关。例如,以下设置中,ICMP Echo数据包肯定发送给PP1接口。

ip route 10.0.0.0/24 gateway pp 1 gateway pp 2
ip keepalive 1 icmp-echo 5 5 10.0.0.1

原来的实现中,如果有多个网关就会启用负载均衡的功能,不会是单纯的备份动作。因此,使weight选项中能够设置0。只要在它之前定义的网关没有变为无效,weight选项为0的网关就不会工作。

weight选项的动作差异如下所述。

[设置范例1]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11
ip keepalive 1 icmp-echo 5 5 172.16.0.1

正常时: 通过PP 10和PP 11实现负载均衡
异常时: 使用PP 11

[设置范例2]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11 weight 0 
ip keepalive 1 icmp-echo 5 5 172.16.0.1

正常时: 使用PP 10
异常时: 使用PP 11

设置方法

举例说明下图的结构下备份的设置方法。RTX5000中不使用网络备份功能,因此只说明RTX1200的设置。

           -----+----- 192.168.1.0/24
                |
                | 192.168.1.1
             RTX5000              [中心局]
                |
              (ISP)
    ........................
   :                       :
   :          互联网       :
   :                       :
    ........................
       (ISP)         (ISP)
         |             |
    ADSL |             | ISDN
         +----+   +----+
              |   |
         LAN2 |   | BRI1
             RTX1200              [据点]
                | LAN1
                | 192.168.0.1
                |
         -------+------- 192.168.0.0/24

首先设置LAN1、LAN2这两个接口。RTX1200的LAN1接口连接至LAN,LAN2接口用ADSL连接至ISP。此条件相应的设置如下所示。

ip lan1 address 192.168.0.1/24
pp select 1
pp always-on on
pppoe use lan2
pp auth accept pap chap
pp auth myname "PPPoE的ID" "PPPoE的密码"
ppp ipcp ipaddress on
ip pp nat descriptor 1
pp enable 1

nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto

接下来设置使用的ISDN线路的连接。

pp select 2
pp bind bri1
isdn remote address call "ISP的访问点的电话号码"
pp auth accept pap chap
pp auth myname "拨号连接的ID" "拨号连接的密码"
ppp ipcp ipaddress on
ip pp nat descriptor 1
pp enable 2

据点和中心局之间经过IPsec VPN进行通信,因此,添加IPsec的设置。

ipsec auto refresh on
ipsec ike always-on 1 on
ipsec ike keepalive use 1 on icmp-echo 192.168.1.1 5 4
ipsec ike local name 1 rtx@yamaha user-fqdn
ipsec ike pre-shared-key 1 text router
ipsec ike remote address 1 "SGW-IP地址"
ipsec sa policy 101 1 esp 3des-cbc sha-hmac

tunnel select 1
ipsec tunnel 101
tunnel enable 1
ip route 192.168.1.0/24 gateway tunnel 1

nat descriptor masquerade static 1 1 192.168.0.1 esp
nat descriptor masquerade static 1 2 192.168.0.1 udp 500

通过上述设置实现了基本的连接。接下来,设置备份的动作。两根线路的使用区分如下:

  • 通常使用ADSL (使用PP1接口)
  • 故障时使用ISDN (使用PP2接口)

ADSL中的连接正常性根据经过ADSL是否有对于中心局的路由器的到达性这一点进行判断。

  • 监测对于中心局的路由器的ICMP Echo是否有应答

上述条件相应的设置如下所示。

ip keepalive 1 icmp-echo 10 3 192.168.1.1
ip route default gateway pp 1 keepalive 1 gateway pp 2 weight 0

这个设置中,隔10秒通过ICMP Echo进行监测,连续三次无应答时判断为异常。间隔及次数根据各自的环境进行设置。

设置范例

说明下图的网络结构中的设置范例。

 
     192.168.0.0/24                              [中心局]
 LAN -------------+-----
                  |         192.168.10.0/24
                  |  --+-------------+----- DMZ
             LAN1 |    | LAN3        |
                 RTX1200(C)            WWW 192.168.10.2
             LAN2 |    | BRI1
          IP地址A |    | IP地址B
                  |    +--------------------------+
             FTTH |                               | ISDN
     .................................     .......................
    :                                 :   :                      :
    :             IP-VPN              :   :         互联网       :
    :                                 :   :                      :
     .................................     .......................
        |          |                |              | |       |
        |  +-------|----------------|--------------+ |  ・・・  |
        |  |       | +--------------|----------------+       |
        |  |       | |              | +----------------------+
        |  |       | |              | |
IP地址1 |  |       | |     ・・・・     | |
      RTX1200(1) RTX1200(2)       RTX1200(8)        ※据点端的访问线路
        |.1          |.1              |.1             主控: ADSL
        |            |                |               备份: ISDN
    ----+----     ---+-----        ---+------
192.168.1.0/24  192.168.2.0/24  192.168.8.0/24
 
    [据点1]        [据点2]  ・・・・  [据点8]
 

这个结构中,通常使用IP-VPN连接中心局与据点之间,发生故障时,经由互联网通过IPsec VPN连接。原来的固件中需要使用BGP,但是如果使用网络备份功能,则只要设置静态路由即可运用。

[RTX1200(C)的设置范例]
#
# LAN接口的设置
#
ip lan1 address 192.168.0.1/24

#
# DMZ接口的设置
#
ip lan3 address 192.168.10.1/24

#
# WAN(IP-VPN)接口的设置
#
pp select 1
pp always-on on
pppoe use lan2
pp auth accept pap chap
pp auth myname (ID) (密码)
ppp lcp mru on 1454
ppp ipcp msext on
ip pp address (IP地址A)
ip pp mtu 1454
pp enable 1
ip route 192.168.0.0/16 gateway pp 1 # 注释7

#
# WAN(互联网)接口的设置
#
pp select 2
pp bind bri1
isdn remote address call (访问点的线路号码)
pp auth accept pap chap
pp auth myname (ID) (密码)
ppp ipcp msext on
ip pp address (IP地址B)
ip pp nat descriptor 1
pp enable 2
ip route default gateway pp 2

#
# 网络备份功能的设置
#
ip keepalive 1 icmp-echo 5 5 192.168.1.1
ip keepalive 2 icmp-echo 5 5 192.168.2.1
ip keepalive 3 icmp-echo 5 5 192.168.3.1
ip keepalive 4 icmp-echo 5 5 192.168.4.1
ip keepalive 5 icmp-echo 5 5 192.168.5.1
ip keepalive 6 icmp-echo 5 5 192.168.6.1
ip keepalive 7 icmp-echo 5 5 192.168.7.1
ip keepalive 8 icmp-echo 5 5 192.168.8.1
ip route 192.168.1.0/24 gateway pp 1 keepalive 1 gateway tunnel 1 weight 0 # 注释1
ip route 192.168.2.0/24 gateway pp 1 keepalive 2 gateway tunnel 2 weight 0
ip route 192.168.3.0/24 gateway pp 1 keepalive 3 gateway tunnel 3 weight 0
ip route 192.168.4.0/24 gateway pp 1 keepalive 4 gateway tunnel 4 weight 0
ip route 192.168.5.0/24 gateway pp 1 keepalive 5 gateway tunnel 5 weight 0
ip route 192.168.6.0/24 gateway pp 1 keepalive 6 gateway tunnel 6 weight 0
ip route 192.168.7.0/24 gateway pp 1 keepalive 7 gateway tunnel 7 weight 0
ip route 192.168.8.0/24 gateway pp 1 keepalive 8 gateway tunnel 8 weight 0

#
# NAT的设置
#
nat descriptor type 1 masquerade
nat descriptor masquerade static 1 1 192.168.0.1 udp 500
nat descriptor masquerade static 1 2 192.168.0.1 esp
nat descriptor masquerade static 1 3 192.168.10.2 tcp www # 注释2

#
# VPN(IPsec)的设置 (共通项目)
#
ipsec auto refresh on

#
# VPN(IPsec)的设置 (据点1)
#
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.0.1
ipsec ike pre-shared-key 1 text (密码)
ipsec ike remote address 1 any
ipsec ike remote name 1 kyoten1
ipsec sa policy 101 1 esp 3des-cbc md5-hmac
tunnel select 1
ipsec tunnel 101
tunnel enable 1

#
# VPN(IPsec)的设置 (据点2)
#
ipsec ike keepalive use 2 on
ipsec ike local address 2 192.168.0.1
ipsec ike pre-shared-key 2 text (密码)
ipsec ike remote address 2 any
ipsec ike remote name 2 kyoten2
ipsec sa policy 102 2 esp 3des-cbc md5-hmac
tunnel select 2
ipsec tunnel 102
tunnel enable 2

# (注) 同样地设置据点3至据点8的通道。

#
# DHCP的设置
#
dhcp scope 1 192.168.0.2-192.168.0.100/24
dhcp service server

#
# DNS的设置
#
dns server (通过ISP所指定的DNS服务器的IP地址)
dns private address spoof on

#
# 过滤的设置
#
ip filter source-route on
ip filter directed-broadcast on
ip filter 1001 reject 192.168.0.0/24 *
ip filter 1002 pass * 192.168.0.0/24 icmp
ip filter 1003 pass * 192.168.10.2 tcpflag=0x0002/0x0fff * www # 注释4
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1016 pass * 192.168.0.1 udp * 500
ip filter 1017 pass * 192.168.0.1 esp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * tcp
ip filter dynamic 106 * * udp
ip filter dynamic 200 192.168.0.0/24 * telnet # 注释5
ip filter dynamic 201 * 192.168.10.2 www # 注释6

ip lan3 secure filter in 2000
ip lan3 secure filter out 3000 dynamic 101 200
pp select 2
ip pp secure filter in 1001 1002 1003 1016 1017 2000 dynamic 201
ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106
pp enable 2
[RTX1200(1)的设置范例]
#
# LAN接口的设置
#
ip lan1 address 192.168.1.1/24

#
# WAN(IP-VPN)接口的设置
#
pp select 1
pp always-on on
pppoe use lan1.2
pp auth accept pap chap
pp auth myname (ID) (密码)
ppp lcp mru on 1454
ppp ipcp msext on
ip pp address (IP地址1)
ip pp mtu 1454
pp enable 1

#
# WAN(互联网)接口的设置
#
pp select 2
pp bind bri1
isdn remote address call (访问点的线路号码)
pp auth accept pap chap
pp auth myname (ID) (密码)
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp nat descriptor 1
pp enable 2
ip route default gateway pp 2 # 注释3

#
# 网络备份的设置
#
ip keepalive 1 icmp-echo 5 5 192.168.0.1
ip route 192.168.0.0/16 gateway pp 1 keepalive 1 gateway tunnel 1 weight 0 # 注释3

#
# NAT的设置
#
nat descriptor type 1 masquerade
nat descriptor masquerade static 1 1 192.168.1.1 udp 500
nat descriptor masquerade static 1 2 192.168.1.1 esp

#
# VPN(IPsec)的设置
#
ipsec auto refresh on
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.1.1
ipsec ike local name 1 kyoten1
ipsec ike pre-shared-key 1 text (密码)
ipsec ike remote address 1 (IP地址B)
ipsec sa policy 101 1 esp 3des-cbc md5-hmac
tunnel select 1
ipsec tunnel 101
tunnel enable 1

#
# DNS的设置
#
dns server (通过ISP所指定的DNS服务器的IP地址)
dns private address spoof on

#
# 过滤的设置
#
ip filter source-route on
ip filter directed-broadcast on
ip filter 1001 reject 192.168.1.0/24 *
ip filter 1002 pass * 192.168.1.0/24 icmp
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1020 pass (IP地址B) 192.168.1.1 udp * 500
ip filter 1021 pass (IP地址B) 192.168.1.1 esp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * tcp
ip filter dynamic 106 * * udp

pp select 2
ip pp secure filter in 1001 1002 1020 1021 2000
ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106
pp enable 2

※从RTX1200(2)到RTX1200(8)的设置也一样。

[注释的说明]

注释1
ip keepalive命令的1号设置中检测到故障后, 将面向192.168.1.0/24的路由从IP-VPN切换到互联网。

注释2
由于NAT的影响而无法从外部访问, 因此开一个洞以能够访问WWW服务器。

注释3
ip keepalive命令的设置中检测到故障后, 将面向192.168.0.0/16的路由从IP-VPN切换到互联网。

注释4、注释6
这是向WWW服务器的访问中,只通过第一个数据包(SYN)的过滤方式。 之后继续的通信通过注释6的动态过滤通过。

注释5
这是用于维护WWW服务器的通过TELNET通信的过滤方式。

注释7
这是面向据点的WAN接口所分配的地址的路由。 请根据所分配的地址进行变更。

返回顶部Return to Top