02-Context配置
本章节下载: 02-Context配置 (399.28 KB)
目 录
通过虚拟化技术将一台物理设备划分成多台逻辑设备,每台逻辑设备就称为一个Context。每个Context拥有自己专属的软硬件资源,独立运行。
对于用户来说,每个Context就是一台独立的设备,方便管理和维护;对于管理者来说,可以将一台物理设备虚拟成多台逻辑设备供不同的分支机构使用,可以保护现有投资,提高组网灵活性。
如图1-1所示,LAN 1、LAN 2和LAN 3是三个不同的局域网,它们通过同一台设备Device连接到外网。通过虚拟化技术,能让一台设备当三台设备使用。具体做法是,在Device上创建三个Context(Context 1、Context 2、Context 3),分别负责LAN 1、LAN 2、LAN 3的安全接入。LAN 1、LAN 2、LAN 3的网络管理员可以(也只能)分别登录到自己的设备进行配置、保存、重启等操作,不会影响其它网络的使用,其效果等同于LAN 1、LAN 2和LAN 3分别通过各自的设备Device 1、Device 2、Device 3接入Internet。
图1-1 Context组网示意图
· 设备支持Context功能后,整台物理设备就是一个Context,称为缺省Context,如图1-1中的Device。当用户登录物理设备时,实际登录的就是缺省Context。用户在物理设备上的配置实质就是对缺省Context的配置。缺省Context的名称为Admin,编号为1。缺省Context不需要创建,不能删除。
· 与缺省Context相对应的是非缺省Context,如图1-1中的Context 1、Context 2、Context 3。非缺省Context是管理员在设备上通过命令行创建的,可分配给不同的接入网络使用。
· 缺省Context拥有对整台物理设备的所有权限,它可以使用和管理设备所有的资源。缺省Context下可以创建/删除非缺省Context,给非缺省Context分配CPU资源/内存空间、接口、VLAN、VXLAN,没有分配的CPU资源/内存空间、接口、VLAN、VXLAN由缺省Context使用和管理。
· 非缺省Context下不可再创建/删除非缺省Context,它只能使用缺省Context分配给自己的资源,并在缺省Context指定的资源限制范围内工作,不能抢占其他Context或者系统剩余的资源。
· 非缺省Context下不支持共享口的报文捕获功能,关于报文捕获功能的详细描述请参见“网络管理和监控配置指导”中的“报文捕获配置”。
本特性的支持情况与设备型号有关,请以设备的实际情况为准。
F1000系列 |
型号 |
说明 |
F1000-X-G5系列 |
F1000-A-G5、F1000-S-G5、F1000-C-G5、F1000-C-G5-LI、F1000-E-G5、F1000-H-G5 |
支持 |
F1000-X-XI系列 |
F1000-D-XI、F1000-E-XI |
支持 |
F100系列 |
型号 |
说明 |
F100-X-G5系列 |
F100-A-G5、F100-E-G5 |
支持 |
F100-C-G5、F100-M-G5、F100-S-G5 |
不支持 |
|
F100-C-A系列 |
F100-C-A2、F100-C-A1 |
不支持 |
F100-X-XI系列 |
F100-A-XI、F100-C-XI、F100-S-XI |
不支持 |
对于本文列出的命令,缺省Context均支持,非缺省Context只支持display context interface、display context reboot、reset context reboot命令。
非缺省Context中的DPI业务功能使用缺省Context中的应用层检测引擎对报文进行匹配,当创建、删除、关闭和重启非缺省Context时,缺省Context中的应用层检测引擎会重新激活,激活期间设备上的所有Context均不能对报文进行DPI业务处理。
Context配置任务如下:
(1) 创建Context
(2) (可选)为Context分配资源
(3) (可选)限制Context的资源使用
(4) 启动Context
(5) (可选)为Context分配CPU/内存资源
(6) 访问和管理Context
(7) (可选)配置Context限速功能
(8) (可选)配置CPU核的攻击防范阈值
(9) (可选)收集各Context的日志信息
创建Context相当于构造了一台新的设备。
创建Context时,通过vlan-unshared参数可选择是否和其它Context共享VLAN:
· 如果选择和其它Context共享VLAN,需要在缺省Context内创建并配置VLAN,再分配给非缺省Context。共享VLAN由多个Context共同所有。VLAN 1为系统缺省VLAN,由缺省Context独有,不能分配给非缺省Context。此种方式的非缺省Context不支持将以太网接口切换为二层模式,也不支持将二层以太网接口独占方式分配给此种非缺省Context。
· 如果选择不和其它Context共享VLAN,请登录该Context,并使用vlan命令创建VLAN 2~VLAN 4094。VLAN 1为缺省VLAN,用户不能手工创建和删除。Context各自使用和管理VLAN,互不干扰。
(1) 进入系统视图。
system-view
(2) 创建Context,并进入Context视图。
context context-name [ id context-id ] [ vlan-unshared ]
缺省情况下,设备上存在缺省Context,名称为Admin,编号为1。
(3) (可选)配置Context的描述信息。
description text
缺省情况下,缺省Context描述信息为DefaultContext。非缺省Context没有配置描述信息。
设备上的所有接口都属于缺省Context,不属于任何非缺省Context。请给非缺省Context分配接口,它才能和网络中的其它设备通信。
为了提高设备接口的利用率,在给Context分配接口时,可以选择:
· 独占方式分配(不带share参数)。使用该方式分配的接口仅归该Context所有、使用。用户登录该Context后,能查看到该接口,并执行接口支持的所有命令。
· 共享方式分配(带share参数):表示将一个接口分配给多个Context使用,这些Context共享这个物理接口,但是在各个Context内会创建一个同名的虚接口,这些虚接口具有不同的MAC地址和IP地址。设备从共享的物理接口接收报文后交给对应的虚拟接口处理;出方向,虚拟接口处理完报文后,会交给共享的物理接口发送。使用该方式,可以提高设备接口的利用率。通过共享方式分配的接口:
¡ 在缺省Context内仍然存在该接口,该接口可执行接口支持的所有命令;
¡ 在非缺省Context内,会新建一个同名接口,用户登录这些Context后,能查看到该接口,但只能执description以及网络/安全相关的命令。
当设备运行在IRF模式时,禁止将IRF物理端口分配给Context。
聚合接口的成员接口不能分配给Context。
冗余口的成员接口不能分配给Context,当冗余口的成员接口为子接口时,其子接口的主接口也不能分配给Context。
逻辑接口(如子接口、聚合接口等)仅支持共享方式分配,物理接口支持独占和共享两种方式分配。
如果子接口已经被分配,则不能再分配其父接口;如果父接口已经被分配,则不能再分配其子接口。
如果接口已经被共享分配,则不能再独占分配。需将共享分配配置取消后,才能独占分配。
为使非缺省Context之间可以互通,必须在缺省Context中将物理接口或逻辑接口以共享方式分配给非缺省Context。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 为Context分配接口。
¡ 非连续接口配置。
allocate interface { interface-type interface-number }&<1-24> [ share ]
¡ 连续接口配置。
allocate interface interface-type interface-number1 to interface-type interface-number2 [ share ]
缺省情况下,设备上的所有接口都属于缺省Context,不属于任何非缺省Context。
创建Context时,如果不选择vlan-unshared参数,则表示和其它Context共享VLAN。
对于共享VLAN,请先在缺省Context内创建VLAN,再通过allocate vlan命令将指定VLAN分配给指定的Context使用。
VLAN 1不能被共享。
端口的缺省VLAN不能被共享。
已经创建了VLAN接口的VLAN不能被共享。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 为Context分配VLAN。
¡ 非连续VLAN配置。
allocate vlan vlan-id&<1-24>
¡ 连续VLAN配置。
allocate vlan vlan-id1 to vlan-id2
缺省情况下,没有为Context分配VLAN。
为Context分配的VXLAN仅归该Context所有,其他Context不能对其进行使用、配置。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 为Context分配VXLAN。
¡ 非连续VXLAN配置。
allocate vxlan vxlan-id&<1-24>
¡ 连续VXLAN配置。
allocate vxlan vxlan-id1 to vxlan-id2
缺省情况下,没有为Context分配VXLAN。
为了防止一个Context发送的报文过多而导致其它Context发送的报文被丢弃,需要限制Context出方向的吞吐量。
除此之外,还可以针对Context的出方向吞吐量限制开启吞吐量告警功能和吞吐量限速丢包日志功能。
· 出方向吞吐量告警功能:开启此功能并设置告警阈值后,当Context的出方向吞吐量与出方向吞吐量限制值的比值超过了所设置的告警阈值,设备会生成告警日志;之后,当Context的出方向吞吐量与出方向吞吐量限制值的比值恢复到告警阈值以下,设备会生成恢复日志。
· 出方向吞吐量限速丢包日志功能:开启此功能后,当Context的出方向吞吐量达到出方向吞吐量限制值,设备会将超出限制值的报文丢弃,并对丢弃的报文生成日志信息;之后,如果该Context的出方向吞吐量降低到出方向吞吐量限制值以下,设备会生成恢复日志。
上面生成的日志信息将会被输出到信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。有关信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。
开启Context出方向吞吐量限速的SNMP告警功能后,上面生成的日志信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关SNMP的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context出方向的吞吐量限制。
capability throughput { gbps | kbps | mbps | pps } value
缺省情况下,各Context出方向不做吞吐量限制,按实际能力转发。
(4) (可选)开启Context出方向吞吐量告警功能并设置告警阈值。
context-capability throughput alarm enable alarm-threshold alarm-threshold
缺省情况下,Context出方向吞吐量告警功能处于关闭状态。
(5) (可选)开启Context出方向吞吐量限速丢包日志功能。
context-capability throughput drop-logging enable
缺省情况下,Context出方向吞吐量限速丢包日志功能处于关闭状态。
(6) (可选)开启Context出方向吞吐量限速的SNMP告警功能。
snmp-agent trap enable sib
缺省情况下,Context出方向吞吐量限速的SNMP告警功能处于关闭状态。
一个Context内可以配置多个对象策略,一个对象策略内包含多个规则。如果不加限制,会出现大量规则占用过多的内存的情况,影响Context的其它功能正常运行。所以,请根据需要为Context设置对象策略规则总数限制。当规则总数达到限制值时,后续不能新增规则。
关于对象策略的详细描述请参见“安全配置指导”中的“对象策略”。
如果设置的最大值比当前存在的规则总数小,配置仍会成功,多出的规则不会删除,依然生效,但不能新增规则。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context的对象策略规则总数限制。
capability object-policy-rule maximum max-value
缺省情况下,未对Context的对象策略规则总数进行限制。
一个Context内可以配置多个安全策略规则。如果不加限制,会出现大量规则占用过多的内存的情况,影响Context的其它功能正常运行。所以,请根据需要为Context设置安全策略规则总数限制。当规则总数达到限制值时,后续不能新增规则。
关于安全策略的详细描述请参见“安全配置指导”中的“安全策略”。
如果设置的最大值比当前存在的规则总数小,配置仍会成功,多出的规则不会删除,依然生效,但不能新增规则。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context的安全策略规则总数限制。
capability security-policy-rule maximum max-value
缺省情况下,未对Context的安全策略规则总数进行限制。
如果一个Context建立了太多会话表会导致其他Context的会话由于内存不够而无法建立,为了防止这种情况,需要限制Context建立会话表的数量。
Context会话并发数限制对本机流量不生效,例如:FTP、Telnet、SSH、HTTP和HTTP类型的七层负载均衡等业务。
当Context下单播会话并发数上限使用率超过指定阈值时,发送会话并发数上限使用率超过阈值告警;当会话并发数上限使用率下降至指定阈值时,会发送会话并发数上限使用率低于阈值告警。
如果设置的最大值比当前存在的会话总数小,配置仍会成功,但不允许新建会话,且已经创建的会话不会被删除,依然生效。直到已建立的会话通过老化机制使得会话总数低于配置的最大值后,系统才允许新建会话。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context的单播会话并发数限制。
capability session maximum max-number
缺省情况下,未对Context允许的单播会话并发数进行限制。
(4) 设置Context的单播会话并发数上限使用率告警阈值。
capability session maximum threshold threshold-value
缺省情况下,Context的单播会话并发数上限使用率告警阈值为95%
如果一个Context的会话新建速率过快会导致其他Context由于CPU处理能力不够而无法建立会话,为了防止这种情况,需要限制Context的会话新建速率。
Context会话新建速率限制对本机流量不生效,例如:FTP、Telnet、SSH、HTTP和HTTP类型的七层负载均衡等业务。
当Context会话新建速率上限使用率超过指定阈值时,发送会话新建速率上限使用率超过阈值告警;当会话新建速率上限使用率下降至指定阈值时,会发送会话新建速率上限使用率低于阈值告警。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context的会话新建速率限制。
capability session rate max-value
缺省情况下,未对Context允许的会话新建速率进行限制。
(4) 设置Context的会话新建速率上限使用率告警阈值。
capability session rate threshold threshold-value
缺省情况下,Context的会话新建速率上限使用率告警阈值为95%。
目前SSL VPN的用户数目由设备License控制,设备全部用户总数不能超过License控制,如果一个Context的用户总数到达了License限制,则会出现其他Context用户无法上线的问题,因此需要限制Context的上线用户数,同时设备全部用户总数仍受License控制。
如果设置的数值小于当前Context的SSL VPN登录用户总数,则配置可以成功,但不再允许新的用户登录,且已经登录的用户不会被删除,依然生效。直到已登录的用户通过老化机制下线或用户主动下线,使得用户总数低于配置的最大值后,系统才允许新的用户登录。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 设置Context的SSL VPN登录用户数限制。
capability sslvpn-user maximum max-number
缺省情况下,未对Context的SSL VPN登录用户总数进行限制,由设备上SSL VPN Licence使用情况决定。
Context创建后需要启动,才能完成新Context的初始化,相当于上电启动。启动后,用户可以登录到该Context执行配置。
正常程序启动Context时,设备会先做一些检查(比如Context的主、备进程能否正常启动),满足条件后,才启动Context,该命令会保证主备的Context状态一致,如果某成员设备上的Context启动失败,则会导致所有该Context进程启动失败。正常程序启动的Context能更好的保证Context的业务正常运行,所以,通常情况下,使用context start命令启动Context即可。force参数用于以下场景:在IRF环境,如果主备倒换或者配置恢复过程中出现内存不足,会导致部分Context虽然可以处理业务,但因为它们的主、备进程状态不一致,这些Context一直停留在updating或者inactive状态。当内存资源恢复后,执行context start force命令,设备会在不中断业务的情况下,尽可能修复不正常的Conext进程,让这些Context恢复到正常状态。
在使用context start force前,用户可以通过display context、display system internal context configuration-status、display system internal context id contex-id running-status命令查看Context的运行情况。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 启动Context。
context start [ force ]
缺省情况下,Context会共享设备上的CPU/内存资源,为了防止一个Context过多的占用CPU/内存,而导致其它Context无法运行,需要限制Context对CPU/内存资源的使用。
当CPU无法满足所有Context的处理需求时,系统将按照CPU权重值为每个Context分配处理时间。通过调整Context的权重,可以使指定的Context获得更多的CPU资源,保证关键业务的运行。例如:在三个Context中,将处理关键业务的Context的CPU权重设置为2,其余两个Context的CPU权重设置为1,则当CPU处理能力不足时,将为关键业务Context提供2倍于其它Context的处理时间。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 指定Context的CPU权重。
limit-resource cpu weight weight-value
缺省情况下,Context的CPU权重为10。
建议在Context正常启动后再为Context分配内存空间上限,如果Context仅创建未启动,可能会由于内存不足,造成Context无法正常启动。在Context启动后,配置的内存上限值还不应过小,以免Context内业务申请不到内存后引起功能不正常。
(1) 进入系统视图。
system-view
(2) 进入Context视图。
context context-name
(3) 显示Context对内存资源的使用情况。
display context resource memory
(4) 配置Context可使用的内存空间上限。
limit-resource memory slot slot-number cpu cpu-number ratio limit-ratio
缺省情况下,所有Context共享物理设备上的所有内存空间,每个Context可使用的内存空间上限为空闲内存空间值。
只要用户和设备之间路由可达,就能使用switchto context命令,通过设备和Context的内部连接,登录Context。
除了上述方式,用户还可以通过Context上的接口,使用该Context的IP地址进行Telnet/SSH登录。
(1) 进入系统视图。
system-view
(2) 登录Context。
switchto context context-name
用户登录Context后,可以在Context的用户视图执行quit命令来退出登录。此时,命令视图将从当前Context的用户视图返回到缺省Context的系统视图。
如果一个Context接收和处理的广播报文过多,将会导致其他Context处理业务能力的下降,因此需要限制Context接收广播报文的数量。
Context对入方向广播报文进行限速是通过整机接收报文限速和单个Context接收报文限速共同实现。当广播报文总速率和单个Context广播报文速率均达到各自阈值后,发往此Context的广播报文会被设备丢弃,否则不会被丢弃。
此功能仅限制入方向报文的速率。
此功能仅对使用共享接口且处于Active状态的Context生效。
当整机或单个Context广播限速阈值为零时表示不对广播报文限速。
(1) 进入系统视图。
system-view
(2) 配置所有Context入方向广播报文的总速率限制。
context-capability inbound broadcast total pps threshold
缺省情况下,所有Context入方向广播报文总速率限制与设备型号有关,具体信息请参见命令参考手册。
(3) 配置缺省Context入方向广播报文的速率限制。
context-capability inbound broadcast single pps threshold
缺省情况下,缺省Context入方向广播报文限速速率为广播报文总速率阈值除以使用共享接口且处于Active状态的Context的总数。
(4) 进入Context视图。
context context-name
(5) 配置单个非缺省Context入方向广播报文的速率限制。
context-capability inbound broadcast single pps threshold
缺省情况下,单个非缺省Context入方向广播报文限速速率为广播报文总速率阈值除以使用共享接口且处于Active状态的Context的总数。
如果一个Context接收和处理的组播报文过多,将会导致其他Context处理业务能力的下降,因此需要限制Context接收组播报文的数量。
Context对入方向组播报文进行限速是通过整机接收报文限速和单个Context接收报文限速共同实现。当组播报文总速率和单个Context组播报文速率均达到各自阈值后,发往此Context的组播报文会被设备丢弃,否则不会被丢弃。
此功能仅限制入方向报文的速率。
此功能仅对使用共享接口且处于Active状态的Context生效。
当整机或单个Context组播限速阈值为零时表示不对组播报文进行限速。
(1) 进入系统视图。
system-view
(2) 配置所有Context入方向组播报文的总速率限制。
context-capability inbound multicast total pps threshold
缺省情况下,所有Context入方向组播报文总速率限制与设备型号有关,具体信息请参见命令参考手册。
(3) 配置缺省Context入方向组播报文的速率限制。
context-capability inbound multicast single pps threshold
缺省情况下,缺省Context入方向组播报文限速速率为组播报文总速率阈值除以使用共享接口且处于Active状态的Context的总数。
(4) 进入Context视图。
context context-name
(5) 配置单个非缺省Context入方向组播报文的速率限制。
context-capability inbound multicast single pps threshold
缺省情况下,单个非缺省Context入方向组播报文限速速率为组播报文总速率阈值除以使用共享接口且处于Active状态的Context的总数。
开启此功能后,当Context接收到的广播报文或组播报文因达到系统设置的阈值而被丢弃时,设备将会对丢弃的报文生成日志信息。此日志信息将会被输出到信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。有关信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启Context入方向报文限速丢包日志功能。
context-capability inbound drop-logging enable
缺省情况下,Context入方向报文限速丢包日志功能处于关闭状态。
此功能对所有Context入方向上的所有报文(包括广播报文、组播报文和单播报文)均生效。
当某CPU核的利用率达到此攻击防范阈值,并且驱动公共队列已满时,系统则认为该CPU核受到了攻击。这时,系统将按照配置的单核CPU攻击防范动作(通过attack-defense cpu-core action命令配置)对报文进行相应的处理。
有关attack-defense cpu-core action命令详细介绍,请参见“安全命令参考”中的“攻击检测与防范”。
(1) 进入系统视图。
system-view
(2) 配置设备入方向所有报文对CPU核的攻击防范阈值。
context-capability inbound unicast total cpu-usage threshold
缺省情况下,设备入方向所有报文对CPU核的攻击防范阈值为95%。
此功能可以收集logfile文件夹和diagfile文件夹下的所有文件。
请在用户视图下执行本命令,收集各Context的日志信息
tar context [ name context-name ] log file filename
在完成Context相关配置后,在任意视图下执行display命令,可以显示配置后Context的运行情况,通过查看显示信息,来验证配置的效果。
在用户视图下,用户可以执行reset命令清除Context相关信息。
表1-1 缺省Context上可执行的显示和维护
操作 |
命令 |
显示Context的相关信息 |
display context [ name context-name ] [ verbose ] |
显示Context内可分配业务资源的使用情况 |
display context [ name context-name ] capability [ security-policy | { session | throughout } [ slot slot-number ] | sslvpn-user ] |
显示Context入方向广播报文的速率限制的统计信息 |
display context name context-name capability inbound broadcast slot slot-number |
显示Context入方向组播报文的速率限制的统计信息 |
display context name context-name capability inbound multicast slot slot-number |
显示CPU核受到攻击的相关统计信息 |
display capability inbound unicast slot slot-number |
显示各Context的配置信息 |
display context [ name context-name ] configuration [ file filename ] |
显示为Context分配的接口列表 |
display context [ name context-name ] interface |
显示Context对CPU/内存资源的使用情况 |
display context [ name context-name ] resource [ cpu | memory ] [ slot slot-number cpu cpu-number ] |
显示Context内资源的统计信息 |
display context [ name context-name ] statistics [ file filename ] |
显示Context的VLAN列表 |
display context [ name context-name ] vlan |
显示非缺省Context的重启信息 |
display context name context-name reboot show-number [ offset ] |
显示所有Context内SSL VPN在线用户数 |
display context online-users sslvpn |
清除Context入方向广播报文的速率限制的统计信息 |
reset context name context-name capability inbound broadcast slot slot-number |
清除Context入方向组播报文的速率限制的统计信息 |
reset context name context-name capability inbound multicast slot slot-number |
清除非缺省Context的重启信息 |
reset context [ name context-name ] reboot |
表1-2 非缺省Context上可执行的显示和维护
操作 |
命令 |
显示Context的接口列表 |
display context [ name context-name ] interface |
显示本Context的重启信息 |
display context reboot show-number [ offset ] |
清除本Context的重启信息 |
reset context reboot |
将设备Device虚拟成三台独立的Device:Context cnt1、Context cnt2、Context cnt3,并分给三个不同的用户网络进行安全防护。要求在用户侧看来,各自的接入设备是独享的。
· LAN 1、LAN 2、LAN 3分别属于公司A、公司B、公司C,现各公司的网络均需要进行安全防护。公司A使用的网段为192.168.1.0/24,公司B使用的网段为192.168.2.0/24,公司C使用的网段为192.168.3.0/24。
· 公司A的用户多,业务需求复杂,因此需要给Context cnt1提供较大的内存空间使用上限,以便保存配置文件、启动文件和系统信息等;公司C人员规模小,上网流量比较少,对接入Device的配置及性能要求较低,因此对Context cnt3提供较低的CPU权重。
· GigabitEthernet1/0/1和GigabitEthernet1/0/4分配给Context cnt1、GigabitEthernet1/0/2和GigabitEthernet1/0/5分配给Context cnt2、GigabitEthernet1/0/3和GigabitEthernet1/0/6分配给Context cnt3。
图1-2 Context基本组网配置组网图
(1) 创建并配置Context cnt1,供公司A使用
# 创建Context cnt1,设置描述信息。
<Device> system-view
[Device] context cnt1
[Device-context-2-cnt1] description context-1
# 配置Context cnt1的内存使用上限为60%、CPU权重为8,具体配置步骤如下。
[Device-context-2-cnt1] limit-resource memory slot 1 cpu 0 ratio 60
[Device-context-2-cnt1] limit-resource cpu weight 8
# 将接口GigabitEthernet1/0/1和GigabitEthernet1/0/4分配给Context cnt1。
[Device-context-2-cnt1] allocate interface gigabitethernet 1/0/1 gigabitethernet 1/0/4
Configuration of the interfaces will be lost. Continue? [Y/N]:y
# 启动Context cnt1。
[Device-context-2-cnt1] context start
It will take some time to start the context...
Context started successfully.
[Device-context-2-cnt1] quit
# 切换到Context cnt1。
[Device] switchto context cnt1
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<H3C> system-view
# 配置Telnet功能,保证管理用户可以正常登录设备,具体配置步骤请参考“基础配置指导”中的“登录设备”。
# 将Context cnt1的名称修改为cnt1,以便和其它Context区别。
[H3C] sysname cnt1
# 配置接口GigabitEthernet1/0/1的IP地址为192.168.1.251,供公司A的管理用户远程登录。
[cnt1] interface gigabitethernet 1/0/1
[cnt1-GigabitEthernet1/0/1] ip address 192.168.1.251 24
# 从自定义Context cnt1返回缺省Context。
[cnt1-GigabitEthernet1/0/1] return
<cnt1> quit
[Device]
(2) 创建并配置Context cnt2,供公司B使用
# 创建Context cnt2,设置描述信息
[Device] context cnt2
[Device-context-3-cnt2] description context-2
# 将接口GigabitEthernet1/0/2和GigabitEthernet1/0/5分配给Context cnt2。
[Device-context-3-cnt2] allocate interface gigabitethernet 1/0/2 gigabitethernet 1/0/5
Configuration of the interfaces will be lost. Continue? [Y/N]:y
# 启动Context cnt2。
[Device-context-3-cnt2] context start
It will take some time to start the context...
Context started successfully.
[Device-context-3-cnt2] quit
# 切换到Context cnt2。
[Device] switchto context cnt2
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<H3C> system-view
# 配置Telnet功能,保证管理用户可以正常登录设备,具体配置步骤请参考“基础配置指导”中的“登录设备”。
# 将Context cnt2的名称修改为cnt2,以便和其它Context区别。
[H3C] sysname cnt2
# 配置接口GigabitEthernet1/0/2的IP地址为192.168.2.251,供公司B的管理用户远程登录。
[cnt2] interface gigabitethernet 1/0/2
[cnt2-GigabitEthernet1/0/2] ip address 192.168.2.251 24
# 从自定义Context cnt2返回缺省Context。
[cnt2-GigabitEthernet1/0/2] return
<cnt2> quit
[Device]
(3) 创建并配置Context cnt3,供公司C使用
# 创建Context cnt3,设置描述信息
[Device] context cnt3
[Device-context-4-cnt3] description context-3
#配置Context cnt3的CPU权重为2。
[Device-context-4-cnt3] limit-resource cpu weight 2
# 将接口GigabitEthernet1/0/3和GigabitEthernet1/0/6分配给Context cnt3。
[Device-context-4-cnt3] allocate interface gigabitethernet 1/0/3 gigabitethernet 1/0/6
Configuration of the interfaces will be lost. Continue? [Y/N]:y
# 启动Context cnt3。
[Device-context-4-cnt3] context start
It will take some time to start the context...
Context started successfully.
[Device-context-4-cnt3] quit
# 切换到Context cnt3。
[Device] switchto context cnt3
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<H3C> system-view
# 配置Telnet功能,保证管理用户可以正常登录设备,具体配置步骤请参考“基础配置指导”中的“登录设备”。
# 将Context cnt3的名称修改为cnt3,以便和其它Context区别。
[H3C] sysname cnt3
# 配置接口GigabitEthernet1/0/3的IP地址为192.168.3.251,供公司C的管理用户远程登录。
[cnt3] interface gigabitethernet 1/0/3
[cnt3-GigabitEthernet1/0/3] ip address 192.168.3.251 24
# 从自定义Context cnt3返回缺省Context。
[cnt3-GigabitEthernet1/0/3] return
<cnt3> quit
[Device]
(1) 查看Context是否存在并且运转正常。(此时,Device上应该有四台处于正常工作active状态的Context)
[Device] display context
ID Name Status Description
1 Admin active DefaultContext
2 cnt1 active context-1
3 cnt2 active context-2
4 cnt3 active context-3
(2) 模拟公司A的管理用户登录到Context cnt1,可以查看本设备的当前配置。
C:\> telnet 192.168.1.251
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<cnt1> display current-configuration
……
设备Device作为云计算中心的出口网关,对内部网络的信息安全进行防护,其中Device只有一个公网接口GigabitEthernet1/0/1。现有相互独立的租户A和B需要使用云计算中心的计算资源,具体组网需求如下:
· 将Device虚拟成两台独立的Device:Context cnt1和Context cnt2,并分给租户A和B进行安全防护。其中,Context cnt1以共享方式使用接口GigabitEthernet1/0/1,以独占方式使用接口GigabitEthernet1/0/2;Context cnt2以共享方式使用接口GigabitEthernet1/0/1,以独占方式使用接口GigabitEthernet1/0/3。
· 在共享接口GigabitEthernet1/0/1上配置NAT内部服务器,使租户A和B可以利用独立的公网IP地址访问Server A和Server B。
图1-3 通过Context实现云计算中心网关配置组网图
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置接口GigabitEthernet1/0/1的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 1.1.1.1 24
[Device-GigabitEthernet1/0/1] quit
(2) 创建并配置Context cnt1,供租户A使用
# 创建Context cnt1,设置描述信息。
[Device] context cnt1
[Device-context-2-cnt1] description context-1
# 以共享方式将接口GigabitEthernet1/0/1分配给Context cnt1。
[Device-context-2-cnt1] allocate interface gigabitethernet 1/0/1 share
# 以独占方式将接口GigabitEthernet1/0/2分配给Context cnt1。
[Device-context-2-cnt1] allocate interface gigabitethernet 1/0/2
Configuration of the interfaces will be lost. Continue? [Y/N]:y
# 启动Context cnt1。
[Device-context-2-cnt1] context start
It will take some time to start the context...
Context started successfully.
[Device-context-2-cnt1] quit
# 切换到Context cnt1。
[Device] switchto context cnt1
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<H3C> system-view
# 将Context cnt1的名称修改为cnt1,以便和其它Context区别。
[H3C] sysname cnt1
# 配置接口GigabitEthernet1/0/2的IP地址为10.1.1.1/24。
[cnt1] interface gigabitethernet 1/0/2
[cnt1-GigabitEthernet1/0/2] ip address 10.1.1.1 24
[cnt1-GigabitEthernet1/0/2] quit
# 将接口GigabitEthernet1/0/1和GigabitEthernet1/0/2分别加入Untrust和Trust安全域。
[cnt1] security-zone name untrust
[cnt1-security-zone-Untrust] import interface gigabitethernet 1/0/1
[cnt1-security-zone-Untrust] quit
[cnt1] security-zone name trust
[cnt1-security-zone-Trust] import interface gigabitethernet 1/0/2
[cnt1-security-zone-Trust] quit
# 配置安全策略保证租户A能成功访问Server A。
[cnt1] security-policy ip
[cnt1-security-policy-ip] rule name untrust-trust
[cnt1-security-policy-ip-0-untrust-trust] action pass
[cnt1-security-policy-ip-0-untrust-trust] source-zone untrust
[cnt1-security-policy-ip-0-untrust-trust] destination-zone trust
[cnt1-security-policy-ip-0-untrust-trust] source-ip-host 2.2.2.2
[cnt1-security-policy-ip-0-untrust-trust] destination-ip-host 10.1.1.2
[cnt1-security-policy-ip-0-untrust-trust] quit
[cnt1-security-policy-ip] quit
# 从自定义Context cnt1返回缺省Context。
[cnt1] quit
<cnt1> quit
[Device]
(3) 创建并配置Context cnt2,供租户B使用
# 创建Context cnt2,设置描述信息。
[Device] context cnt2
[Device-context-3-cnt2] description context-2
# 以共享方式将接口GigabitEthernet1/0/1分配给Context cnt2。
[Device-context-3-cnt2] allocate interface gigabitethernet 1/0/1 share
# 以独占方式将接口GigabitEthernet1/0/3分配给Context cnt2。
[Device-context-3-cnt2] allocate interface gigabitethernet 1/0/3
Configuration of the interfaces will be lost. Continue? [Y/N]:y
# 启动Context cnt2。
[Device-context-3-cnt2] context start
It will take some time to start the context...
Context started successfully.
[Device-context-3-cnt2] quit
# 切换到Context cnt2。
[Device] switchto context cnt2
******************************************************************************
* Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<H3C> system-view
# 将Context cnt2的名称修改为cnt2,以便和其它Context区别。
[H3C] sysname cnt2
# 配置接口GigabitEthernet1/0/3的IP地址为10.1.2.1/24。
[cnt2] interface gigabitethernet 1/0/3
[cnt2-GigabitEthernet1/0/3] ip address 10.1.2.1 24
[cnt2-GigabitEthernet1/0/3] quit
# 将接口GigabitEthernet1/0/1和GigabitEthernet1/0/3分别加入Untrust和Trust安全域。
[cnt2] security-zone name untrust
[cnt2-security-zone-Untrust] import interface gigabitethernet 1/0/1
[cnt2-security-zone-Untrust] quit
[cnt2] security-zone name trust
[cnt2-security-zone-Trust] import interface gigabitethernet 1/0/3
[cnt2-security-zone-Trust] quit
# 配置安全策略保证租户B能成功访问Server B。
[cnt2] security-policy ip
[cnt2-security-policy-ip] rule name untrust-trust
[cnt2-security-policy-ip-0-untrust-trust] action pass
[cnt2-security-policy-ip-0-untrust-trust] source-zone untrust
[cnt2-security-policy-ip-0-untrust-trust] destination-zone trust
[cnt2-security-policy-ip-0-untrust-trust] source-ip-host 3.3.3.3
[cnt2-security-policy-ip-0-untrust-trust] destination-ip-host 10.1.2.2
[cnt2-security-policy-ip-0-untrust-trust] quit
[cnt2-security-policy-ip] quit
# 从自定义Context cnt2返回缺省Context。
[cnt2] quit
<cnt2> quit
[Device]
(4) 配置NAT内部服务器。
# 在接口GigabitEthernet1/0/1上配置NAT内部服务器,允许外部通过http://1.1.1.2:8080地址访问Server A,通过http://1.1.1.3:8080地址访问Server B。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] nat server protocol tcp global 1.1.1.2 8080 inside 10.1.1.2 http
[Device-GigabitEthernet1/0/1] nat server protocol tcp global 1.1.1.3 8080 inside 10.1.2.2 http
[Device-GigabitEthernet1/0/1] quit
(1) 查看Context是否存在并且运转正常。(此时,Device上应该有三台处于正常工作active状态的Context)
[Device] display context
ID Name Status Description
1 Admin active DefaultContext
2 cnt1 active context-1
3 cnt2 active context-2
(2) 租户A可以通过http://1.1.1.2:8080地址访问Server A,租户B可以通过http://1.1.1.3:8080地址访问Server B。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!