18-SAVA-P配置
本章节下载: 18-SAVA-P配置 (234.17 KB)
SAVA-P(Source Address Validation Architecture Protocol,源地址验证架构协议)是一种防范伪造IPv6源地址网络攻击的技术,它基于SAVA-P的协议报文生成SAVA-P表项,用于验证IPv6源前缀的合法性。当设备的接口收到IPv6报文后,如果存在该报文的源IPv6地址对应前缀的SAVA-P表项,则报文会被接收;反之报文会被丢弃。
SAVA-P可以部署在与接入网相连的骨干网内的所有设备上。
开启SAVA-P功能的设备称为SAVA-P设备,SAVA-P邻居设备之间通过交互SPA(Source Prefix Advertisement,源前缀通告)报文和DPP(Destination Prefix Probing,目的前缀探测)报文,在每台SAVA-P设备上生成SAVA-P表项(IPv6报文源前缀和报文入接口的映射关系)。
SAVA-P设备通过SPA报文在SAVA-P邻居之间通告各SAVA-P设备本地学习到的源前缀信息,最终使得同一个域内的每台SAVA-P设备上均能学习到所有SAVA-P设备本地学习到的源前缀信息。SPA报文中包含如下重要字段:
· Origin Router ID:源Router ID。用于标识发送SPA报文的SAVA-P设备。
· Source Prefixes:源前缀信息。源前缀信息来源于设备本地学习到的直连路由以及通过用户侧接口学习到的路由信息。
SAVA-P设备通过发送DPP报文,探测指定目的地址的IPv6报文在域内的转发路径,沿途的SAVA-P设备根据DPP报文生成SAVA-P表项。DPP报文中包含如下重要字段:
· Origin Router ID:源Router ID。用于标识发送DPP报文的SAVA-P设备。
· Dest Prefixes:目的前缀信息。目的前缀来源于设备本地FIB表中,下一跳为SAVA-P邻居的所有目的地址前缀。
· Router ID List:Router ID列表。用于记录DPP报文的路径信息。SAVA-P邻居设备在接力转发DPP报文时,会将自己的源Router ID添加到Router ID List中,再转发给下一跳邻居设备。
SAVA-P的工作机制可以概括为:
(1) SAVA-P邻居发现及TCP连接建立
(2) SAVA-P设备生成并发送SPA报文
(3) SAVA-P设备生成并发送DPP报文
(4) SAVA-P表项生成
(5) 根据SAVA-P表项对收到的IPv6报文合法性进行验证
将运行了SAVA-P协议的设备之间相连的接口类型配置为网络侧接口,那么相连的两台设备便成为了SAVA-P邻居。同时,在两台设备上均配置Router ID和Transport address:
(1) 两台设备互发携带本端Transport address的Hello报文。
(2) 通过比较本端和对端的Transport address,Transport address较小的那台设备将被选举为TCP server,另外一台成为TCP client。
(3) 两台设备之间建立TCP连接。
属于同一个域内的每台SAVA-P设备,将基于本地学习到的源前缀信息与本设备的Router ID共同生成SPA报文,并发给它所有的SAVA-P邻居。邻居设备在收到SPA报文后,将收到的SPA报文中的Router ID与本地配置的Router ID进行比较:
· 如果相同,则丢弃该SPA报文。
· 如果不同,则将报文中的源前缀信息和Router ID对应关系保存到本地的邻居信息表中,同时将收到的SPA报文接力发送给自己的所有SAVA-P邻居设备。
最终,域内每台SAVA-P设备上,都将学习到所有SAVA-P设备本地学习到的源前缀信息。
属于同一个域内的每台SAVA-P设备,查找本地FIB表,将基于FIB表中下一跳为SAVA-P邻居的所有目的前缀与本设备的Router ID共同生成DPP报文,发送给下一跳SAVA-P邻居。邻居设备在收到DPP报文后,将收到的DPP报文中的Router ID与本地配置的Router ID进行比较:
· 如果相同,则丢弃该DPP报文。
· 如果不同,则将收到报文中目的前缀与本地路由表中的目的前缀进行匹配:
¡ 如果可以匹配成功,则将DPP报文的Router ID list加上自身的Router ID,再将该报文发送给目的前缀对应的下一跳邻居。
¡ 如果无法匹配成功,则丢弃该DPP报文。
SAVA-P邻居在收到DPP报文后,会根据DPP报文中的源Router ID查找本地保存的源前缀信息。将源前缀信息与收到DPP报文的接口绑定,生成SAVA-P表项。SAVA-P表项中包含IPv6报文源前缀和报文入接口的映射关系。
SAVA-P根据SAVA-P表项对收到的IPv6报文合法性进行校验,当SAVA-P设备的接口收到IPv6报文后,如果存在该报文的源IPv6地址对应的SAVA-P表项,则报文会被接收;反之报文会被丢弃。
SAVA-P配置任务如下:
(1) 开启SAVA-P功能
(2) 配置SAVA-P设备的Router ID以及传输IPv6地址
(3) 配置SAVA-P接口类型
(4) (可选)配置SAVA-P检测仿冒报文日志功能
(1) 进入系统视图。
system-view
(2) 开启SAVA-P功能。
缺省情况下,SAVA-P功能处于关闭状态。
Router ID用来唯一标识一台SAVA-P设备,携带在SPA和DPP报文中,分别用来标识源前缀和目的前缀信息来源的SAVA-P设备。
SAVA-P邻居设备之间互发携带本端传输地址的Hello报文,SAVA-P设备通过比较本端和对端的传输地址,将传输地址较小的那台设备选举为TCP server,然后在两台设备之间建立TCP连接。
建议Router ID使用某个Loopback接口的IPv4地址,不要求路由协议可达。
建议传输地址使用某个Loopback接口的IPv6地址,要求路由协议可达,否则TCP连接无法建立。
(1) 进入系统视图。
system-view
(2) 配置SAVA-P设备的Router ID以及传输IPv6地址。
ipv6 sava protocol id router-id transport-address ipv6-address
缺省情况下,未配置SAVA-P设备的Router ID以及传输IPv6地址。
开启了SAVA-P功能的设备上支持两种SAVA-P接口类型:
· NNI接口:用于连接SAVA-P邻居。若将两台设备相连的接口均配置为NNI接口,那么这两台设备便成为了SAVA-P邻居。
· UNI接口:用于连接用户网络。
设备根据UNI接口学习到达用户接入网络的非直连路由生成用户侧前缀表项信息,并将前缀信息通过NNI接口传递给SAVA-P邻居,邻居设备根据前缀信息生成SAVA-P表项。
接口的SAVA-P的接口类型配置为nni后,不允许在该接口上开启SAVA功能,有关SAVA的详细介绍,请参见“安全配置指导”中的“SAVA”。
(1) 进入系统视图。
system-view
(2) 配置SAVA-P接口类型。
ipv6 sava protocol port-type { nni | uni }
缺省情况下,未配置SAVA-P接口类型。
SAVA-P检测仿冒报文日志可以方便管理员定位问题和解决问题。当SAVA-P检测到仿冒报文时,设备就会生成SAVA-P检测仿冒报文日志信息。生成的检测仿冒报文日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启SAVA-P检测仿冒报文日志功能。
ipv6 sava protocol log enable spoofing-packet [ interval interval | number number ] *
缺省情况下,SAVA-P检测仿冒报文日志功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后SAVA-P的运行情况,通过查看显示信息验证配置的效果。
表1-1 SAVA-P显示和维护
操作 |
命令 |
显示SAVA-P表项信息 |
display ipv6 sava protocol entry [ interface interface-type interface-number | vpn-instance vpn-instance-name | slot slot-number ] |
显示SAVA-P丢弃报文计数信息 |
display ipv6 sava protocol packet-drop statistics [ interface interface-type interface-number ] |
清除SAVA-P丢弃报文计数信息 |
reset ipv6 sava protocol packet-drop statistics [ interface interface-type interface-number ] |
如图1-1所示,局域网中的合法用户地址前缀为10::/64。在Decice A和Device B上均配置SAVA-P功能,满足如下需求:
· Device A和Device B上之间建立SAVA-P邻居,通过交互SPA和DPP报文,在两台设备上均生成相应的SAVA-P表项。
· 从用户侧进入Device A的报文,将在Device A和Device B上基于SAVA-P表项进行源地址的合法性检查,对有对应表项的报文进行接收和转发。
图1-1 SAVA-P基本组网配置组网图
(1) 配置各接口的IPv6地址。
(2) 配置骨干网域为OSPFv3域,配置参见“三层技术-IP路由配置指导”中的OSPFv3”。
(1) 配置Device A
# 开启SAVA-P功能。
<DeviceA> system-view
[DeviceA] ipv6 sava protocol enable
# 配置SAVA-P设备的Router ID以及传输IPv6地址。
[DeviceA] ipv6 sava protocol id 1.1.1.1 transport-address 1::9
# 配置Ten-GigabitEthernet3/0/1接口类型为UNI,Ten-GigabitEthernet3/0/2接口类型为NNI。
[DeviceA] interface ten-gigabitethernet 3/0/1
[DeviceA-Ten-GigabitEthernet3/0/1] ipv6 sava protocol port-type uni
[DeviceA-Ten-GigabitEthernet3/0/1] quit
[DeviceA] interface ten-gigabitethernet 3/0/2
[DeviceA-Ten-GigabitEthernet3/0/2] ipv6 sava protocol port-type nni
[DeviceA-Ten-GigabitEthernet3/0/2] quit
(2) 配置Device B
# 开启SAVA-P功能。
<DeviceB> system-view
[DeviceB] ipv6 sava protocol enable
# 配置SAVA-P设备的Router ID以及传输IPv6地址。
[DeviceB] ipv6 sava protocol id 2.2.2.2 transport-address 2::9
# 配置SAVA-P设备的接口类型。
[DeviceB] interface ten-gigabitethernet 3/0/1
[DeviceB-Ten-GigabitEthernet3/0/1] ipv6 sava protocol port-type nni
# 在Device B查看SAVA-P表项信息是否正确。
<DeviceB> display ipv6 sava protocol entry
IPv6 SAVA protocol entry count: 4
Destination/Prefix length Interface VPN instance
10::/64 XGE3/0/1 --
10::1/128 XGE3/0/1 --
20::/64 XGE3/0/1 --
20::1/128 XGE3/0/1 --
以上信息表示Device B上学到并生成了Device A本地源前缀对应的SAVA-P表项。当用户侧的报文经过Device A转发给Device B,Device B上就可以基于SAVA-P表项对报文的源地址合法性进行检查。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!