28-微分段配置
本章节下载: 28-微分段配置 (330.19 KB)
微分段(Microsegment),也叫基于精细分组的安全隔离,其实质就是基于对报文进行分组后的组标识来进行流量控制。例如,将数据中心网络中的服务器按照一定的原则进行分组,然后基于分组来部署流量控制策略,从而达到简化运维、安全管控的目的。
按照一定的原则对网络终结点(例如一个或一组服务器)划分的组。每个微分段都拥有一个全局唯一的ID。
GBP(Group Based Policy,组策略),基于微分段的流量控制策略,可以通过配置策略路由实现。一个策略路由节点对应一个GBP,通过策略路由中的apply动作对微分段间的互通进行控制。
有关策略路由的详细介绍,请参见“三层技术-IP路由配置指导”中的“策略路由”。
如图1-1所示,微分段功能由配置微分段、ACL和GBP共同组成。
微分段功能不对微分段内成员间的互通进行控制,而对微分段间的互通进行控制。其控制策略生效的位置是分组流量转发链路的源端设备,因此若需要对双向流量进行控制,则需要在两端设备上都部署微分段功能,中间节点则不需要。
微分段功能支持在IP网络、VXLAN网络和EVPN网络中部署。在不同网络中微分段功能的基本配置大致相同,不同之处在于:
· 在IP网络中,所有配置均需配置在三层网关设备上;在VXLAN网络和EVPN网络中,所有配置均需配置在VTEP上。
· 在EVPN网络中,如果本端微分段ID和成员IP地址的对应关系已经通过BGP EVPN的MAC/IP发布路由的扩展团体属性同步给了对端,则实现双向流量控制时,对端就无需配置相同的微分段,仅配置所需的ACL和GBP即可。
策略路由的流量控制动作应为apply next-hop或apply output-interface null0。
微分段功能在IP网络、VXLAN网络和EVPN网络中的基本运行机制相同。如图1-2所示,本节以IP网络中Host A至Host D的单向流为例讲述微分段功能的运行机制。
(1) Device A收到Host A发送给Host D的报文后,从报文中获取到源IP地址(192.168.1.2)和目的IP地址(192.168.1.5)。
(2) Device A根据报文的源IP地址(192.168.1.2),按照最长匹配原则查找FIB表项,获取源端Host A所属的微分段ID(微分段1)。
(3) Device A根据报文的目的IP地址(192.168.1.5),按照最长匹配原则查找FIB表项,获取目的端Host D所属的微分段ID(微分段2)。
(4) Device A根据源端Host A所属的微分段ID(微分段1)和目的端Host D所属的微分段ID(微分段2)查找ACL规则,对命中ACL的报文执行QoS策略中指定的如下动作:
¡ apply next-hop,允许报文通过。
¡ apply output-interface null0,禁止报文通过。
图1-2 三层报文在IP网络中进行转发示意图
对于跨设备转发流量也是同理,这里不再赘述。
仅S6813系列交换机支持本功能。
使用微分段对跨VPN互访的流量进行控制时,为了保证单向的流量正常转发,需要注意的是:
· 当指导流量转发的路由是网段路由时,需要在流量入VPN的设备(即源端PE)上,将网段路由的目的IP也作为成员加入微分段中。
· 当指导流量转发的路由是主机路由时,需要在流量出VPN的设备(即目的端PE)上,将主机路由的目的IP也作为成员加入微分段中。
微分段配置任务如下:
(1) 配置微分段
(2) (可选)配置聚合微分段
(3) 配置ACL
(4) 配置GBP
(5) (可选)配置微分段的网段地址成员采用的匹配方式
微分段功能可以应用在IP网络、VXLAN网络和EVPN网络中,有关各自网络的基础配置,本模块的配置步骤中略。
对双向流量都进行控制时:
· 对于IP网络和VXLAN网络,需要在两端设备上都配置微分段,且微分段的配置需完全一致。
· 对于EVPN网络,设备在发布MAC/IP路由时支持通过BGP扩展团体属性携带微分段ID,即微分段的配置仅需在本端设备上配置即可。当本端开启了微分段功能,且微分段中的成员(即IP地址)在MAC/IP发布路由中时:
¡ 微分段的信息会自动同步给对端设备。同步数据会直接在接收设备上生效,不受接收设备上microsegment enable命令的控制。
¡ 如果对端设备也开启了微分段功能,对于有冲突的数据,以同步数据为准。
有关MAC/IP发布路由的详细介绍,请参见“EVPN配置指导”中的“EVPN概述”。
当配置了空闲内存告警的门限值,且剩余空闲内存到达了告警门限后,无法创建微分段,也无法进入已创建的微分段。已配置的微分段功能可以正常使用。
(1) 进入系统视图。
system-view
(2) 创建微分段,并进入微分段视图。
microsegment microsegment-id [ name microsegment-name ]
缺省情况下,不存在微分段。
(3) 向微分段中添加成员。
member ipv4 ipv4-address { mask | mask-length } [ vpn-instance vpn-instance-name ]
缺省情况下,微分段中不存在成员。
(4) (可选)配置VSI与微分段关联,将通过该AC接入的用户加入到微分段中。
xconnect vsi命令用来将AC与VSI关联。有关本命令的详细介绍,请参见“VXLAN命令参考”。
缺省情况下,未配置VSI与微分段关联。
需要注意,使用本方式为微分段添加成员后,相关信息不支持通过display microsegment命令查看。
(5) 退回系统视图。
quit
(6) 开启微分段功能。
microsegment enable
缺省情况下,微分段功能处于关闭状态。
普通微分段是对网络终结点(例如IP地址)进行的分组,而聚合微分段是在此基础上对普通微分段进行的二次分组,以实现更加精细化的分组管理。一个聚合微分段是通过掩码对ID连续的多个普通微分段进行聚合后生成的新的微分段,它的ID是被聚合的普通微分段ID中的最小值。
如图1-3所示,微分段8~15这8个微分段间两两互通。在此基础上,如需禁止微分段12与14互通、微分段13与14互通,采用重新规划微分段相关配置会很繁琐,直接使用聚合微分段会更加便捷。聚合微分段的配置思路为:将普通微分段12与13进行聚合,生成聚合微分段(ID为12),并新建GBP禁止聚合微分段12与普通微分段14互通。
(1) 进入系统视图。
system-view
(2) 创建聚合微分段。
microsegment aggregation aggregation-id mask-length mask-length [ name aggregation-name ]
缺省情况下,不存在聚合微分段。
配置ACL时需要注意:
· 对双向流量都进行控制时,两端设备上都需要配置ACL,且ACL规则中指定的源、目的微分段互为相反。
· ACL规则中的动作需配置为permit,表示命中该规则的报文会执行策略路由中对应的apply动作中对应的流行为动作。
(1) 进入系统视图。
system-view
(2) 创建IPv4或IPv6高级ACL,并进入IPv4或IPv6高级ACL视图。请选择其中一项进行配置。
¡ acl number acl-number [ name acl-name ] [ match-order { auto | config } ]
¡ acl { advanced | basic } { acl-number | name acl-name } [ match-order { auto | config } ]
(3) 创建规则。
具体配置ACL规则的命令,请参见“ACL和QoS命令参考”中“ACL”中的rule命令。
rule命令中的destination microsegment microsegment-id和source microsegment microsegment-id必须指定,其他关键字请按需配置。
在策略路由中引用ACL,并指定策略节点的apply动作为具体下一跳(表示允许流量通过)或出接口NULL0(表示禁止流量通过),就能实现控制微分段间是否可以互通的目的。
对双向流量都进行控制时,两端设备上都需要配置策略路由。
(1) 进入系统视图。
system-view
(2) 创建策略节点,并进入策略节点视图。
policy-based-route policy-name [ permit ] node node-number
不指定permit时,缺省的匹配模式即为permit。
(3) 设置匹配ACL的规则。
if-match acl { acl-number | name acl-name }
缺省情况下,未设置ACL匹配规则。
(4) 配置策略节点的动作。下面的方法互斥,请选择其中一项进行配置。
¡ 设置报文转发的下一跳。
apply next-hop ip-address
¡ 设置报文转发的出接口为NULL0。
apply output-interface null0
缺省情况下,未配置策略节点的动作。
(5) 退回系统视图。
quit
(6) 进入接口视图。
interface interface-type interface-number
(7) 对接口转发的报文应用策略路由。
ip policy-based-route policy-name
缺省情况下,未对接口转发的报文应用策略。
报文在不同微分段间转发时,设备会根据GBP中的ACL规则来匹配报文的源地址和目的地址所属的微分段。匹配方式有以下两种:
· 精确匹配:报文源和目的地址的掩码长度与微分段成员的地址掩码长度一致。例如报文源地址为10.10.10.1/24则只能匹配到微分段的成员10.10.10.0/24,而无法匹配到微分段的成员10.10.10.0/23。
· 最长匹配:报文源和目的地址的掩码长度可以大于等于微分段成员的地址掩码长度。例如报文源地址为10.10.10.1/24可以匹配到微分段的成员10.10.10.0/16。
如果报文的源地址或目的地址是一个网段地址,即IPv4掩码长度为1~31位、IPv6前缀长度为1~127位的地址,则缺省情况下,设备使用精确匹配的原则来匹配其归属的微分段,因此使用member命令向微分段中添加某一网段路由时,必须精确指定网段地址及其掩码长度,否则报文的源和目的可能无法匹配到归属的微分段。当存在大量网段地址加入同一微分段时,必须逐个将网段地址加入到微分段中,配置较复杂。通过采用最长匹配方式匹配报文源和目的所归属的微分段,可以简化配置。例如不同报文源端地址分别属于10.10.10.0/24、10.10.20.0/24、10.10.30.0/24网段,要求这三个网段地址都匹配到微分段1,只需配置member ipv4 10.10.10.0/16即可。
不同掩码长度地址匹配微分段的方式不同:
· 对于主机地址(IPv4掩码长度为32位、IPv6为128位),按照最长匹配原则进行匹配;
· 对于缺省路由(0.0.0.0/0或0::0/0,即掩码长度为0位),按照精确匹配的原则进行匹配;
· 对于除缺省路由外的其他网段地址,执行本命令后按最长匹配原则进行匹配,否则按精确匹配进行匹配。
(1) 进入系统视图。
system-view
(2) 配置微分段的网段地址成员采用的匹配方式为最长匹配。
microsegment subnet-match longest
缺省情况下,网段地址采用精确匹配方式来匹配归属微分段。
在完成上述配置后,在任意视图下执行display命令可以显示微分段的运行情况,通过查看显示信息验证配置的效果。
表1-1 微分段显示和维护
操作 |
命令 |
显示聚合微分段的配置信息 |
display microsegment aggregation [ aggregation-id | name aggregation-name ] |
显示微分段的配置 |
display microsegment [ microsegment-id | name microsegment-name ] |
Host A与Host B由Device A接入EVPN网络,General Server与File Server由Device D接入EVPN网络。现通过配置微分段功能,实现如下需求:
· Host A、Host B和General Server可以访问File Server。
· Host A和General Server、Host B和General Server之间不可以互访。
(1) 将Host A和Host B加入微分段1。
(2) 将General Server加入微分段2,File Server加入微分段3。
(3) 配置策略路由,允许微分段1和微分段3互通,允许微分段2和微分段3互通,禁止微分段1和微分段2互通。
仅Device A上需要手工配置微分段,相关配置会通过BGP同步至Device D上。
有关EVPN相关功能的配置略。
(1) 配置微分段
# 创建微分段1,将Host A和Host B的IP地址添加为微分段1的成员。
<DeviceA> system-view
[DeviceA] microsegment 1 name EPG1
[DeviceA-microsegment-1] member ipv4 192.168.1.1 32
[DeviceA-microsegment-1] member ipv4 192.168.2.1 32
[DeviceA-microsegment-1] quit
# 创建微分段2,将General Server的IP地址添加为微分段2的成员。
[DeviceA] microsegment 2 name EPG2
[DeviceA-microsegment-2] member ipv4 192.168.3.1 32
[DeviceA-microsegment-2] quit
# 创建微分段3,将File Server的IP地址添加为微分段3的成员。
[DeviceA] microsegment 3 name EPG3
[DeviceA-microsegment-3] member ipv4 192.168.4.1 32
[DeviceA-microsegment-3] quit
# 开启微分段功能。
[DeviceA] microsegment enable
(2) 配置ACL
# 创建名为EPG1-EPG3的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段1,目的微分段为微分段3。
[DeviceA] acl advanced name EPG1-EPG3
[DeviceA-acl-ipv4-adv-EPG1-EPG3] rule 0 permit ip source microsegment 1 destination microsegment 3
[Device-acl-ipv4-adv-EPG1-EPG3] quit
# 创建名为EPG1-EPG2的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段1,目的微分段为微分段2。
[DeviceA] acl advanced name EPG1-EPG2
[DeviceA-acl-ipv4-adv-EPG1-EPG2] rule 0 permit ip source microsegment 1 destination microsegment 2
[DeviceA-acl-ipv4-adv-EPG1-EPG2] quit
(3) 配置策略路由
# 创建策略路由GBP1,节点号为0,引用ACL EPG1-EPG3,设置报文转发的下一跳为192.168.4.1,使微分段1中的Host A和Host B可以访问微分段3中的File Server。
[DeviceA] policy-based-route GBP1 node 0
[DeviceA-pbr-GBP1-0] if-match acl name EPG1-EPG3
[DeviceA-pbr-GBP1-0] apply next-hop 192.168.4.1
[DeviceA-pbr-GBP1-0] quit
# 创建策略路由GBP1,节点号为1,引用ACL EPG1-EPG2,设置报文转发的出接口为NULL0,使微分段1中的Host A和Host B不可以访问微分段2中的General Server。
[DeviceA] policy-based-route GBP1 node 1
[DeviceA-pbr-GBP1-1] if-match acl name EPG1-EPG2
[DeviceA-pbr-GBP1-1] apply output-interface null0
[DeviceA-pbr-GBP1-1] quit
# 将策略路由GBP1应用在VLAN接口11上。
[DeviceA] interface vlan-interface 11
[DeviceA-Vlan-interface11] ip policy-based-route GBP1
[DeviceA-Vlan-interface11] quit
# 将策略路由GBP1应用在VLAN接口12上。
[DeviceA] interface vlan-interface 12
[DeviceA-Vlan-interface12] ip policy-based-route GBP1
[DeviceA-Vlan-interface12] quit
(1) 配置微分段
# 创建微分段1,将Host A和Host B的IP地址添加为微分段1的成员。
<DeviceD> system-view
[DeviceD] microsegment 1 name EPG1
[DeviceD-microsegment-1] member ipv4 192.168.1.1 32
[DeviceD-microsegment-1] member ipv4 192.168.2.1 32
[DeviceD-microsegment-1] quit
# 创建微分段2,将General Server的IP地址添加为微分段2的成员。
[DeviceD] microsegment 2 name EPG2
[DeviceD-microsegment-2] member ipv4 192.168.3.1 32
[DeviceD-microsegment-2] quit
# 创建微分段3,将File Server的IP地址添加为微分段3的成员。
[DeviceD] microsegment 3 name EPG3
[DeviceD-microsegment-3] member ipv4 192.168.4.1 32
[DeviceD-microsegment-3] quit
# 开启微分段功能。
[DeviceD] microsegment enable
(2) 配置ACL
# 创建名为EPG3-EPG1的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段3,目的微分段为微分段1。
<DeviceD> system-view
[DeviceD] acl advanced name EPG3-EPG1
[DeviceD-acl-ipv4-adv-EPG3-EPG1] rule 0 permit ip source microsegment 3 destination microsegment 1
[DeviceD-acl-ipv4-adv-EPG3-EPG1] quit
# 创建名为EPG2-EPG1的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段2,目的微分段为微分段1。
[DeviceD] acl advanced name EPG2-EPG1
[DeviceD-acl-ipv4-adv-EPG2-EPG1] rule 0 permit ip source microsegment 2 destination microsegment 1
[DeviceD-acl-ipv4-adv-EPG2-EPG1] quit
# 创建名为EPG2-EPG3的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段2,目的微分段为微分段3。
[DeviceD] acl advanced name EPG2-EPG3
[DeviceD-acl-ipv4-adv-EPG2-EPG3] rule 0 permit ip source microsegment 2 destination microsegment 3
[DeviceD-acl-ipv4-adv-EPG2-EPG3] quit
# 创建名为EPG3-EPG2的IPv4高级ACL,并配置规则:协议类型为ip,源微分段为微分段3,目的微分段为微分段2。
[DeviceD] acl advanced name EPG3-EPG2
[DeviceD-acl-ipv4-adv-EPG3-EPG2] rule 0 permit ip source microsegment 3 destination microsegment 2
[DeviceD-acl-ipv4-adv-EPG3-EPG2] quit
(3) 配置策略路由
# 创建策略路由GBP2,节点号为0,引用ACL EPG2-EPG3,设置报文转发的下一跳为192.168.4.1,使微分段2中的General Server可以访问微分段3中的File Server。
[DeviceD] policy-based-route GBP2 node 0
[DeviceD-pbr-GBP2-0] if-match acl name EPG2-EPG3
[DeviceD-pbr-GBP2-0] apply next-hop 192.168.4.1
[DeviceD-pbr-GBP2-0] quit
# 创建策略路由GBP2,节点号为1,引用ACL EPG2-EPG1,设置报文转发的出接口为NULL0,使微分段2中的General Server不可以访问微分段1中的Host A和Host B。
[DeviceD] policy-based-route GBP2 node 1
[DeviceD-pbr-GBP2-1] if-match acl name EPG2-EPG1
[DeviceD-pbr-GBP2-1] apply output-interface null0
[DeviceD-pbr-GBP2-1] quit
# 创建策略路由GBP3,节点号为0,引用ACL EPG3-EPG1,设置报文转发的下一跳为192.168.1.1和192.168.2.1,使微分段3中的File Server可以访问微分段1中的Host A和Host B。
[DeviceD] policy-based-route GBP3 node 0
[DeviceD-pbr-GBP3-0] if-match acl name EPG3-EPG1
[DeviceD-pbr-GBP3-0] apply next-hop 192.168.1.1 192.168.2.1
[DeviceD-pbr-GBP3-0] quit
# 创建策略路由GBP3,节点号为1,引用ACL EPG3-EPG2,设置报文转发的下一跳为192.168.3.1,使微分段3中的File Server可以访问微分段2中的General Server。
[DeviceD] policy-based-route GBP3 node 1
[DeviceD-pbr-GBP3-1] if-match acl name EPG3-EPG2
[DeviceD-pbr-GBP3-1] apply next-hop 192.168.3.1
[DeviceD-pbr-GBP3-1] quit
# 将策略路由GBP2应用在VLAN接口14上。
[DeviceD] interface vlan-interface 14
[DeviceD-Vlan-interface14] ip policy-based-route GBP2
[DeviceD-Vlan-interface14] quit
# 将策略路由GBP3应用在VLAN接口15上。
[DeviceD] interface vlan-interface 15
[DeviceD-vlan-interface15] ip policy-based-route GBP3
[DeviceD-vlan-interface15] quit
# 分别在Host A和Host B上检查到General Server是否可达。
C:\> ping 192.168.3.1
Pinging 192.168.3.1 with 32 bytes of data:
Request timed out
Request timed out
Request timed out
Request timed out
Ping statistics for 192.168.3.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Host A和Host B无法ping通General Server。
# 分别在Host A、Host B上检查到Filer Server是否可达。
C:\> ping 192.168.4.1
Pinging 192.168.40.100 with 32 bytes of data:
Reply from 192.168.10.100: bytes=32 time=1ms TTL=255
Reply from 192.168.10.100: bytes=32 time<1ms TTL=255
Reply from 192.168.10.100: bytes=32 time<1ms TTL=255
Reply from 192.168.10.100: bytes=32 time<1ms TTL=255
Ping statistics for 192.168.10.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
Host A和Host B可以ping通Filer Server。
# 查看Device A上各微分段的配置信息。
[DeviceA] display microsegment 1
Microsegment ID : 1
Microsegment name : EPG1
IPv4 member:
192.168.1.1/32
192.168.2.1/32
[DeviceA] display microsegment 2
Microsegment ID : 2
Microsegment name : EPG2
IPv4 member:
192.168.3.1/32
[DeviceA] display microsegment 3
Microsegment ID : 3
Microsegment name : EPG3
IPv4 member:
192.168.4.1/32
# 查看Device A上微分段的概要和状态信息。
[DeviceA] display microsegment
Microsegment status: Enabled
Total microsegments: 3
Microsegment list :
Microsegment ID Members Microsegment name
1 2 EPG1
2 1 EPG2
3 1 EPG3
# 查看Device A上ACL的配置信息。
[DeviceA] display acl all
Advanced IPv4 ACL named EPG1-EPG2, 1 rule,
ACL's step is 5, start ID is 0
rule 0 permit ip source microsegment 1 destination microsegment 2
Advanced IPv4 ACL named EPG1-EPG3, 1 rule,
ACL's step is 5, start ID is 0
rule 0 permit ip source microsegment 1 destination microsegment 3
# 查看Device A接口下策略路由的配置和统计信息。
[DeviceA] display ip policy-based-route interface vlan-interface 11
Policy-based routing information for interface Vlan-interface11:
Policy name: GBP1
node 0 permit:
if-match acl name EPG1-EPG3
apply next-hop 192.168.4.1
Matches: 20, bytes: 20000
node 1 permit:
if-match acl name EPG1-EPG2
apply output-interface NULL0
Matches: 4, bytes: 4000
Total matches: 24, total bytes: 24000
[DeviceA] display ip policy-based-route interface vlan-interface 12
Policy-based routing information for interface Vlan-interface12:
Policy name: GBP1
node 0 permit:
if-match acl name EPG1-EPG3
apply next-hop 192.168.4.1
Matches: 20, bytes: 20000
node 1 permit:
if-match acl name EPG1-EPG2
apply output-interface NULL0
Matches: 4, bytes: 4000
Total matches: 24, total bytes: 24000
# 查看Device D上微分段、ACL和策略路由的相关配置信息略。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!