路由器系统配置

系统配置  时间:2021-03-29  阅读:()
文件号码E53808-022014年9月将OracleSolaris11.
2系统配置为路由器或负载平衡器版权所有2011,2014,Oracle和/或其附属公司.
保留所有权利.
本软件和相关文档是根据许可证协议提供的,该许可证协议中规定了关于使用和公开本软件和相关文档的各种限制,并受知识产权法的保护.
除非在许可证协议中明确许可或适用法律明确授权,否则不得以任何形式、任何方式使用、拷贝、复制、翻译、广播、修改、授权、传播、分发、展示、执行、发布或显示本软件和相关文档的任何部分.
除非法律要求实现互操作,否则严禁对本软件进行逆向工程设计、反汇编或反编译.
此文档所含信息可能随时被修改,恕不另行通知,我们不保证该信息没有错误.
如果贵方发现任何问题,请书面通知我们.
如果将本软件或相关文档交付给美国政府,或者交付给以美国政府名义获得许可证的任何机构,必须符合以下规定:U.
S.
GOVERNMENTENDUSERS:Oracleprograms,includinganyoperatingsystem,integratedsoftware,anyprogramsinstalledonthehardware,and/ordocumentation,deliveredtoU.
S.
Governmentendusersare"commercialcomputersoftware"pursuanttotheapplicableFederalAcquisitionRegulationandagency-specificsupplementalregulations.
Assuch,use,duplication,disclosure,modification,andadaptationoftheprograms,includinganyoperatingsystem,integratedsoftware,anyprogramsinstalledonthehardware,and/ordocumentation,shallbesubjecttolicensetermsandlicenserestrictionsapplicabletotheprograms.
NootherrightsaregrantedtotheU.
S.
Government.
本软件或硬件是为了在各种信息管理应用领域内的一般使用而开发的.
它不应被应用于任何存在危险或潜在危险的应用领域,也不是为此而开发的,其中包括可能会产生人身伤害的应用领域.
如果在危险应用领域内使用本软件或硬件,贵方应负责采取所有适当的防范措施,包括备份、冗余和其它确保安全使用本软件或硬件的措施.
对于因在危险应用领域内使用本软件或硬件所造成的一切损失或损害,OracleCorporation及其附属公司概不负责.
Oracle和Java是Oracle和/或其附属公司的注册商标.
其他名称可能是各自所有者的商标.
Intel和IntelXeon是IntelCorporation的商标或注册商标.
所有SPARC商标均是SPARCInternational,Inc的商标或注册商标,并应按照许可证的规定使用.
AMD、Opteron、AMD徽标以及AMDOpteron徽标是AdvancedMicroDevices的商标或注册商标.
UNIX是TheOpenGroup的注册商标.
本软件或硬件以及文档可能提供了访问第三方内容、产品和服务的方式或有关这些内容、产品和服务的信息.
对于第三方内容、产品和服务,OracleCorporation及其附属公司明确表示不承担任何种类的担保,亦不对其承担任何责任.
对于因访问或使用第三方内容、产品或服务所造成的任何损失、成本或损害,OracleCorporation及其附属公司概不负责.
3目录使用本文档71路由器和负载平衡器简介9路由器概述9路由协议9VRRP路由器概述12集成负载平衡器概述12ILB的功能12为什么使用VRRP路由器和负载平衡器142将系统配置为路由器15配置IPv4路由器15如何配置IPv4路由器15配置IPv6路由器19用于IPv6路由的in.
ripngd守护进程20路由器通告、前缀和消息20如何配置启用了IPv6的路由器203使用虚拟路由器冗余协议23关于VRRP23VRRP的工作原理24关于第3层VRRP功能26比较第2层和第3层VRRP26第2层和第3层VRRP的限制274配置和管理虚拟路由器冗余协议31规划VRRP配置31安装VRRP31如何安装VRRP32配置VRRP32目录4将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月为第2层VRRP创建VRRPVNIC32创建VRRP路由器33为第2层和第3层VRRP路由器配置虚拟IP地址35启用和禁用VRRP路由器36修改VRRP路由器36显示第2层和第3层VRRP路由器配置37显示与VRRP路由器关联的IP地址38删除VRRP路由器39控制无故ARP和NDP消息40使用案例:配置第2层VRRP路由器405集成负载平衡器概述43ILB组件43ILB操作模式43服务器直接返回模式44网络地址转换模式45ILB的工作原理486配置和管理集成负载平衡器49安装ILB49使用命令行界面配置ILB50启用或禁用ILB51如何启用ILB51如何禁用ILB51管理ILB52定义ILB中的服务器组和后端服务器52监视ILB中的运行状况检查55配置ILB规则58使用案例:配置ILB60显示ILB统计信息61显示统计信息61显示NAT连接表62显示会话持久性映射表62导入和导出配置637配置ILB以实现高可用性65使用DSR拓扑配置ILB以实现高可用性65如何使用DSR拓扑配置ILB以实现高可用性67使用半NAT拓扑配置ILB以实现高可用性68目录5如何使用半NAT拓扑配置ILB以实现高可用性69索引716将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月使用本文档7使用本文档概述-介绍如何将OracleSolaris11.
2配置为IPv4或IPv6路由器.
提供了虚拟路由器冗余协议(VirtualRouterRedundancyProtocol,VRRP)和集成负载平衡器(IntegratedLoadBalancer,ILB)的概述和配置说明.
目标读者-系统管理员.
必备知识-基本和一些高级的网络管理技能.
产品文档库有关本产品的最新信息和已知问题均包含在文档库中,网址为:http://www.
oracle.
com/pls/topic/lookupctx=E36784.
获得Oracle支持Oracle客户可通过MyOracleSupport获得电子支持.
有关信息,请访问http://www.
oracle.
com/pls/topic/lookupctx=acc&id=info;如果您听力受损,请访问http://www.
oracle.
com/pls/topic/lookupctx=acc&id=trs.
反馈可以在http://www.
oracle.
com/goto/docfeedback上提供有关本文档的反馈.
8将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月第1章路由器和负载平衡器简介91第1章路由器和负载平衡器简介本章介绍如何在OracleSolaris中使用路由器和负载平衡器连接计算机网络和分配工作负荷.
路由器使用一些协议处理路由活动,例如路由信息协议(RoutingInformationProtocol,RIP)、下一代RIP(RIPng)、Internet控制消息协议路由器搜索(InternetControlMessageProtocolRouterDiscovery,RDISC)、开放最短路径优先(OpenShortestPathFirst,OSPF)、边界网关协议(BorderGatewayProtocol,BGP)、中间系统至中间系统(IntermediateSystemtoIntermediateSystem,IS-IS)和虚拟路由器冗余协议(VirtualRouterRedundancyProtocol,VRRP).
负载平衡器在多个服务器之间分配网络通信.
网络工作负荷的分配有助于实现最佳资源共享以及提高吞吐量和可用性.
本章包含以下主题:"路由器概述"[9]"VRRP路由器概述"[12]"集成负载平衡器概述"[12]"为什么使用VRRP路由器和负载平衡器"[14]路由器概述路由器是用于在计算机网络中连接计算机以及在网络中的计算机之间传输数据包的设备.
一个路由器可与不同网络建立两个或多个连接.
路由器从传入数据包读取地址信息以确定其目标.
然后,使用路由器的路由表中的信息将包转发到下一个网络.
指引路由器流程的该通信将一直重复,直到数据包到达目标节点.
路由协议路由协议处理系统上的路由活动.
路由器与其他主机交换路由信息,以维护到远程网络的已知路由.
路由器和主机都可以运行路由协议.
主机上的路由协议与其他路由器和主机上的路由选择守护进程进行通信.
这些协议有助于主机确定向何处转发包.
启用网络接口后,系统自动与路由选择守护进程进行通信.
这些守护进程监视网络上的路由器,并将路由器的地址通告本地网络上的主机.
某些路由协议(虽然不是全部)还维护可以路由器概述10将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月用于衡量路由性能的统计信息.
与包转发类似,您也必须在OracleSolaris系统上显式配置路由.
RIP和RDISC是标准TCP/IP协议.
下表介绍了OracleSolaris中支持的路由协议.
表1-1OracleSolaris路由协议协议关联的守护进程说明有关说明RIPin.
routed内部网关协议(InteriorGatewayProtocol,IGP),路由IPv4包并维护路由表"配置IPv4路由器"[15]RDISCin.
routed使主机能够搜索网络上存在的路由器《在OracleSolaris11.
2中配置和管理网络组件》中的"为单接口系统启用路由"RIPngin.
ripngd用于路由IPv6包和维护路由表的IGP如何配置启用了IPv6的路由器[20]相邻节点搜索协议(NeighborDiscoveryProtocol,NDP)in.
ndpd通告存在IPv6路由器并搜索网络中存在的IPv6主机《在OracleSolaris11.
2中配置和管理网络组件》中的"如何针对IPv6配置系统"有关OracleSolaris中路由表和路由类型的更多信息,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"路由表和路由类型".
路由信息协议路由信息协议(RoutingInformationProtocol,RIP)是距离向量路由协议.
RIP使用跃点计数器作为其路由度量.
它由路由守护进程in.
routed实现.
该守护进程在系统引导时自动启动.
如果在指定了-s选项的情况下在路由器上运行,in.
routed守护进程将以每个可访问网络的路由填充内核路由表,并通过所有网络接口通告可访问性.
如果在指定了-q选项的情况下在主机上运行,in.
routed守护进程将提取路由信息,但不会通告可访问性.
在主机上,可以采用以下两种方式提取路由信息:不指定标志(大写S或空间节省模式).
in.
routed守护进程完全按照它在路由器上的运行方式构建完整的路由表.
指定标志.
in.
routed守护进程创建一个最小内核表,其中包含每个可用路由器的一个缺省路由.
ICMP路由器搜索协议主机使用路由器搜索(RouterDiscovery,RDISC)协议从路由器获取路由信息.
当主机运行RDISC时,路由器也必须运行其他协议(例如RIP)来交换路由器信息.
路由器概述第1章路由器和负载平衡器简介11RDISC由必须在路由器和主机上运行的守护进程in.
routed实现.
在主机上,in.
routed使用RDISC从通过RDISC通告地址的路由器中搜索缺省路由.
在路由器上,in.
routed使用RDISC将缺省路由通告给直接相连的网络中的主机.
有关更多信息,请参见in.
routed(1M)手册页和gateways(4)手册页.
Quagga路由协议套件Quagga是一个路由软件套件,可为UNIX平台(包括OracleSolaris)实现RIP、RIPng、开放最短路径优先(OpenShortestPathFirst,OSPF)、中间系统至中间系统(IntermediateSystemtoIntermediateSystem,IS-IS)和边界网关协议(BorderGatewayProtocol,BGP)协议.
RIPng针对IPv6支持(包括IPv6的各种增强功能)提供了RIP扩展.
RIPng的功能与RIP类似.
OSPF是用于在较大的自治系统网络中分配路由信息的路由器协议.
最新版本的OSPF即OSPFv3添加了对IPv6的支持.
IS-IS是用于在大型服务提供商网络中分配路由信息的链路状态动态路由协议.
BGP根据大型自治系统网络中的路径和规则,使用一组带有前缀的IP网络做出路由决策.
下表列出了OracleSolaris中支持的OpenSourceQuagga路由协议.
表1-2Quagga路由协议套件协议关联的守护进程说明RIPripd路由IPv4包并将其路由表通告相邻节点的IPv4距离向量IGPRIPngripngdIPv6距离向量IGP,用于路由IPv6包并维护路由表OSPFospfd用于包路由和高可用性联网的IPv4链路状态IGPBGPbgpdIPv4和IPv6外部网关协议(ExteriorGatewayProtocol,EGP),用于在管理域之间路由IS-ISisisdIPv4和IPv6链路状态IGP,用于在管理域或网络中路由有关Quagga协议的更多信息,请访问QuaggaRoutingSuite网站:http://www.
nongnu.
org/quagga/index.
html.
虚拟路由器冗余协议VRRP可使IP地址(例如用于路由器和负载平衡器的IP地址)实现高可用性.
VRRP是RFC5798,VirtualRouterRedundancyProtocolVersion3forIPv4andIPv6(RFCVRRP路由器概述12将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月5798,IPv4和IPv6的虚拟路由器冗余协议版本3)中指定的Internet标准协议.
OracleSolaris提供了配置和管理VRRP服务的管理工具.
除现有的标准第2层VRRP之外,OracleSolaris11.
2还提供了专有第3层VRRP,可以支持基于IPMP和InfiniBand接口实现VRRP,而且提供了对区域中VRRP的增强支持.
有关使用VRRP和配置VRRP路由器的信息,请参见第3章使用虚拟路由器冗余协议和第4章配置和管理虚拟路由器冗余协议.
VRRP路由器概述虚拟路由器冗余协议路由器是由一个或多个使用VRRP的路由器的操作创建的单个路由器映像.
VRRP运行在每个VRRP路由器上,用于管理路由器的状态.
一个主机可以配置多个VRRP路由器,其中每个VRRP路由器属于不同的虚拟路由器.
第2层VRRP路由器使用标准VRRP协议,并且需要唯一的虚拟路由器MAC地址.
虚拟IP地址始终解析为相同的虚拟MAC地址.
您需要创建VRRPVNIC才能获得唯一的虚拟路由器MAC地址.
OracleSolaris中的专有第3层VRRP功能完全避免了为VRRP路由器配置唯一的VRRP虚拟MAC地址,因此支持基于IPMP和InfiniBand接口实现VRRP.
有关使用VRRP和配置VRRP路由器的信息,请参见第3章使用虚拟路由器冗余协议和第4章配置和管理虚拟路由器冗余协议.
集成负载平衡器概述在OracleSolaris中,集成负载平衡器(IntegratedLoadBalancer,ILB)提供了第3层和第4层负载平衡功能.
对于在基于SPARC和基于x86的系统上安装的OracleSolaris操作系统,ILB在网络(IP)和传输(TCP/UDP)层运行.
ILB可用于提高网络服务的可靠性和可伸缩性,并最大程度地缩短网络服务的响应时间.
ILB会拦截客户机的传入请求,根据负载平衡规则确定哪个后端服务器应处理请求,然后将请求转发到选定的服务器.
ILB也可用作后端服务器的路由器.
ILB执行可选的运行状况检查,并为负载平衡算法提供数据,以验证选定的服务器能否处理传入请求.
ILB的功能ILB的主要功能包括:集成负载平衡器概述第1章路由器和负载平衡器简介13支持IPv4和IPv6的无状态服务器直接返回(DirectServerReturn,DSR)和网络地址转换(NetworkAddressTranslation,NAT)操作模式.
有关DSR和NAT操作模式的信息,请参见"ILB操作模式"[43].
使用针对两种操作模式的一套算法,帮助通信和负载分配以及服务器选择.
允许通过命令行界面(command-lineinterface,CLI)进行ILB管理.
有关使用CLI配置ILB的信息,请参见"使用命令行界面配置ILB"[50].
通过运行状况检查提供服务器监视功能.
有关服务器监视功能的信息,请参见"监视ILB中的运行状况检查"[55].
下表列出并介绍了可用于不同操作模式的ILB功能.
表1-3ILB功能功能说明操作模式使客户机对虚拟IP(virtualIP,VIP)地址执行ping命令ILB可响应客户机对VIP地址的ICMP回显请求.
DSR和NAT模式用于在不中断服务的情况下向服务器组中添加服务器以及从中删除服务器ILB可在服务器组中动态添加或删除服务器.
NAT模式用于配置会话持久性("粘滞性")借助ILB,您可以为应用程序配置会话持久性,以将连接或包从客户机发送到同一后端服务器.
借助ILB,您还可以通过使用-p选项并在ilbadmcreate-rule命令中指定pmask选项为虚拟服务配置会话持久性(即源地址持久性).
有关更多信息,请参见"创建ILB规则"[58].
DSR和NAT模式用于执行连接排空ILB可阻止将新连接发送到已禁用的服务器.
在不中断活动连接或会话的情况下关闭服务器时,该功能很有用.
服务器的现有连接将继续正常运行.
终止该服务器的所有连接后,便可以将其关闭以进行维护.
当服务器准备好处理请求后,服务器将启用以便负载平衡器能够向其转发新连接.
NAT模式支持对传输控制协议(TransmissionControlProtocol,TCP)和用户数据报协议(UserDatagramProtocol,UDP)端口进行负载平衡ILB可在不同服务器集中对给定IP地址的所有端口进行负载平衡,而不会要求您为每个端口设置显式规则.
DSR和NAT模式用于为同一服务器组中的虚拟服务指定独立的端口借助ILB,您可以为同一服务器组中的不同服务器指定不同的目标端口.
NAT模式用于负载平衡简单的端口范围ILB可将VIP的一系列端口上的负载平衡到给定服务器组.
为方便起见,您可以通过将同一VIP的各个端口范围负载平衡到不同的后端服务器集来节省IP地址.
此外,在为NAT模式启用会话持久性后,ILB还会将同一客户机IP地址对范围中的各个端口的请求发送到同一后端服务器.
DSR和NAT模式支持端口范围移位和折叠端口范围的移位和折叠取决于负载平衡规则中服务器的端口范围.
如果服务器端口范围与VIP端口范围不同,将自动实现端口移位.
如果服务器端口范围为单个端口,则实现端口折叠.
NAT模式为什么使用VRRP路由器和负载平衡器14将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月有关ILB组件、操作模式、算法以及ILB工作原理的信息,请参见第5章集成负载平衡器概述.
有关配置和管理ILB的更多信息,请参见第6章配置和管理集成负载平衡器和第7章配置ILB以实现高可用性.
为什么使用VRRP路由器和负载平衡器建立诸如局域网(localareanetwork,LAN)等网络时,提供高可用性服务非常重要.
高可用性是指发生故障时由冗余系统接管以确保业务连续性的状态.
将过多的工作负荷卸载到冗余系统上时,高可用性也有重要作用.
在计划内或计划外停机时间、负载平衡和灾难恢复等情况下,高可用性会变得非常重要.
在网络域中,可以在多个级别(例如链路、IP和路由器)实现高可用性.
负载平衡器和路由器在提供高可用性服务方面起着重要作用.
在OracleSolaris中,VRRP路由器和ILB是提供高可用性的网络级故障转移和负载分担机制.
有关使用和配置VRRP路由器的更多信息,请参见第3章使用虚拟路由器冗余协议.
有关使用和配置ILB的更多信息,请参见第5章集成负载平衡器概述和第6章配置和管理集成负载平衡器.
第2章将系统配置为路由器152第2章将系统配置为路由器路由器用于提供两个或多个网络之间的接口.
您必须为路由器的每个物理网络接口分配唯一的名称和IP地址.
每个路由器都有与其主网络接口关联的主机名和IP地址,以及每个附加网络接口的至少一个唯一名称和IP地址.
本章介绍如何将OracleSolaris系统配置为IPv4路由器或IPv6路由器.
本章包含以下主题:"配置IPv4路由器"[15]"配置IPv6路由器"[19]有关为网络上的OracleSolaris主机配置路由的信息,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"为单接口系统启用路由".
有关路由协议的参考信息,请参见"路由协议"[9]和《在OracleSolaris11.
2中配置和管理网络组件》中的"关于IPv6路由".
配置IPv4路由器您可以使用以下过程将只有一个物理接口的系统(缺省情况下为主机)配置为路由器.
如果单接口系统用作PPP链路上的一个端点,则可以将它配置为路由器,如《在OracleSolaris11.
2中管理使用UUCP和PPP的串行网络》中的"规划拨号PPP链路"中所述.
如何配置IPv4路由器以下过程假定您要在安装路由器后配置路由器的接口.
开始之前路由器实际安装在网络上后,将路由器配置为在本地文件模式下运行.
这种配置可确保即使网络配置服务器关闭也会引导路由器.
1.
成为管理员.
如何配置IPv4路由器16将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
配置系统上NIC的IP接口.
#ipadmcreate-ipIP-interface3.
通过选择以下命令之一为IP接口配置有效IP地址:要配置静态地址,请键入以下命令:#ipadmcreate-addr-aaddress[interface|addr-obj]要配置非静态地址,请键入以下命令:#ipadmcreate-addr-Taddress-type[interface|addr-obj]有关如何配置IP接口的详细说明,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的第3章"在OracleSolaris中配置和管理IP接口和地址".
确保每个IP接口都配置有系统必须路由其包的网络的IP地址.
因此,如果系统为192.
168.
5.
0和10.
0.
5.
0网络提供服务,则必须为每个网络配置一个NIC.
注意-在配置IPv4路由器以使用DHCP之前,确保您完全了解DHCP管理.
4.
将每个接口的主机名和IP地址添加到/etc/inet/hosts文件中.
例如,假定您为路由器的两个接口分配的名称分别为krakatoa和krakatoa-1.
/etc/inet/hosts文件中的项如下所示:192.
168.
5.
1krakatoa#interfacefornetwork192.
168.
5.
010.
0.
5.
1krakatoa-1#interfacefornetwork10.
0.
5.
05.
执行《在OracleSolaris11.
2中配置和管理网络组件》中的"如何以本地文件模式配置系统"过程以将该路由器配置为在本地文件模式下运行.
6.
如果路由器连接到具有子网的任何网络,请将网络号和网络掩码添加到/etc/inet/netmasks文件中.
例如,对于IPv4地址表示法(如192.
168.
5.
0),请键入以下内容:192.
168.
5.
0255.
255.
255.
07.
在路由器上启用IPv4包转发.
#ipadmset-prop-pforwarding=onipv48.
(可选)启动路由协议.
如何配置IPv4路由器第2章将系统配置为路由器17使用以下命令之一:#routeadm-eipv4-routing-u其中-e选项可启用IPv4路由,而-u选项可将当前的配置应用于正在运行的系统.
#svcadmenableroute:default当您启动路由协议时,路由守护进程/usr/sbin/in.
routed将自动更新路由表,该过程称为动态路由.
有关路由类型的更多信息,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"路由表和路由类型".
有关routeadm命令的信息,请参见routeadm(1M)手册页;有关ipadm命令的更多信息,请参见ipadm(1M)手册页.
与in.
routed守护进程关联的服务管理工具(ServiceManagementFacility,SMF)故障管理资源标识符(FaultManagementResourceIdentifier,FMRI)是svc:/network/routing/route.
例2-1将系统配置为路由器该示例基于下图.
如何配置IPv4路由器18将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月路由器2包含两个有线网络连接,一个是与网络172.
20.
1.
0的连接,另一个是与网络10.
0.
5.
0的连接.
该示例显示了如何将系统配置为172.
20.
1.
0网络的路由器(路由器2).
该示例还假定路由器2已配置为在本地文件模式下运行,如《在OracleSolaris11.
2中配置和管理网络组件》中的"如何以本地文件模式配置系统"中所述.
1.
确定系统接口的状态.
#dladmshow-linkLINKCLASSMTUSTATEBRIDGEOVERnet0phys1500up----net1phys1500up----net2phys1500up----#ipadmshow-addrADDROBJTYPESTATEADDR配置IPv6路由器第2章将系统配置为路由器19lo0/v4staticok10.
0.
0.
1/8net0/v4staticok172.
20.
1.
10/242.
只有net0配置有IP地址.
要将路由器2设置为缺省路由器,应将net1接口以物理方式连接到10.
0.
5.
0网络.
#ipadmcreate-ipnet1#ipadmcreate-addr-a10.
0.
5.
10/24net1#ipadmshow-addrADDROBJTYPESTATEADDRlo0/v4staticok192.
168.
0.
1/8net0/v4staticok172.
20.
1.
10/24net1/v4staticok10.
0.
5.
10/243.
使用有关新配置的接口以及该接口连接到的网络的信息,更新以下网络数据库.
#pfedit/etc/inet/hosts192.
168.
0.
1localhost172.
20.
1.
10router2#interfacefornetwork172.
20.
110.
0.
5.
10router2-out#interfacefornetwork10.
0.
5#pfedit/etc/inet/netmasks172.
20.
1.
0255.
255.
255.
010.
0.
5.
0255.
255.
255.
04.
启用包转发以及in.
routed路由守护进程.
#ipadmset-prop-pforwarding=onipv4#svcadmenableroute:default现在,在路由器2上启用了IPv4包转发和通过RIP的动态路由.
但是,要完成网络172.
20.
1.
0的缺省路由器配置,必须执行以下操作:修改172.
20.
1.
0网络中的每个主机,以便主机从新的缺省路由器获取其路由信息.
有关更多信息,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"创建持久性(静态)路由".
在路由器2的路由表中定义边界路由器的静态路由.
有关更多详细信息,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"路由表和路由类型".
有关ipadm命令的更多信息,请参见ipadm(1M)手册页.
配置IPv6路由器本节介绍如何配置IPv6路由器.
如何配置启用了IPv6的路由器20将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月用于IPv6路由的in.
ripngd守护进程in.
ripngd守护进程可实现用于IPv6路由器的下一代路由信息协议(RoutingInformationProtocolnext-generation,RIPng).
RIPng定义IPv6中与RIP等效的协议.
在使用routeadm命令配置IPv6路由器并启用IPv6路由时,in.
ripngd守护进程可在路由器上实现RIPng.
有关支持的RIPng选项的信息,请参见in.
ripngd(1M).
路由器通告、前缀和消息在能够进行多播的链路和点对点链路上,每个路由器都定期向多播组发送一个路由器通告包来公布其可用性.
主机将从所有的路由器接收路由器通告,并创建缺省路由器的列表.
路由器会频繁生成路由器通告,以便主机可以在几分钟内获知路由器是否存在.
但是,路由器进行通告的频率不太高,因此不能依赖通告是否存在来检测路由器故障.
可以通过用来确定相邻节点不可访问性的单独的检测算法来检测路由器故障.
路由器通告中包含一系列子网前缀,这些前缀用来确定主机是否与路由器处在同一个链路上(在链路(on-link)),还可用来配置自治地址.
与前缀相关联的标志用来指定特定前缀的预定用法.
主机使用通告的"在链路(on-link)"前缀来创建和维护一个列表,该列表用于确定包的目标是在链路上还是在路由器外部.
即使目标没有包含在所通告的任何"在链路(on-link)"前缀中,目标也可以位于链路上.
在这种情况下,路由器可以发送重定向消息.
重定向功能通告发送者目标是相邻节点.
路由器通告和每前缀标志使路由器能够通告主机如何执行无状态地址自动配置.
路由器通告消息中还包含主机应当在外发包中使用的Internet参数(如跃点限制).
路由器通告消息中还可以包含链路参数,如链路MTU.
此功能允许对临界参数进行集中管理.
这些参数可以针对路由器设置,它们可自动传播到所连接的全部主机.
节点可通过向多播组发送相邻节点请求以要求目标节点返回其链路层地址来完成地址解析.
多播相邻节点请求消息会发送到目标地址中请求节点的多播地址.
目标会在单播相邻节点通告消息中返回其链路层地址.
对于启动器和目标来说,一个包请求/响应对就足以解析对方的链路层地址.
启动器的相邻节点请求中包括其链路层地址.
如何配置启用了IPv6的路由器以下过程假定您已针对IPv6配置了系统.
有关过程,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的第3章"在OracleSolaris中配置和管理IP接口和地址".
1.
成为管理员.
如何配置启用了IPv6的路由器第2章将系统配置为路由器21有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
在路由器的所有接口上配置IPv6包转发功能.
#ipadmset-prop-pforwarding=onipv63.
启动路由守护进程.
in.
ripngd守护进程可处理IPv6路由.
使用以下任一命令启用IPv6路由:使用routeadm命令:#routeadm-eipv6-routing-u其中-e选项可启用IPv4路由,而-u选项可将当前的配置应用于正在运行的系统.
使用合适的SMF命令:#svcadmenableripng:default有关routeadm命令的更多信息,请参见routeadm(1M)手册页.
4.
创建/etc/inet/ndpd.
conf文件.
在/etc/inet/ndpd.
conf文件中指定要由路由器通告的站点前缀以及其他配置信息.
此文件由in.
ndpd守护进程读取,该守护进程实现了IPv6相邻节点搜索协议.
有关变量和允许值的列表,请参阅ndpd.
conf(4)手册页.
5.
在/etc/inet/ndpd.
conf文件中键入以下文本:ifdefaultAdvSendAdvertisementstrueprefixdefaultAdvOnLinkFlagonAdvAutonomousFlagon此文本通告in.
ndpd守护进程通过路由器上针对IPv6配置的所有接口发出路由器通告.
6.
要在路由器的各个接口上配置站点前缀,请向/etc/inet/ndpd.
conf文件中添加其他文本.
应采用以下格式添加文本:prefixglobal-routing-prefix:subnetID/64interface在以下示例中,/etc/inet/ndpd.
conf文件将路由器配置为通过接口net0和net1通告站点前缀2001:0db8:3c4d::/48.
ifdefaultAdvSendAdvertisementstrueprefixdefaultAdvOnLinkFlagonAdvAutonomousFlagonifnet0AdvSendAdvertisements1prefix2001:0db8:3c4d:15::0/64net0如何配置启用了IPv6的路由器22将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月ifnet1AdvSendAdvertisements1prefix2001:0db8:3c4d:16::0/64net17.
重新引导系统.
IPv6路由器随即开始在本地链路上通告ndpd.
conf文件中的任何站点前缀.
8.
显示针对IPv6配置的接口.
#ipadmshow-addrADDROBJTYPESTATEADDRlo0/v4staticok192.
68.
0.
1/8net0/v4staticok172.
16.
15.
232/24net1/v4staticok172.
16.
16.
220/24net0/v6addrconfokfe80::203:baff:fe11:b115/10lo0/v6staticok::1/128net0/v6astaticok2001:db8:3c4d:15:203:baff:fe11:b115/64net1/v6addrconfokfe80::203:baff:fe11:b116/10net1/v6astaticok2001:db8:3c4d:16:203:baff:fe11:b116/64在输出中,针对IPv6配置的每个接口现在都有两个地址.
包含地址对象名称(如interface/v6)的项显示该接口的链路本地地址.
包含地址对象名称(如interface/v6a)的项显示全局IPv6地址.
除接口ID之外,该地址还包括已在/etc/ndpd.
conf文件中配置的站点前缀.
请注意,标识v6a是随机定义的字符串.
您可以定义其他字符串以构成地址对象名称的第二部分,只要interface反映创建IPv6地址所基于的接口,例如net0/mystring、net0/ipv6addr.
另请参见要了解如何从在IPv6网络拓扑中标识的路由器配置任何隧道,请参见《在OracleSolaris11.
2中管理TCP/IP网络、IPMP和IP隧道》中的"管理IP隧道".
有关在网络上配置交换机和集线器的信息,请参阅制造商文档.
要了解如何改进服务器上的IPv6支持,请参见《在OracleSolaris11.
2中配置和管理网络组件》中的"在服务器上配置启用了IPv6的接口".
第3章使用虚拟路由器冗余协议233第3章使用虚拟路由器冗余协议提高网络可靠性的一种方式是为网络中的重要组件提供备份.
OracleSolaris提供了配置和管理虚拟路由器冗余协议(VirtualRouterRedundancyProtocol,VRRP)的使用以提供高可用性的管理工具.
VRRP是在RFC5798(http://www.
rfc-editor.
org/rfc/rfc5798.
txt)中指定的Internet标准协议.
OracleSolaris11.
2提供了专有第3层VRRP,以通过IPMP和InfiniBand接口支持VRRP路由器的创建,并增强在区域中对VRRP的现有支持.
注-在本章中,对第2层VRRP(L2VRRP)一词的所有引用均特指Internet标准VRRP,对第3层VRRP(L3VRRP)一词的所有引用均指专有OracleSolaris第3层VRRP.
本章概述了OracleSolaris中的第2层VRRP和专有第3层VRRP.
本章包含以下主题:"关于VRRP"[23]"VRRP的工作原理"[24]"关于第3层VRRP功能"[26]"比较第2层和第3层VRRP"[26]"第2层和第3层VRRP的限制"[27]关于VRRPVRRP可使IP地址(例如用于路由器或负载平衡器的IP地址)实现高可用性.
使用VRRP的服务也称为VRRP路由器,尽管这些服务还提供除路由以外的功能,例如负载平衡.
有关如何将VRRP与负载平衡器一起使用来确保高可用性的信息,请参见第7章配置ILB以实现高可用性.
VRRP路由器是正在运行VRRP的路由器.
VRRP运行在每个VRRP路由器上,用于管理路由器的状态.
一个主机可以有多个配置了VRRP的路由器,每个路由器属于不同VRRP的工作原理24将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月的虚拟路由器.
您可以使用VRRP在局域网(localareanetwork,LAN)中引入虚拟路由器,从而实现路由器故障恢复.
VRRP的工作原理请注意以下VRRP路由器术语:路由器名称-系统范围的唯一标识符.
虚拟路由器ID(VirtualRouterID,VRID)-用于在给定网段中标识虚拟路由器的唯一编号.
VRID标识LAN内的虚拟路由器.
主IP地址-VRRP通告的源IP地址.
虚拟IP地址(VRIP)-与VRID关联的IP地址,其他主机可通过该地址获取网络服务.
VRIP由属于VRID的VRRP实例管理.
主路由器-在给定时间执行虚拟路由器的路由功能的VRRP实例.
对于给定的VRID,一次只能有一个主路由器处于活动状态.
主路由器控制与虚拟路由器关联的IPv4或IPv6地址.
虚拟路由器转发发送到主路由器的IP地址的包.
备用路由器-处于活动状态但未处于主路由器状态的VRID的VRRP实例称为备用路由器.
VRID可以存在任意数量的备用路由器.
如果当前主路由器出现故障,则备用路由器将承担主路由器的角色.
VRRP参数-包括优先级、通告间隔、抢占模式和接受模式.
VRRP状态信息和统计信息.
以下VRRP负载分担配置图显示了单个路由器接口上可以存在多个VRID.
随附的文本对图中使用的VRRP组件进行了解释.
此VRRP负载分担配置说明单个路由器接口上可以存在多个VRID.
VRRP的工作原理第3章使用虚拟路由器冗余协议25图3-1LAN中的VRRP负载分担配置关于第3层VRRP功能26将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月路由器rA是虚拟路由器VRID1的主路由器和VRID3的备用路由器.
路由器rA处理发送到VRID1的虚拟IP(virtualIP,VIP)地址的包路由,并准备好承担VRID3的路由职责.
路由器rB是虚拟路由器VRID3的主路由器和VRID1的备用路由器.
路由器rB处理发送到VRID3的VIP的包路由,并准备好承担VRID1的路由职责.
路由器rC没有VRRP功能,但它使用VRID3的VIP访问客户机LAN子网.
路由器rD是VRID2的主路由器.
路由器rF是VRID5的主路由器.
路由器rE是这两个VRID的备用路由器.
如果rD或rF出现故障,rE将成为该VRID的主路由器.
rD和rF可能会同时出现故障.
一个VRRP路由器可以是一个或多个VRID的主路由器.
路由器rG是主干LAN的广域网(wideareanetwork,WAN)网关.
连接到主干的所有路由器使用动态路由协议(如OSPF)与WAN上的路由器共享路由信息.
此方面不涉及VRRP,尽管路由器rC通告客户机LAN子网的路径要通过VRID3的VIP.
路由器rH是VRID10的主路由器,是VRID11的备用路由器.
同样,路由器rJ是VRID11的主路由器,是VRID10的备用路由器.
关于第3层VRRP功能OracleSolaris中的专有第3层虚拟路由器冗余协议(Layer3VirtualRouterRedundancyProtocol,L3VRRP)功能避免了为VRRP路由器配置唯一的VRRP虚拟MAC地址,因此支持基于IPMP和InfiniBand接口实现VRRP并为区域中VRRP提供了更好的支持.
L3VRRP协议不符合标准VRRP规范.
L3VRRP实现使用无故地址解析协议(AddressResolutionProtocol,ARP)消息和相邻节点搜索协议(NeighborDiscoveryProtocol,NDP)消息刷新当前主VRRP路由器的虚拟IP地址与MAC地址之间的映射,而不是在同一虚拟路由器中的VRRP路由器之间使用唯一的虚拟MAC地址.
第3层VRRP提供了如下优势:支持基于IPMP和InfiniBand接口实现VRRP,在区域中也提供了更好的支持,还避免了创建VRRPVNIC.
比较第2层和第3层VRRP下表对第2层和第3层VRRP进行了比较.
表3-1比较第2层和第3层VRRP功能第2层VRRP第3层VRRPVRRPVNIC的创建您需要创建VRRPVNIC.
您无需创建VRRPVNIC,因为不需要VRRPVNIC提供的虚拟VRRPMAC地址.
第2层和第3层VRRP的限制第3章使用虚拟路由器冗余协议27功能第2层VRRP第3层VRRP对IPMP的支持不支持.
支持.
通过IPMP组接口创建第3层VRRP路由器时,根据现有的IPMP策略,主路由器上的每个虚拟IP地址都与活动IPMP底层接口的MAC地址关联.
如果在IPMP组中发生了故障转移,将使用无故ARP或NDP消息通告L2或L3映射.
区域支持在不同区域中运行属于同一虚拟路由器的多个VRRP路由器会出现问题.
在两个或多个VRRP路由器共享同一VRRP虚拟MAC地址的系统上,内置虚拟交换机会中断VRRP通告包到VRRP路由器的正常流动.
有关更多信息,请参见"第2层和第3层VRRP的限制"[27].
支持.
InfiniBand支持不支持.
支持.
唯一的虚拟路由器MAC地址需要唯一的虚拟路由器MAC地址.
虚拟IP地址始终解析为相同的虚拟MAC地址.
不需要.
使用创建VRRP路由器时所基于的MAC地址.
MAC地址在同一虚拟路由器中的所有VRRP路由器之间有所不同.
同一MAC地址与受该L3VRRP路由器保护的虚拟IP地址关联.
配置VRRP虚拟IP地址需要配置.
需要配置.
Internet控制消息协议(InternetControlMessageProtocol,ICMP)重定向当L2VRRP在一组路由器之间运行时可能会使用.
当L2VRRP路由器需要使用ICMP重定向时,它会检查需要重定向的包的目标MAC地址(VRRP虚拟MAC地址).
通过使用目标MAC地址,L2VRRP路由器可确定最初将包发送到的虚拟路由器.
因此,L2VRRP路由器能够选择源地址,并将ICMP重定向消息发送到源.
需要禁用ICMP重定向.
在同一接口上创建多个VRRP路由器时,它们共享相同的MAC地址.
因此,L3VRRP无法确定目标MAC地址.
主路由器的选择主路由器的选择对主机透明.
当主路由器发生更改时,主机和路由器之间存在的交换机可使用MAC识别功能识别用于发送通信的新端口.
主路由器的选择会更改虚拟IP地址的第2层映射,必须通过无故ARP或NDP消息通告新映射.
故障转移时间正常.
由于主路由器选择发生更改时有无故ARP或NDP消息这一附加要求,因此时间可能较长.
第2层和第3层VRRP的限制第2层和第3层VRRP有一项共同的限制,即必须静态配置第2层和第3层VRRP虚拟IP地址.
您无法使用针对IP地址的两个现有自动配置工具来自动配置VRRP虚拟IP地址:in.
ndpd用于IPv6自动配置,dhcpagent用于动态主机配置协议(Dynamic第2层和第3层VRRP的限制28将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月HostConfigurationProtocol,DHCP)配置.
此外,第2层和第3层VRRP还有特定限制.
第2层VRRP功能具有以下限制:专用IP区域支持在专用IP区域中创建任何VRRP路由器时,都将自动启用VRRP服务svc:/network/vrrp/default.
VRRP服务管理该特定区域的VRRP路由器.
但是,对专用IP区域的支持限制如下:由于无法在非全局区域中创建虚拟网络接口卡(VirtualNetworkInterfaceCard,VNIC),因此您必须首先在全局区域中创建VRRPVNIC.
随后将VNIC分配给VRRP路由器所在的非全局区域.
然后,您可以使用vrrpadm命令在非全局区域中创建VRRP路由器.
在单个OracleSolaris系统上,无法在不同区域中创建两个VRRP路由器来参与同一虚拟路由器.
OracleSolaris不允许您创建两个具有相同介质访问控制(mediaaccesscontrol,MAC)地址的VNIC.
与其他网络功能互操作L2VRRP服务无法在IP网络多路径(IPnetworkmultipathing,IPMP)接口上工作.
VRRP需要特定的VRRPMAC地址,但IPMP完全在IP层中工作.
有关IPMP的信息,请参见《在OracleSolaris11.
2中管理TCP/IP网络、IPMP和IP隧道》中的第2章"关于IPMP管理".
VRRP可在中继或DLMP聚合模式下用于链路聚合.
有关聚合的更多信息,请参见《在OracleSolaris11.
2中管理网络数据链路》中的第2章"使用链路聚合配置高可用性".
L2VRRP服务无法在基于InfiniBand的IP(IPoverInfiniband,IPoIB)接口上工作.
基于InfiniBand的以太网支持L2VRRP不支持基于InfiniBand的以太网(EthernetoverInfiniBand,EoIB)接口.
由于每个L2VRRP路由器都与唯一的虚拟MAC地址关联,因此参与同一虚拟路由器的VRRP路由器需要同时使用相同的虚拟MAC地址,而EoIB接口不支持该功能.
L3VRRP克服了这一限制,因为它在存在于同一虚拟路由器上的所有VRRP路由器之间使用不同的MAC地址.
第3层VRRP功能具有以下限制:在主路由器选择期间,使用无故ARP或NDP消息可能会导致故障转移时间较长.
当主路由器的选择发生更改时,L3VRRP将使用无故ARP或NDP消息通告新的L2或L3映射.
使用无故ARP或NDP消息的这一附加要求可能会导致故障转移时间较长.
在某些情况下,如果通告的所有无故ARP或NDP消息都已丢失,则主机可能需要更多时间来接收刷新的ARP或NDP项.
因此,将包发送到新主路由器可能会延迟.
使用ICMP重定向时无法确定目标MAC地址,因为同一目标MAC地址由多个路由器共享.
第2层和第3层VRRP的限制第3章使用虚拟路由器冗余协议29在不对称的网络拓扑中的一组路由器之间使用VRRP时,可以使用ICMP重定向.
ICMPv4重定向或ICMPv6重定向的IPv4或IPv6源地址必须是终端主机在做出下一中继站路由决定时使用的地址.
当L3VRRP路由器需要使用ICMP重定向时,L3VRRP路由器会检查需要重定向的包的目标MAC地址(VRRP虚拟MAC地址).
由于同一目标MAC地址由在同一接口上创建的多个路由器共享,因此L3VRRP路由器无法确定目标MAC地址.
因此,在使用L3VRRP路由器时禁用ICMP重定向可能很有用.
您可以使用send_redirects公共IPv4和IPv6协议属性禁用ICMP重定向,如下所示:#ipadmset-prop-mipv4-psend_redirects=off无法使用in.
ndpd或DHCP自动配置VRRP虚拟IP地址.
30将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月第4章配置和管理虚拟路由器冗余协议314第4章配置和管理虚拟路由器冗余协议本章介绍配置第2层和第3层VRRP的任务.
本章包含以下主题:"规划VRRP配置"[31]"安装VRRP"[31]"配置VRRP"[32]"使用案例:配置第2层VRRP路由器"[40]规划VRRP配置规划第2层或第3层VRRP配置涉及以下步骤:1.
确定是配置L2VRRP还是L3VRRP路由器.
2.
(仅适用于L2VRRP路由器)创建VRRPVNIC.
有关更多信息,请参见"为第2层VRRP创建VRRPVNIC"[32].
创建L2VRRP路由器时,您可以使用vrrpadm命令的-f选项自动创建VRRPVNIC.
3.
创建VRRP路由器.
有关更多信息,请参见"创建VRRP路由器"[33].
4.
为VRRP路由器配置虚拟IP地址.
有关更多信息,请参见"为第2层和第3层VRRP路由器配置虚拟IP地址"[35].
您可以使用vrrpadm命令的-a选项配置虚拟IP地址.
有关更多信息,请参见"创建VRRP路由器"[33].
安装VRRP您必须安装VRRP才能在系统上使用VRRP.
如何安装VRRP32将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月如何安装VRRP1.
成为管理员.
有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
验证是否已安装VRRP软件包.
#pkginfovrrp3.
安装VRRP软件包(如果未安装).
#pkginstallvrrp配置VRRP您可以使用vrrpadm命令配置VRRP路由器.
vrrpadm命令的所有子命令的结果都是持久性的,但vrrpadmshow-router命令除外.
例如,由vrrpadmcreate-router命令创建的VRRP路由器在重新引导后将继续存在.
有关更多信息,请参见vrrpadm(1M)手册页.
您需要拥有solaris.
network.
vrrp授权(网络管理配置文件的一部分)才能配置VRRP路由器.
注-vrrpadmshow-router命令启动的只读操作不需要solaris.
network.
vrrp授权.
注意-将VRRP与OracleSolaris捆绑的IP过滤器一起使用时,您必须使用ipfstat-io命令检查对于标准VRRP多播地址224.
0.
0.
18/32是否允许传入或传出IP通信.
如果不允许通信,主VRRP路由器和备用VRRP路由器都将处于MASTER状态.
因此,您必须将相应的规则添加到每个VRRP路由器的IP过滤器配置中.
有关更多信息,请参见《在OracleSolaris11.
2中排除网络管理问题》中的"排除VRRP和OracleSolaris捆绑IP过滤器的问题".
为第2层VRRP创建VRRPVNICVNIC是在系统的物理网络适配器上配置的虚拟网络接口,是网络虚拟化的重要组件.
一个物理接口可以有多个VNIC.
有关VNIC的更多信息,请参见《在OracleSolaris11.
2中管理网络虚拟化和网络资源》.
每个第2层VRRP路由器都需要一个特殊的VRRPVNIC.
请使用以下命令语法.
如何安装VRRP第4章配置和管理虚拟路由器冗余协议33#dladmcreate-vnic[-t][-Rroot-dir]-llink[-mvrrp-VVRID-A\{inet|inet6}][-vVLAN-ID][-pprop=value[,.
.
.
]]VNIC该命令可创建具有VRRP规范所定义的虚拟路由器MAC地址的VNIC.
使用VNIC地址类型vrrp可指定VRID和地址族.
地址族为inet或inet6,是指IPv4或IPv6地址.
例如:#dladmcreate-vnic-mvrrp-V21-Ainet6-lnet0vnic0有关更多信息,请参见dladm(1M)手册页.
注-您还可以使用vrrpadm命令的-f选项创建VRRPVNIC.
有关更多信息,请参见"创建VRRP路由器"[33].
创建VRRP路由器vrrpadmcreate-router命令可使用指定的VRID和地址族及其他指定参数创建第2层或第3层VRRP路由器.
有关更多信息,请参见vrrpadm(1M)手册页.
要创建VRRP路由器,请使用以下语法:#vrrpadmcreate-router[-T{l2|l3}][-f]-VVRID-Iifname\-A[inet|inet6][-aassoc-IPaddress][-Pprimary-IPaddress]\[-ppriority][-iadv-interval][-oflags]router-name-Tl2|l3指定路由器的类型.
您可以将类型设置为以下值之一.
缺省设置为l2.
l2-L2类型的VRRP路由器l3-L3类型的VRRP路由器-f(仅适用于L2VRRP)指定创建L2VRRP路由器时同时创建VRRPVNIC.
指定-f选项时,vrrpadm命令将检查具有指定VRID和地址族的VRRPVNIC是否存在.
仅当尚未存在VRRPVNIC时才会创建它.
系统将根据以下命名约定生成VRRPVNIC的名称:vrrp-VRID_ifname_v4|6.
创建第3层VRRP路由器时,-f选项不起任何作用.
-VVRID与地址族关联的、用来定义VLAN的虚拟路由器标识符.
-Iifname配置VRRP路由器时所基于的接口.
对于第2层VRRP,接口可以是物理链路、VLAN或聚合.
对于第3层VRRP,接口还可以包括IPMP接口、DHCP受管接口和InfiniBand接口.
该链路决定了该VRRP路由器运行所在的LAN.
-A[inet|inet6]地址族为inet或inet6,是指IPv4或IPv6地址.
如何安装VRRP34将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月-aassoc-IPaddress指定IP地址的逗号分隔列表.
您可以采用以下任意格式指定IP地址:IP-address[/prefix-length]hostname[/prefix-length]linklocal如果指定linklocal,将根据关联虚拟路由器的VRID配置IPv6链路本地vrrp地址.
linklocal格式仅适用于IPv6VRRP路由器.
您可以将-a选项与-f选项结合使用,以便自动创建和激活VNIC.
-Pprimary-IPaddress指定用于发送VRRP通告的VRRP主IP地址.
-ppriority指定的VRRP路由器的优先级(用于主路由器选择).
缺省值为255.
将选择优先级值最高的路由器作为主路由器.
-iadv-interval通告时间间隔(毫秒).
缺省值为1000.
-oflagsVRRP路由器的抢占和接受模式.
值为preempt或un_preempt或者accept或no_accept.
缺省情况下,抢占和接受模式分别设置为preempt和accept.
router-namerouter-name是该VRRP路由器的唯一标识符.
路由器名称中允许使用的字符包括:字母数字字符(a-z、A-Z、0-9)和下划线(_).
路由器名称的最大长度为31个字符.
例4-1创建第2层VRRP路由器以下示例显示了如何通过数据链路net0创建路由器.
#dladmcreate-vnic-mvrrp-V12-Ainet-lnet0vnic1#vrrpadmcreate-router-V12-Ainet-p100-Inet0l2router1#vrrpadmshow-routerl2router1NAMEVRIDTYPEIFNAMEAFPRIOADV_INTVMODESTATEVNICl2router112L2net0IPv41001000e-pa-BACKvnic1L2VRRP路由器l2router1是使用IPv4地址族和VRID12通过数据链路net0创建的.
有关vrrpadmshow-router命令的信息,请参见"显示第2层和第3层VRRP路由器配置"[37].
例4-2创建第3层VRRP路由器以下示例显示了如何通过名为ipmp0的IPMP接口创建L3VRRP路由器.
如何安装VRRP第4章配置和管理虚拟路由器冗余协议35#vrrpadmcreate-router-V6-Iipmp0-Ainet-Tl3l3router1#vrrpadmshow-routerNAMEVRIDTYPEIFNAMEAFPRIOADV_INTVMODESTATEVNICl3router16L3ipmp0IPv42551000eopa-INIT--L3VRRP路由器l3router1是使用IPv4地址族和VRID6通过IPMP接口ipmp0创建的.
有关vrrpadmshow-router命令的信息,请参见"显示第2层和第3层VRRP路由器配置"[37].
为第2层和第3层VRRP路由器配置虚拟IP地址要为L2VRRP路由器配置IP地址,您必须通过与该路由器关联的VRRPVNIC配置vrrp类型的虚拟IP地址.
要为L3VRRP路由器配置虚拟IP地址,您必须在配置L3VRRP路由器所在的IP接口上使用vrrp类型的IP地址.
注-要配置IPv6地址,必须已经通过将路由器的地址系列指定为inet6创建了VRRPVNIC或L3VRRP路由器.
要为VRRP路由器配置虚拟IP地址,请使用以下语法:#ipadmcreate-addr[-t]-Tvrrp[-alocal=addr[/prefix-length]]\[-nrouter-name].
.
.
.
addr-obj|interface-t指定配置的地址是临时地址,并且更改仅应用于活动配置.
-Tvrrp指定配置的地址是vrrp类型.
-nrouter-name-nrouter-name选项对于L2VRRP路由器是可选的,因为VRRP路由器名称可从配置IP地址所在的VRRPVNIC接口派生.
有关更多信息,请参见ipadm(1M)手册页.
注-您也可以使用vrrpadm命令的-a选项配置虚拟IP地址.
有关更多信息,请参见"创建VRRP路由器"[33].
例4-3为L2VRRP路由器配置虚拟IP地址您可以使用vrrp类型的IP地址为L2VRRP路由器配置虚拟IP地址.
以下示例显示了如何为l2router1创建虚拟IP地址.
如何安装VRRP36将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月#ipadmcreate-ipvrrp_vnic1#ipadmcreate-addr-Tvrrp-nl2router1-a192.
168.
82.
8/24vrrp_vnic1/vaddr1以下示例显示了如何为V6vrrp_vnic1/vaddr1创建IPv6链路本地vrrpIP地址.
#ipadmcreate-ipV6vrrp_vnic1#ipadmcreate-addr-TvrrpV6vrrp_vnic1/vaddr1要为VRRP路由器配置IPv6链路本地vrrp类型的IP地址,无需指定本地地址.
IPv6链路本地vrrp类型的IP地址是根据关联VRRP路由器的VRID创建的.
例4-4为L3VRRP路由器配置虚拟IP地址以下示例显示了如何为l3router1配置虚拟IP地址.
#ipadmcreate-ipipmp0#ipadmcreate-addr-Tvrrp-nl3router1-a172.
16.
82.
8/24ipmp0/vaddr1以下示例显示了如何为L3VRRP路由器l3V6router1配置IPv6链路本地vrrp类型的IP地址.
#ipadmcreate-ipipmp1#ipadmcreate-addr-Tvrrp-nl3V6router1ipmp1/vaddr0启用和禁用VRRP路由器首次创建VRRP路由器时,缺省情况下路由器处于启用状态.
您可以禁用VRRP路由器,然后重新启用它.
启用路由器时,借以创建VRRP路由器的接口(使用vrrpadmcreate-router创建路由器时,使用-I选项指定)必须存在.
否则,启用操作将失败.
对于L2VRRP路由器,如果路由器的VRRPVNIC不存在,则路由器无效.
其语法如下所示:#vrrpadmenable-routerrouter-name有时,您可能需要临时禁用VRRP路由器来进行配置更改,然后再重新启用路由器.
禁用路由器的语法如下:#vrrpadmdisable-routerrouter-name修改VRRP路由器vrrpadmmodify-router命令可更改指定VRRP路由器的配置.
您可以修改路由器的优先级、通告时间间隔以及抢占模式和接受模式.
其语法如下所示:如何安装VRRP第4章配置和管理虚拟路由器冗余协议37#vrrpadmmodify-router[-ppriority][-iadv-interval][-oflags]router-name显示第2层和第3层VRRP路由器配置vrrpadmshow-router命令可显示指定VRRP路由器的配置和状态.
有关更多信息,请参见vrrpadm(1M)手册页.
其语法如下所示:#vrrpadmshow-router[-P|-x][-p][-ofield[router-name]例4-5显示第2层VRRP路由器配置以下示例显示了vrrpadmshow-router命令输出.
#vrrpadmshow-routervrrp1NAMEVRIDTYPEIFNAMEAFPRIOADV_INTVMODESTATEVNICvrrp11L2net1IPv41001000e-pa-BACKvnic1NAMEVRRP路由器的名称.
VRIDVRRP路由器的VRID.
TYPEVRRP路由器的类型:L2或L3.
IFNAME配置VRRP路由器时所基于的接口.
对于L2VRRP路由器,接口可以是物理以太网接口、VLAN或聚合.
AFVRRP路由器的地址族.
它可以是IPv4或IPv6.
PRIOVRRP路由器的优先级,用于主路由器选择.
ADV_INTV通告时间间隔(以毫秒为单位显示).
MODE与VRRP路由器关联的一组标志,包括以下可能的值:e-指定路由器已启用.
p-指定模式为preempt.
a-指定模式为accept.
o-指定路由器是虚拟地址所有者.
STATEVRRP路由器的当前状态.
可能的值包括:INIT(初始化)、BACK(备用)和MAST(主).
在本示例中,显示了有关指定VRRP路由器vrrp1的信息.
如何安装VRRP38将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月#vrrpadmshow-router-xvrrp1NAMESTATEPRV_STATSTAT_LASTVNICPRIMARY_IPVIRTUAL_IPSvrrp1BACKMAST1m17svnic110.
0.
0.
10010.
0.
0.
1PRV_STATVRRP路由器的前一个状态.
STAT_LAST自上次状态转换以来已过去的时间.
PRIMARY_IP由VRRP路由器选择的主IP地址.
VIRTUAL_IPS在VRRP路由器上配置的虚拟IP地址.
在本示例中,显示了有关路由器的附加信息,例如VRRP路由器选择的主IP地址、在VRRP路由器上配置的虚拟IP地址,以及VRRP路由器以前的状态.
#vrrpadmshow-router-Pvrrp1NAMEPEERP_PRIOP_INTVP_ADV_LASTM_DOWN_INTVvrrp110.
0.
0.
12312010000.
313s3609PEER对等VRRP路由器的主IP地址.
P_PRIO对等VRRP路由器的优先级,属于从对等方接收的通告的一部分.
P_INTV通告时间间隔(毫秒),属于从对等方接收的通告的一部分.
P_ADV_LAST自上次从对等方接收通告以来已过去的时间.
M_DOWN_INTV时间间隔(毫秒),在此间隔之后声明主路由器停机.
仅当VRRP路由器处于备用状态时,才会使用-P选项.
例4-6显示系统上的L3VRRP路由器#vrrpadmshow-routerNAMEVRIDTYPEIFNAMEAFPRIOADV_INTVMODESTATEVNICl3vr112L3net1IPv62551000eopa-INIT–在本示例中,L3VRRP路由器l3vr1是通过接口net1配置的.
显示与VRRP路由器关联的IP地址您可以使用ipadmshow-addr命令显示与VRRP路由器关联的IP地址.
ipadmshow-addr命令输出中的ROUTER字段显示与vrrp类型的特定IP地址关联的VRRP路由器的名称.
如何安装VRRP第4章配置和管理虚拟路由器冗余协议39对于L2VRRP的vrrp类型IP地址,VRRP路由器的名称从配置IP地址所在的VRRPVNIC派生.
如果在为VRRPVNIC创建L2路由器之前发出ipadmshow-addr命令,ROUTER字段将显示.
对于L3VRRP的vrrp类型IP地址,ROUTER字段始终显示指定的路由器名称.
对于其他类型的IP地址,ROUTER字段不适用,将显示--.
例4-7显示与VRRP路由器关联的IP地址#ipadmshow-addr-oaddrobj,type,vrrp-router,addrADDROBJTYPEVRRP-ROUTERADDRlo0/v4static--127.
0.
0.
1/8net1/p1static--192.
168.
11.
10/24net1/v1vrrpl3router1192.
168.
81.
8/24vrrp_vnic1/vaddr1vrrpl2router1192.
168.
82.
8/24lo0/v6static--::1/128在本示例中,l3router1与vrrp类型的IP地址192.
168.
81.
8/24关联,而l2router1与vrrp类型的IP地址192.
168.
82.
8/24关联.
输出显示了以下信息:ADDROBJ地址对象的名称.
TYPE地址对象的类型,可以是以下几项之一:from-gzstaticdhcpaddrconfvrrpVRRP-ROUTERVRRP路由器的名称.
ADDR数字IPv4或IPv6地址.
删除VRRP路由器vrrpadmdelete-router命令可删除指定的VRRP路由器.
其语法如下所示:#vrrpadmdelete-routerrouter-name注-分别使用vrrpadmcreate-router命令的-f、-a、-P选项创建的VRRPVNIC、vrrp类型的IP地址和主IP地址不会因使用vrrpadmdelete-router命令而删除.
您必须使用相应的ipadm和dladm命令显式删除它们.
使用案例:配置第2层VRRP路由器40将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月控制无故ARP和NDP消息当备用路由器成为主VRRP路由器时,VRRP将在与主路由器关联的所有虚拟IP地址上设置一个标志,因此虚拟IP地址将受到保护.
如果虚拟IP地址没有冲突,则会发送几条无故ARP和相邻节点通告消息,以通知新主路由器的虚拟IP地址与MAC地址之间的新映射.
要控制发送的消息数量和消息通告之间的时间间隔,您可以使用以下IP协议属性:arp_publish_countarp_publish_intervalndp_unsolicit_countndp_unsolicit_interval有关IP协议属性的更多信息,请参见《OracleSolaris11.
2可调参数参考手册》中的"与重复地址检测相关的IP可调参数".
使用案例:配置第2层VRRP路由器下图显示了典型的VRRP配置.
在本示例中,IP地址10.
68.
82.
8配置为host1的缺省网关.
此IP地址是虚拟IP地址,受由以下两个VRRP路由器组成的虚拟路由器保护:router1和router2.
在任何使用案例:配置第2层VRRP路由器第4章配置和管理虚拟路由器冗余协议41给定时间,两个路由器中都只有一个充当主路由器,承担虚拟路由器的责任,并转发来自host1的包.
假定虚拟路由器的VRID是12.
以下示例显示了用于在router1和router2上配置示例VRRP配置的命令.
router1是虚拟IP地址10.
68.
82.
8的所有者,其优先级为缺省值(255).
router2是优先级为100的备用路由器.
有关用于配置VRRP的命令的更多信息,请参见vrrpadm(1M)、dladm(1M)和ipadm(1M)手册页.
对于router1:1.
安装VRRP软件包.
#pkginstallvrrp2.
通过VRID值为12的net0创建VNICvnic0.
#dladmcreate-vnic-mvrrp-V12-Ainet-lnet0vnic03.
通过net0创建VRRP路由器vrrp1.
#vrrpadmcreate-router-V12-Ainet-Inet0vrrp14.
配置IP接口vnic0和net0.
#ipadmcreate-ipvnic0#ipadmcreate-addr-Tvrrp-a10.
68.
82.
8/24vnic0/router1#ipadmcreate-ipnet0#ipadmcreate-addr-Tstatic-a10.
68.
82.
100/24net0/router15.
显示vrrp1的路由器信息.
#vrrpadmshow-router-xvrrp1NAMESTATEPRV_STATSTAT_LASTVNICPRIMARY_IPVIRTUAL_IPSvrrp1MASTERINIT14.
444svnic010.
68.
82.
10010.
68.
82.
8同样,对于router2:1.
通过VRID值为12的net1创建VNICvnic1.
#dladmcreate-vnic-mvrrp-V12-Ainet-lnet1vnic12.
通过net1创建VRRP路由器vrrp2.
#vrrpadmcreate-router-V12-Ainet-Inet1-p100vrrp23.
配置IP接口vnic1和net1.
#ipadmcreate-ipvnic1#ipadmcreate-addr-Tvrrp-a10.
68.
82.
8/24vnic1/router2使用案例:配置第2层VRRP路由器42将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月#ipadmcreate-ipnet1#ipadmcreate-addr-Tstatic-a10.
68.
82.
101/24net1/router24.
显示vrrp2的路由器信息.
#vrrpadmshow-router-xvrrp2NAMESTATEPRV_STATSTAT_LASTVNICPRIMARY_IPVIRTUAL_IPSvrrp2BACKUPINIT2m32svnic110.
68.
82.
10110.
68.
82.
8以router1的配置为例,必须在net0上至少配置一个IP地址.
router1的此IP地址为主IP地址,用于发送VRRP通告包.
#vrrpadmshow-router-xvrrp1NAMESTATEPRV_STATSTAT_LASTVNICPRIMARY_IPVIRTUAL_IPSvrrp1MASTERINIT14.
444svnic110.
68.
82.
10010.
68.
82.
8第5章集成负载平衡器概述435第5章集成负载平衡器概述本章介绍ILB组件的组件和ILB操作所处的模式,例如服务器直接返回(DirectServerReturn,DSR)模式和网络地址转换(NetworkAddressTranslator,NAT)模式.
本章包含以下主题:"ILB组件"[43]"ILB操作模式"[43]"ILB的工作原理"[48]有关ILB的更多信息,请参见"集成负载平衡器概述"[12].
ILB组件ILB由服务管理工具(ServiceManagementFacility,SMF)服务svc:/network/loadbalancer/ilb:default进行管理.
有关SMF的更多信息,请参见《在OracleSolaris11.
2中管理系统服务》.
ILB的三个主要组件是:ilbadm命令行界面(command-lineinterface,CLI)-您可以使用CLI配置负载平衡规则、执行可选的运行状况检查以及查看统计信息.
libilb配置库-ilbadm和第三方应用程序可以使用libilb中实现的功能进行ILB管理.
ilbd守护进程-此守护进程执行以下任务:管理重新引导和软件包更新过程中的持久性配置处理配置信息并将其发送到ILB内核模块进行执行,从而提供对ILB内核模块的串行访问执行运行状况检查并向ILB内核模块发送结果,以便正确调整负载分布ILB操作模式ILB以单路拓扑和双路拓扑形式支持IPv4与IPv6的无状态DSR及NAT操作模式.
ILB操作模式44将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月服务器直接返回模式在DSR模式下,ILB会平衡后端服务器的传入请求,而使从服务器返回到客户机的通信流量绕过它.
但是,如果将ILB设置为用作后端服务器的路由器,则后端服务器对客户机的响应将通过运行ILB的系统进行路由.
ILB的当前DSR实现未提供TCP连接跟踪,从而使其无状态.
使用无状态DSR,ILB不会保存已处理包的任何状态信息,但基本统计信息除外.
在无状态的情况下,性能与正常的IP转发性能相当.
DSR模式最适合无连接协议.
优点:DSR性能优于NAT,因为只更改包的目标MAC地址,服务器将直接响应客户机.
服务器和客户机之间完全透明.
服务器可直接看到来自客户机IP地址的连接,并通过缺省网关回复客户机.
缺点:后端服务器必须响应其自身的IP地址(针对运行状况检查)以及虚拟IP地址(针对负载平衡通信).
在无状态的情况下,添加或删除服务器会导致连接中断.
下图显示了如何在DSR模式下实现ILB.
ILB操作模式第5章集成负载平衡器概述45图5-1服务器直接返回拓扑在该图中,两个后端服务器与ILB机箱处于同一子网(192.
168.
1.
0/24)中.
服务器还连接到路由器,因此在收到ILB机箱转发的请求后,它们可以直接回复客户机.
网络地址转换模式ILB完全是为了实现负载平衡功能才使用独立模式的NAT.
在此模式下,ILB会重写头信息并处理传入与传出通信流量.
ILB可在半NAT模式和全NAT模式下运行.
但是,全NAT还会重写源IP地址,使服务器认为所有连接均源自负载平衡器.
NAT确实提供了TCP连接跟踪(意味着它是有状态的).
NAT模式可提供额外的安全性,最适合超文本传输协议(HypertextTransferProtocol,HTTP)或安全套接字层(SecureSocketsLayer,SSL)通信.
ILB操作模式46将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月优点:通过将缺省网关更改为指向负载平衡器,可使用所有后端服务器由于负载平衡器保持连接状态,因此可在不中断连接的情况下添加或删除服务器缺点:性能低于DSR,因为处理涉及到操作IP头,并且服务器向负载平衡器发送响应所有后端服务器都必须使用负载平衡器作为缺省网关NAT模式的一般实现方式如下图中所示.
图5-2网络地址转换拓扑在这种情况下,对VIP的所有请求均通过ILB并转发到后端服务器.
后端服务器的所有回复均通过ILB以进行网络地址转换.
ILB操作模式第5章集成负载平衡器概述47注意-ILB中实现的NAT代码路径不同于OracleSolaris的IP过滤器功能中实现的代码路径.
请勿同时使用这两种代码路径.
半NAT负载平衡模式在ILB操作的半NAT模式下,ILB仅将目标IP地址重新写入包头中.
如果您使用的是半NAT实现方式,则无法从服务器所在的子网连接到该服务的VIP地址.
下表显示了流经客户机和ILB之间以及ILB和后端服务器之间的包的IP地址.
表5-1服务器和客户机位于不同的网络中时,半NAT实现的请求流和响应流请求流源IP地址目标IP地址1.
客户机–>ILB客户机ILB的VIP2.
ILB–>服务器客户机服务器响应流3.
服务器–>ILB服务器客户机4.
ILB–>客户机ILB的VIP客户机如果您将客户机系统连接到服务器所在的网络,预定的服务器将直接响应客户机,不会发生表中的第四步.
因此,服务器对客户机响应的源IP地址无效.
当客户机向负载平衡器发送连接请求时,预定的服务器会进行响应.
自此以后,客户机的IP栈将正确丢弃所有响应.
在这种情况下,请求流和响应流会按下表所示继续进行.
表5-2服务器和客户机位于同一网络中时,半NAT实现的请求流和响应流请求流源IP地址目标IP地址1.
客户机–>ILB客户机ILB的VIP2.
ILB–>服务器客户机服务器响应流3.
服务器–>客户机服务器客户机全NAT负载平衡模式在ILB操作的全NAT实现中,将会重新写入源IP地址和目标IP地址,以确保通信在两个方向通过负载平衡器.
通过全NAT模式,可以从服务器所在的子网中连接到VIP.
下表描述了使用全NAT模式时流经客户机和ILB之间以及ILB和后端服务器之间的包的IP地址.
服务器中不需要使用ILB框的特殊缺省路由.
请注意,全NAT模式需要管理员留出一个IP地址或一系列IP地址供ILB用作源地址,以便与后端服务器进行通信.
假定使用的地址属于子网C.
在这种情况下,ILB充当代理.
ILB的工作原理48将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月表5-3全NAT实现的请求流和响应流请求流源IP地址目标IP地址1.
客户机–>ILB客户机ILB的VIP2.
ILB–>服务器负载平衡器的接口地址(子网C)服务器响应流3.
服务器–>ILB服务器ILB的接口地址(子网C)4.
ILB–>客户机ILB的VIP客户机ILB的工作原理本节介绍ILB的流程,其中涉及处理客户机对VIP的请求、将请求转发至后端服务器以及处理响应.
客户机至服务器包处理涉及以下步骤:1.
ILB收到客户机发送到VIP地址的传入请求,并将该请求与负载平衡规则匹配.
2.
如果ILB发现匹配的负载平衡规则,它将使用负载平衡算法将请求转发到后端服务器,具体取决于操作模式.
在DSR模式下,ILB会将传入请求的MAC头替换为选定的后端服务器的MAC头.
在半NAT模式下,ILB会将传入请求的目标IP地址和传输协议端口号替换为选定的后端服务器的对应项.
在全NAT模式下,ILB会将传入请求的源IP地址和传输协议端口号替换为负载平衡规则的NAT源地址.
ILB还会将传入请求的目标IP地址和传输协议端口号替换为选定的后端服务器的对应项.
3.
ILB将修改后的传入请求转发到选定的后端服务器.
服务器至客户机包处理涉及以下步骤:1.
后端服务器向ILB发送回复,以响应客户机的传入请求.
2.
ILB在收到后端服务器的响应后采取的措施基于操作模式.
在DSR模式下,后端服务器的响应会绕过ILB并直接转至客户机.
但是,如果ILB还用作后端服务器的路由器,则后端服务器对客户机的响应将通过运行ILB的系统进行路由.
在半NAT模式和全NAT模式下,ILB会将后端服务器的响应与传入请求进行匹配,并将更改后的IP地址和传输协议端口号替换为原始传入请求的对应项.
然后,ILB将响应转发到客户机.
第6章配置和管理集成负载平衡器496第6章配置和管理集成负载平衡器ILB在网络协议堆栈的L3和L4层上配置.
本章介绍安装ILB、启用或禁用ILB、定义ILB中的服务器组和后端服务器以及使用ilbadm命令导出和导入ILB配置的任务.
有关更多信息,请参见ilbadm(1M)手册页.
有关配置ILB以实现高可用性的更多信息,请参见第7章配置ILB以实现高可用性.
有关如何部署OracleSolaris集成负载平衡器的信息,请参见DeployingtheOracleSolarisIntegratedLoadBalancerin60Minute(http://www.
oracle.
com/technetwork/systems/hands-on-labs/hol-deploy-ilb-60mmin-2137812.
html)(在60分钟内部署OracleSolaris集成负载平衡器).
有关如何使用OracleSolaris中的OracleSolarisZones和ILB实现应用程序高可用性的信息,请参见HowtoSetUpaLoad-BalancedApplicationAcrossTwoOracleSolarisZones(http://www.
oracle.
com/technetwork/articles/servers-storage-admin/loadbalancedapp-1653020.
html)(如何跨两个OracleSolarisZones设置负载平衡的应用程序).
本章包含以下主题:"安装ILB"[49]"使用命令行界面配置ILB"[50]"启用或禁用ILB"[51]"管理ILB"[52]"使用案例:配置ILB"[60]"显示ILB统计信息"[61]"导入和导出配置"[63]安装ILBILB具有内核和用户级安装.
ILB内核安装作为OracleSolaris安装的一部分自动执行.
但是,您必须使用以下命令执行ILB用户级安装:#pkginstallilb使用命令行界面配置ILB50将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月使用命令行界面配置ILBILBCLI位于/usr/sbin/ilbadm目录中.
CLI包含用于配置负载平衡规则、服务器组和运行状况检查的子命令.
此外,还包含用于显示统计信息以及查看配置详细信息的子命令.
您必须为ILB配置子命令设置用户授权,但查看子命令除外,例如ilbadmshow-rule、ilbadmshow-server和ilbadmshow-healthcheck.
您必须拥有solaris.
network.
ilb.
configRBAC授权,才能执行ILB配置子命令.
要了解如何为现有用户分配授权,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的第3章"在OracleSolaris中指定权限".
您也可以在系统上创建新的用户帐户时提供授权.
以下示例将创建一个组ID为10、用户ID为1210并且具有管理系统中ILB的授权的用户ilbadm.
#useradd-g10-u1210-Asolaris.
network.
ilb.
configilbadminuseradd命令将向/etc/passwd、/etc/shadow和/etc/user_attr文件中添加一个新用户.
-A选项为该用户指定授权.
子命令可以分为两类:配置子命令-这些子命令用于执行以下任务:创建和删除负载平衡规则启用和禁用负载平衡规则创建和删除服务器组在服务器组中添加和删除服务器启用和禁用后端服务器为负载平衡规则中的服务器组创建和删除服务器运行状况检查注-您必须拥有管理配置子命令的特权.
要创建相应的角色并将该角色分配给用户,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"创建角色".
查看子命令-这些子命令用于执行以下任务:查看已配置的负载平衡规则、服务器组和运行状况检查查看包转发统计信息查看NAT连接表查看运行状况检查结果查看会话持久性映射表注-管理查看子命令不需要拥有特权.
启用或禁用ILB第6章配置和管理集成负载平衡器51有关ilbadm子命令的更多信息,请参见ilbadm(1M)手册页.
启用或禁用ILB本节介绍如何在安装ILB后启用ILB或者如何在不需要ILB服务时禁用ILB.
如何启用ILB1.
成为管理员.
有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
启用相应的转发服务IPv4或IPv6,或同时启用这两种服务.
此命令在成功时不会生成输出.
#ipadmset-prop-pforwarding=onipv4#ipadmset-prop-pforwarding=onipv63.
启用ILB服务.
#svcadmenableilb4.
验证是否已启用ILB服务.
#svcsilb该命令显示有关服务配置系统信息库中记录的服务实例的信息.
如何禁用ILB不需要ILB服务时,您可以禁用ILB.
1.
成为管理员.
有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
禁用ILB服务.
#svcadmdisableilb管理ILB52将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月3.
验证是否已禁用ILB服务.
#svcsilb该命令显示有关服务配置系统信息库中记录的服务实例的信息.
接下来的步骤禁用ILB服务后,如果不需要IP转发,您必须禁用该功能.
管理ILB启用ILB后,您可以通过定义服务器组、监视ILB的运行状况检查以及创建ILB规则来设置ILB.
本节包含以下主题:"定义ILB中的服务器组和后端服务器"[52]"监视ILB中的运行状况检查"[55]"配置ILB规则"[58]定义ILB中的服务器组和后端服务器本节介绍如何创建ILB服务器组并向服务器组中添加后端服务器.
使用create-servergroup或add-server子命令添加服务器时,系统将生成服务器ID.
服务器ID在服务器组中是唯一的.
有关ilbadm子命令的信息,请参见ilbadm(1M)手册页.
创建ILB服务器组要创建ILB服务器组,请首先确定要包含在服务器组中的服务器.
可以使用服务器的主机名或IP地址及可选端口来指定服务器.
然后,以管理员身份运行以下命令:#ilbadmcreate-servergroup-sservers=server1,server2,server3servergroup将为添加的每个服务器生成带有前导下划线(_)前缀的唯一服务器ID.
注-如果某个服务器属于多个服务器组,则该服务器可以具有多个服务器ID.
向ILB服务器组中添加后端服务器要向服务器组中添加后端服务器,请以管理员身份运行以下命令:管理ILB第6章配置和管理集成负载平衡器53#ilbadmadd-server-sserver=server1[,server2.
.
.
]servergroup指定的服务器必须包含主机名或IP地址,还可以包含可选的端口或端口范围.
服务器组中不允许存在IP地址相同的服务器项.
将为添加的每个服务器生成带有前导下划线(_)前缀的唯一服务器ID.
注-IPv6地址必须括在方括号中.
例6-1创建ILB服务器组并添加后端服务器以下示例将创建一个称为webgroup并包含三个后端服务器的服务器组.
#ilbadmcreate-servergroup-s\servers=192.
168.
89.
11,192.
168.
89.
12,192.
168.
89.
13webgroup#ilbadmshow-servergroupSGNAMESERVERIDMINPORTMAXPORTIP_ADDRESSwebgroup_webgroup.
0----192.
168.
89.
11webgroup_webgroup.
1----192.
168.
89.
12webgroup_webgroup.
2----192.
168.
89.
13以下示例将创建一个称为webgroup1的服务器组,并向该服务器组添加三个后端服务器.
#ilbadmcreate-servergroupwebgroup1#ilbadmadd-server-sserver=[2001:0db8:7::feed:6]:8080,\[2001:0db8:7::feed:7]:8080,[2001:0db8:7::feed:8]:8080webgroup1启用或禁用ILB服务器组中的后端服务器首先确定要重新启用或禁用的后端服务器的IP地址、主机名或服务器ID.
您必须首先将服务器组与规则关联,然后才能启用或禁用服务器组中的服务器.
如果某个服务器属于多个服务器组,则该服务器可以具有多个服务器ID.
您必须指定服务器ID才能针对与该服务器ID关联的特定规则重新启用或禁用服务器.
要禁用已启用的服务器,请键入以下命令:#ilbadmdisable-serverserver1将禁用已启用的选定服务器.
内核不会将通信转发到该服务器.
要重新启用已禁用的服务器,请键入以下命令:#ilbadmenable-serverserver1将重新启用已禁用的选定服务器.
管理ILB54将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月要显示服务器的状态,请键入以下命令:#ilbadmshow-server[[-p]-ofield[,field.
.
.
]][rulename]注-仅当服务器所属的服务器组与某项规则关联时,服务器才会将状态显示为已启用或已禁用.
例6-2禁用并重新启用ILB服务器组中的后端服务器在以下示例中,将先禁用再重新启用服务器ID为_websg.
1的服务器.
#ilbadmenable-server_websg.
1#ilbadmdisable-server_websg.
1从ILB服务器组中删除后端服务器您可以使用ilbadmremove-server命令从一个ILB服务器组中或从所有服务器组中删除后端服务器.
首先,确定要从服务器组中删除的服务器的服务器ID.
ilbadmshow-servergroup-oall服务器ID是将服务器添加到服务器组中时指定给系统的IP地址的唯一名称.
然后,删除该服务器.
#ilbadmremove-server-sserver=server-IDserver-group如果NAT或半NAT规则正在使用该服务器,请先通过disable-server子命令禁用该服务器,然后再进行删除.
有关更多信息,请参见"启用或禁用ILB服务器组中的后端服务器"[53].
当服务器被禁用时,将会进入连接排空状态.
使用ilbadmshow-nat命令定期查看NAT表,以了解服务器是否仍处于连接状态.
排空所有连接后(服务器不会显示在show-nat命令输出中),即可使用remove-server命令删除服务器.
如果设置了conn-drain超时值,连接排空状态将在超时期限到期后结束.
conn-drain超时的缺省值为0,这意味着连接排空将持续等待,直到连接正常关闭为止.
例6-3从ILB服务器组中删除后端服务器以下示例将从服务器组sg1中删除服务器ID为_sg1.
2的服务器.
#ilbadmremove-server-sserver=_sg1.
2sg1管理ILB第6章配置和管理集成负载平衡器55删除ILB服务器组本节介绍如何删除ILB服务器组.
您无法删除由任何活动规则使用的服务器组.
首先,显示有关服务器组的所有可用信息.
#ilbadmshow-servergroup-oallsgnameserverIDminportmaxportIP_addressspecgroup_specgroup.
070017001192.
168.
68.
18specgroup_specgroup.
170017001192.
168.
68.
19test123_test123.
070027002192.
168.
67.
18test123_test123.
170027002192.
168.
67.
19键入以下命令:#ilbadmdelete-servergroupservergroup如果服务器组正在由活动规则使用,则删除会失败.
以下示例将删除称为webgroup的服务器组.
#ilbadmdelete-servergroupwebgroup监视ILB中的运行状况检查ILB提供了以下可选类型的服务器运行状况检查:内置的ping探测器内置的TCP探测器内置的UDP探测器用户提供的可作为运行状况检查运行的定制测试缺省情况下,ILB不会执行任何运行状况检查.
您可以在创建负载平衡规则时为每个服务器组指定运行状况检查.
对于每个负载平衡规则,只能配置一个运行状况检查.
只要启用了虚拟服务,与启用的虚拟服务关联的服务器组的运行状况检查就会自动启动并定期重复执行.
禁用虚拟服务后,运行状况检查将立即停止.
重新启用虚拟服务后,先前的运行状况检查状态将不会保留.
如果您指定了TCP、UDP或定制测试探测器来执行运行状况检查,则ILB缺省情况下会先发送ping探测器以确定服务器是否可以访问,然后再向该服务器发送指定的TCP、UDP或定制测试探测器.
如果ping探测器失败,则会禁用相应的服务器,并且运行状况检查状态为unreachable.
如果ping探测器成功,但TCP、UDP或定制测试探测器失败,则会禁用服务器,并且运行状况检查状态为dead.
您可以禁用缺省的ping探测器,但UDP探测器除外.
对于UDP运行状况检查,ping探测器始终是缺省探测器.
管理ILB56将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月创建运行状况检查您可以创建运行状况检查,并在创建负载平衡规则时为服务器组分配运行状况检查.
在以下示例中,创建了两个运行状况检查对象hc1和hc-myscript.
第一个运行状况检查使用内置的TCP探测器.
第二个运行状况检查使用定制测试/var/tmp/my-script.
#ilbadmcreate-healthcheck-hhc-timeout=3,\hc-count=2,hc-interval=8,hc-test=tcphc1#ilbadmcreate-healthcheck-hhc-timeout=3,\hc-count=2,hc-interval=8,hc-test=/var/tmp/my-scripthc-myscript参数如下所示:hc-timeout指定将运行状况检查视为失败(如果未完成)时的超时.
hc-count指定尝试执行hc-test运行状况检查的次数.
hc-interval指定连续的运行状况检查之间的间隔.
为了避免将探测器同时发送到所有服务器,将会随机生成介于0.
5*hc-interval和1.
5*hc-interval之间的实际间隔.
hc-test指定运行状况检查的类型.
您可以指定内置运行状况检查(例如tcp、udp和ping),也可以指定外部运行状况检查(必须以完整的路径名指定).
注-hc-test的端口规范是使用create-rule子命令中的hc-port关键字指定的.
有关更多信息,请参见ilbadm(1M)手册页.
用户提供的定制测试可以是二进制文件或脚本.
测试可位于系统上的任何位置.
使用create-healthcheck子命令时,您必须指定绝对路径.
在create-rule子命令中将测试(例如,/var/tmp/my-script)指定为运行状况检查规范的一部分时,ilbd守护进程将派生一个进程并执行测试,如下所示:/var/tmp/my-script$1$2$3$4$5参数如下所示:$1VIP(数值IPv4或IPv6地址)$2服务器IP(数值IPv4或IPv6地址)$3协议(字符串形式的UDP、TCP)$4数字端口范围(用户指定的hc-port值)管理ILB第6章配置和管理集成负载平衡器57$5测试在返回失败之前必须等待的最长时间(秒).
如果测试运行超出了指定的时间,则可能会停止测试并认为测试失败.
该值是用户定义的并在hc-timeout中指定.
用户提供的测试无需使用所有参数,但是必须返回以下几项之一:往返时间(round-triptime,RTT)(微秒)0(如果测试不计算RTT)-1(失败)缺省情况下,运行状况检查测试使用以下特权运行:PRIV_PROC_FORK、RIV_PROC_EXEC和RIV_NET_ICMPACCESS.
如果需要更广泛的特权集,则必须在测试中实现setuid.
有关特权的更多详细信息,请参见privileges(5)手册页.
列出运行状况检查要获取有关已配置运行状况检查的详细信息,请发出以下命令:#ilbadmshow-healthcheckHCNAMETIMEOUTCOUNTINTERVALDEF_PINGTESThc1328Ytcphc2328N/var/usr-script显示运行状况检查结果您可以使用ilbadmlist-hc-result命令获取运行状况检查结果.
如果未指定规则或运行状况检查,该子命令将列出所有运行状况检查.
以下示例将显示与称为rule1的规则关联的运行状况检查结果.
#ilbadmshow-hc-resultrule1RULENAMEHCNAMESERVERIDSTATUSFAILLASTNEXTRTTrule1hc1_sg1:0dead1011:01:1911:01:27941rule1hc1_sg1:1alive011:01:2011:01:341111注-仅当规则具有关联的运行状况检查时,show-hc-result命令才会显示运行状况检查结果.
输出中的LAST列显示完成服务器运行状况检查的时间.
NEXT列显示将要完成下一次运行状况检查的时间.
管理ILB58将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月删除运行状况检查您可以使用ilbadmdelete-healthcheck命令删除运行状况检查.
以下示例将删除名为hc1的运行状况检查.
#ilbadmdelete-healthcheckhc1配置ILB规则本节介绍如何使用ilbadm命令创建、删除和列出负载平衡规则.
ILB算法ILB算法用于控制通信流量分布,并为负载分布和服务器选择提供各种特征.
ILB为两种操作模式提供了以下算法:循环-在循环算法中,负载平衡器将请求轮流指定给服务器组.
在为某服务器指定请求后,该服务器将会移至列表末尾.
src-IP散列-在源IP散列方法中,负载平衡器根据传入请求的源IP地址的散列值选择服务器.
src-IP,port散列-在源IP、端口散列方法中,负载平衡器根据传入请求的源IP地址和源端口的散列值选择服务器.
src-IP,VIP散列-在源IP、VIP散列方法中,负载平衡器根据传入请求的源IP地址和目标IP地址的散列值选择服务器.
创建ILB规则在ILB中,虚拟服务通过负载平衡规则表示,并通过以下参数进行定义:虚拟IP地址传输协议:TCP或UDP端口号(或端口范围)负载平衡算法负载平衡模式(DSR、全NAT或半NAT)包含一组后端服务器的服务器组可对服务器组中的每个服务器执行的可选服务器运行状况检查用于运行状况检查的可选端口管理ILB第6章配置和管理集成负载平衡器59注-您可以对特定端口指定运行状况检查,也可以对ilbd守护进程从服务器端口范围中随机选择的任意端口指定运行状况检查.
用于表示虚拟服务的规则名称必须先执行以下操作,然后才能创建规则:创建一个包含相应的后端服务器的服务器组.
有关信息,请参见"定义ILB中的服务器组和后端服务器"[52].
创建运行状况检查以将服务器运行状况检查与规则关联.
有关信息,请参见"创建运行状况检查"[56].
确定要与规则关联的VIP、端口和可选协议.
确定要使用的操作(DSR、半NAT或全NAT).
确定要使用的负载平衡算法.
有关更多信息,请参见"ILB算法"[58].
您可以使用ilbadmcreate-rule命令创建ILB规则.
有关使用ilbadmcreate-rule命令的更多信息,请参见ilbadm(1M)手册页.
其语法如下所示:#ilbadmcreate-rule-e-ivip=IPaddr,port=port,protocol=protocol\-mlbalg=lb-algorithm,type=topology-type,proxy-src=IPaddr1-IPaddr2,\pmask=value-hhc-name=hc1-oservergroup=sgrule1注--e选项可启用正在创建的规则,该规则在缺省情况下处于禁用状态.
例6-4创建具有运行状况检查会话持久性的全NAT规则此示例创建一个名为hc1的运行状况检查,以及一个名为sg1的服务器组.
该服务器组包含两个服务器,每个服务器具有一系列端口.
最后一个命令创建并启用一个名为rule1的规则,并将该规则与服务器组和运行状况检查进行关联.
此规则实施全NAT操作模式.
请注意,创建该规则之前,必须先创建服务器组和运行状况检查.
#ilbadmcreate-healthcheck-hhc-test=tcp,hc-timeout=2,\hc-count=3,hc-interval=10hc1#ilbadmcreate-servergroup-sserver=192.
168.
0.
10:6000-6009,192.
168.
0.
11:7000-7009sg1#ilbadmcreate-rule-e-p-ivip=10.
0.
0.
10,port=5000-5009,\protocol=tcp-mlbalg=rr,type=NAT,proxy-src=192.
168.
0.
101-192.
168.
0.
104,pmask=24\-hhc-name=hc1-oservergroup=sg1rule1创建持久性映射时,对具有匹配的客户机源IP地址的虚拟服务的连接、包或这两者的后续请求将转发到同一后端服务器.
对于IPv4,无类域间路由(ClasslessInter-DomainRouting,CIDR)表示法中的前缀长度是一个介于0-32之间的值;对于IPv6,该前缀长度是一个介于0-128之间的值.
使用案例:配置ILB60将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月创建半NAT或全NAT规则时,请指定connection-drain超时的值.
conn-drain超时的缺省值为0,这意味着连接排空将持续等待,直到连接正常关闭为止.
列出ILB规则要列出规则的配置详细信息,请发出以下命令.
如果未指定规则名称,将提供所有规则的信息.
#ilbadmshow-ruleRULENAMESTATUSLBALGTYPEPROTOCOLVIPPORTrule-httpEhash-ip-portNATTCP10.
0.
0.
180rule-dnsDhash-ipNATUDP10.
0.
0.
153rule-abcDroundrobinNATTCP2001:db8::11024rule-xyzEip-vipNATTCP2001:db8::12048-2050删除ILB规则您可以使用ilbadmdelete-rule命令删除规则.
添加-a选项可删除所有规则.
以下示例将删除名为rule1的规则.
#ilbadmdelete-rulerule1使用案例:配置ILB本节介绍用于设置ILB以使用半NAT拓扑对两台服务器之间的通信进行负载平衡的步骤.
请参见"ILB操作模式"[43]中的NAT拓扑实现.
1.
成为管理员.
有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
在ILB中设置服务器组.
两个服务器分别是192.
168.
1.
50和192.
169.
1.
60.
通过键入以下命令来创建由这两个服务器组成的服务器组srvgrp1.
有关在ILB中设置服务器组的更多信息,请参见"创建ILB服务器组"[52].
#ilbadmcreate-sg-sservers=192.
168.
1.
50,192.
168.
1.
60srvgrp13.
设置后端服务器.
在此方案中,后端服务器设置为将ILB用作缺省路由器.
在两个服务器上运行以下命令:#routeadd-pdefault192.
168.
1.
21显示ILB统计信息第6章配置和管理集成负载平衡器61执行此命令后,在两台服务器上启动服务器应用程序.
假定它是侦听端口5000的TCP应用程序.
有关设置后端服务器的更多信息,请参见"向ILB服务器组中添加后端服务器"[52].
4.
设置名为hc-srvgrp1的简单运行状况检查.
通过键入以下命令来创建运行状况检查:#ilbadmcreate-hc-hhc-test=tcp,hc-timeout=3,\hc-count=3,hc-interval=60hc-srvgrp1简单TCP级别的运行状况检查用于检测服务器应用程序是否可访问.
每隔60秒执行一次该检查.
运行状况检查最多尝试三次,在两次尝试之间最多等待3秒,以查看服务器是否正常运行.
如果三次尝试全部失败,会将服务器标记为dead.
有关监视和创建运行状况检查的更多信息,请参见"监视ILB中的运行状况检查"[55].
5.
通过键入以下命令来设置ILB规则:#ilbadmcreate-rule-e-p-ivip=10.
0.
2.
20,port=5000-m\lbalg=rr,type=half-nat,pmask=32\-hhc-name=hc-srvgrp1-oservergroup=srvgrp1rule1_rr此规则中使用持久性(具有32位掩码),负载平衡算法为roundrobin.
有关不同ILB算法的信息,请参见"ILB算法"[58].
使用服务器组srvgrp1和运行状况检查机制hc-srvgrp1.
有关创建ILB规则的更多信息,请参见"创建ILB规则"[58].
显示ILB统计信息本节介绍如何使用ilbadm命令获取相关信息,例如服务器的输出统计信息或规则的统计信息.
还可以显示NAT表信息和会话持久性映射表.
显示统计信息使用ilbadmshow-statistics命令可查看负载分配详细信息,如以下示例中所示.
#ilbadmshow-statisticsPKT_PBYTES_PPKT_UBYTES_UPKT_DBYTES_D96360000PKT_P已处理的包数BYTES_P已处理的字节数PKT_U未处理的包数显示ILB统计信息62将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月BYTES_U未处理的字节数PKT_D已丢弃的包数BYTES_D已丢弃的字节数显示NAT连接表使用ilbadmshow-nat命令可显示NAT连接表.
请注意,连续运行该命令时元素的相对位置并不重要.
例如,如果执行ilbadmshow-nat10命令两次,则每次执行时所看到的10个项目可能不相同,在繁忙的系统上尤其如此.
如果未指定计数值,则会显示整个NAT连接表.
例6-5NAT连接表项以下示例显示了NAT连接表中的五个项.
#ilbadmshow-nat5UDP:124.
106.
235.
150.
53688>85.
0.
0.
1.
1024>>>82.
0.
0.
39.
4127>82.
0.
0.
56.
1024UDP:71.
159.
95.
31.
61528>85.
0.
0.
1.
1024>>>82.
0.
0.
39.
4146>82.
0.
0.
55.
1024UDP:9.
213.
106.
54.
19787>85.
0.
0.
1.
1024>>>82.
0.
0.
40.
4114>82.
0.
0.
55.
1024UDP:118.
148.
25.
17.
26676>85.
0.
0.
1.
1024>>>82.
0.
0.
40.
4112>82.
0.
0.
56.
1024UDP:69.
219.
132.
153.
56132>85.
0.
0.
1.
1024>>>82.
0.
0.
39.
4134>82.
0.
0.
55.
1024项格式如下:T:IP1>IP2>>>IP3>IP4T此项中使用的传输协议IP1客户机的IP地址和端口IP2VIP和端口IP3在半NAT模式下,是客户机的IP地址和端口.
在全NAT模式下,是客户机的IP地址和端口.
IP4后端服务器的IP地址和端口.
显示会话持久性映射表使用ilbadmshow-persist命令可显示会话持久性映射表.
导入和导出配置第6章配置和管理集成负载平衡器63例6-6会话持久性映射表项以下示例显示了会话持久性映射表中的五个项.
#ilbadmshow-persist5rule2:124.
106.
235.
150-->82.
0.
0.
56rule3:71.
159.
95.
31-->82.
0.
0.
55rule3:9.
213.
106.
54-->82.
0.
0.
55rule1:118.
148.
25.
17-->82.
0.
0.
56rule2:69.
219.
132.
153-->82.
0.
0.
55项格式如下:R:IP1-->IP2R与持久性项绑定的规则.
IP1客户机的IP地址.
IP2后端服务器的IP地址.
导入和导出配置导出和导入子命令用于将配置从一个系统移至另一个系统.
例如,如果要使用VRRP设置ILB的备份以具有主动-被动配置,只需将配置导出到一个文件中,然后将其导入备份系统即可.
ilbadmexport命令可将当前的ILB配置导出到用户指定的文件中.
该信息随后可用作ilbadmimport命令的输入.
ilbadmimport命令会在导入之前删除现有配置,除非明确指示保留该配置.
如果省略文件名,则指示命令从stdin读取或写入stdout.
要导出ILB配置,请使用export-config命令.
以下示例将以适合使用import命令进行导入的格式将当前的配置导出到文件/var/tmp/ilb_config中.
#ilbadmexport-config/var/tmp/ilb_config要导入ILB配置,请使用import-config命令.
以下示例将读取/var/tmp/ilb_config文件的内容并覆盖现有配置.
#ilbadmimport-config/var/tmp/ilb_config64将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月第7章配置ILB以实现高可用性657第7章配置ILB以实现高可用性本章介绍使用VRRP功能实现的ILB高可用性(highavailability,HA)配置.
ILB的高可用性配置是使用DSR和半NAT拓扑实现的.
半NAT和DSR拓扑使用VRRP保护ILB规则的虚拟IP地址.
但是,在半NAT拓扑中,VRRP还用于保护面向后端服务器的主负载平衡器的IP地址.
这样有助于确保在主负载平衡器发生故障时,后端服务器转为使用备用(被动)负载平衡器.
有关VRRP的更多信息,请参见第3章使用虚拟路由器冗余协议;有关如何配置和管理ILB的更多信息,请参见第6章配置和管理集成负载平衡器.
本章包含以下主题:"使用DSR拓扑配置ILB以实现高可用性"[65]"使用半NAT拓扑配置ILB以实现高可用性"[68]使用DSR拓扑配置ILB以实现高可用性您可以设置两个负载平衡器,一个作为主负载平衡器,另一个作为备用负载平衡器.
主负载平衡器充当主路由器,备用(被动)负载平衡器充当备用路由器.
ILB规则的虚拟IP地址充当虚拟路由器IP地址.
VRRP子系统将检查主负载平衡器是否发生了故障.
如果主负载平衡器出现故障,备用负载平衡器将承担主负载平衡器的角色.
下图显示了用于配置ILB连接以实现HA的DSR拓扑.
使用DSR拓扑配置ILB以实现高可用性66将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月图7-1使用DSR拓扑进行ILB高可用性配置如何使用DSR拓扑配置ILB以实现高可用性第7章配置ILB以实现高可用性67如何使用DSR拓扑配置ILB以实现高可用性对于ILB规则、服务器组和运行状况检查,您可以将主负载平衡器和备用负载平衡器配置为具有相同的配置.
您可以将两个负载平衡器设置为使用VRRP.
此外,还可以将规则的虚拟IP地址设置为虚拟路由器地址.
然后,VRRP子系统将确保一个负载平衡器始终处于活动状态.
1.
成为管理员.
有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
将主负载平衡器和备用(被动)负载平衡器配置为具有相同的设置.
#ilbadmcreate-servergroup-sserver=10.
0.
0.
1,10.
0.
0.
2sg1#ilbadmcreate-rule-ivip=10.
81.
0.
3,port=9001\-mlbalg=hash-ip-port,type=DSR-oservergroup=sg1rule13.
配置用于充当主负载平衡器的负载平衡器1.
LB1#dladmcreate-vnic-mvrrp-V1-Ainet-leth0vnic1LB1#vrrpadmcreate-router-V1-Ainet-leth0-p255vrrp1LB1#ipadmcreate-ipvnic1LB1#ipadmcreate-addr-d-a10.
81.
0.
3/24vnic1使用vrrpadm命令将vrrp1路由器的优先级设置为255.
该优先级值使路由器成为主路由器,并因此成为主动负载平衡器.
4.
配置用于充当备用负载平衡器的负载平衡器2.
LB2#dladmcreate-vnic-mvrrp-V1-Ainet-leth0vnic1LB2#vrrpadmcreate-router-V1-Ainet-leth0-p100vrrp1LB2#ipadmcreate-ipvnic1LB2#ipadmcreate-addr-d-a10.
81.
0.
3/24vnicl上述配置可防范以下故障情况:如果负载平衡器1出现故障,负载平衡器2将成为主负载平衡器.
然后,负载平衡器2将接管VIP10.
81.
0.
3的地址解析,并处理由客户机发往目标IP地址10.
81.
0.
3的所有包.
当负载平衡器1恢复时,负载平衡器2会恢复为备用模式.
如果负载平衡器1的一个或两个接口发生故障,负载平衡器2会接管,充当主负载平衡器.
然后,负载平衡器2将接管VIP10.
81.
0.
3的地址解析,并处理由客户机发往目标IP地址10.
81.
0.
3的所有包.
当负载平衡器1的两个接口运行正常时,负载平衡器2会恢复为备用模式.
使用半NAT拓扑配置ILB以实现高可用性68将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月使用半NAT拓扑配置ILB以实现高可用性本节介绍了如何使用半NAT拓扑设置ILB连接以实现HA.
您需要设置两个负载平衡器,一个作为主负载平衡器,另一个作为备用负载平衡器.
如果主负载平衡器出现故障,备用负载平衡器将承担主负载平衡器的角色.
注-当前的ILB实现不会同步主负载平衡器和备用负载平衡器.
当主负载平衡器出现故障而由备用负载平衡器接管时,现有连接将会失败.
但是,在主负载平衡器出现故障的情况下,未同步的HA仍然有价值.
下图显示了用于配置ILB连接以实现HA的半NAT拓扑.
如何使用半NAT拓扑配置ILB以实现高可用性第7章配置ILB以实现高可用性69图7-2使用半NAT拓扑进行ILB高可用性配置如何使用半NAT拓扑配置ILB以实现高可用性1.
成为管理员.
如何使用半NAT拓扑配置ILB以实现高可用性70将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月有关更多信息,请参见《在OracleSolaris11.
2中确保用户和进程的安全》中的"使用所指定的管理权限".
2.
配置主负载平衡器和备用负载平衡器.
#ilbadmcreateservergroup-sserver=10.
0.
0.
1,10.
0.
0.
2sg1#ilbadmcreate-rule-ep-ivip=10.
81.
0.
3,port=9001-9006,protocol=udp\-mlbalg=roundrobin,type=HALF-NAT,pmask=24\-hhc-name=hc1,hc-port=9006\-tconn-drain=70,nat-timeout=70,persist-timeout=70-oservergroup=sg1rule13.
配置用于充当主负载平衡器的负载平衡器1.
LB1#dladmcreate-vnic-mvrrp-V1-Ainet-leth0vnic1LB1#ipadmcreate-ipvnic1LB1#ipadmcreate-addr-d-a10.
81.
0.
3/24vnic1LB1#vrrpadmcreate-router-V1-Ainet-leth0-p255vrrp1LB1#dladmcreate-vnic-mvrrp-V2-Ainet-leth1vnic2LB1#ipadmcreate-ipvnic2LB1#ipadmcreate-addr-d-a10.
0.
0.
3/24vnic2LB1#vrrpadmcreate-router-V2-Ainet-leth1-p255vrrp24.
配置用于充当备用负载平衡器的负载平衡器2.
LB2#dladmcreate-vnic-mvrrp-V1-Ainet-leth0vnic1LB2#ipadmcreate-ipvnic1LB2#ipadmcreate-addr-d-a10.
81.
0.
3/24vnic1LB2#vrrpadmcreate-router-V1-Ainet-leth0-p100vrrp1LB2#dladmcreate-vnic-mvrrp-V2-Ainet-leth1vnic2LB2#ipadmcreate-ipvnic2LB2#ipadmcreate-addr-d-a10.
0.
0.
3/24vnic2LB2#vrrpadmcreate-router-V2-Ainet-leth1-p100vrrp25.
为两台服务器添加浮动缺省网关的IP地址.
#routeadddefault10.
0.
0.
3该配置可防范以下故障情况:如果负载平衡器1出现故障,负载平衡器2将成为主负载平衡器.
然后,负载平衡器2将接管VIP10.
81.
0.
3的地址解析,并处理由客户机发往目标IP地址10.
81.
0.
3的所有包.
此外,负载平衡器2还处理发送到浮动网关地址10.
0.
0.
3的所有包.
当负载平衡器1恢复时,负载平衡器2会恢复为备用模式.
如果负载平衡器1的一个或两个接口发生故障,负载平衡器2会接管,充当主负载平衡器.
然后,负载平衡器2将接管VIP10.
81.
0.
3的地址解析,并处理由客户机发往目标IP地址10.
81.
0.
3的所有包.
此外,负载平衡器2还处理发送到浮动网关地址10.
0.
0.
3的所有包.
当负载平衡器1的两个接口运行正常时,负载平衡器2会恢复为备用模式.
71索引A安装ILB,49VRRP,31B半NAT拓扑配置,68比较第2层VRRP和第3层VRRP,26BGP,11C创建ILB服务器组,52ILB规则,59VRRPVNIC,32VRRP路由器,33运行状况检查,56D第2层VRRP限制,27第2层VRRP和第3层VRRP比较,26第3层VRRP基于InfiniBand的以太网支持,28控制无故ARP和NDP消息,40概述,26限制,28dladm命令create-vnic,33DSR模式优点,44缺点,44说明,44DSR拓扑配置,65E/etc/inet/ndpd.
conf文件,21创建,21F服务器直接返回模式见DSR模式服务器至客户机,48G高可用性DSR拓扑,65半NAT拓扑,68管理ILB,52,55,58H后端服务器删除,54禁用,53重新启用,53IICMP路由器搜索(RouterDiscovery,RDISC)协议,10ILBDSR模式,43NAT模式,43索引72将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月从ILB服务器组中删除后端服务器的示例,54创建ILB服务器组并添加后端服务器的示例,53创建全NAT规则的示例,59功能,12后端服务器,54启用,51命令行,50安装,49导入配置,63导出配置,63操作模式,43显示NAT连接表,62会话持久性映射表,62统计信息,61服务器组,52查看子命令,50概述,12流程,48测试详细信息,56用户授权,50禁用,51禁用并重新启用ILB服务器组中后端服务器的示例,54算法,58管理,52组件,43统计信息显示,61规则,58运行状况检查,55配置ILB的使用案例,60配置子命令,50高可用性,65,68ILB服务器组创建,52删除,55定义,52显示,55添加,52ILB规则列出,58,60创建,59删除,60ILB中的运行状况检查监视,55in.
ripngd守护进程,20,21in.
routed守护进程空间节省模式,10说明,10ipadmcommandcreate-addr,35IPv4路由器配置,15IPv6in.
ripngd守护进程,20路由器通告,20IPv6路由器配置,19J基于InfiniBand的以太网VRRP和,28集成负载平衡器见ILB禁用VRRP路由器,36K客户机至服务器,48空间节省模式in.
routed守护进程选项,10L路由表创建in.
routed守护进程,10空间节省模式,10路由器BGP,11OSPF,11quagga路由协议套件,11RIPng,11VRRP,11为网络配置缺省路由器的示例,17定义,9概述,9索引73路由协议说明,9配置,9IPv6,20路由器配置IPv4路由器,15IPv6路由器,19路由器通告IPv6,20路由协议BGP,11OSPF,11RDISC说明,10RIP说明,10RIPng,11VRRP,11关联的路由守护进程,10说明,9路由信息协议(routinginformationprotocol,RIP)说明,10NNAT模式优点,46缺点,46说明,45ndpd.
conf文件创建,在IPv6路由器上,21OOSPF,11P配置VRRP路由器的虚拟IP地址,35启用IPv6的路由器,20路由器,9,15Q启用VRRP路由器,36前缀路由器通告,20-q选项in.
routed守护进程,10quagga路由协议套件,11RRDISC说明,10RIPng,11routeadm命令IPv6路由器配置,21S删除VRRP路由器,39守护进程in.
ripngd守护进程,20,21-S选项in.
routed守护进程,10T拓扑DSR,43全NAT,47半NAT,47添加ILB服务器组,52VVRRP,23VNIC创建,32专用IP区域支持,28主路由器,24互操作其他网络功能,28基于InfiniBand的以太网支持,28备用路由器,24安装,31索引74将OracleSolaris11.
2系统配置为路由器或负载平衡器2014年9月授权,32概述,23比较第2层和第3层,26禁用路由器,36规划,31说明,11配置,32限制,27VRRP路由器为第3层VRRP路由器配置虚拟IP地址的示例,36为路由器配置虚拟IP地址的示例,35修改,36创建,33创建VRRP路由器的示例,34删除,39启用,36显示IP关联地址,38显示IP关联地址的示例,39显示系统上第3层路由器配置信息的示例,38显示配置,37显示配置信息的示例,37概述,12配置VRRP路由器的使用案例,40配置第3层VRRP路由器的示例,34配置虚拟IP地址,35VRRP路由器和负载平衡器为什么使用,14VRRPVNIC,32vrrpadm命令create-router,32vrrpadmcommandshow-router,37W网络地址转换模式见NAT模式网络配置IPv6路由器,20路由器,15无故ARP和NDP消息,40X显示VRRP路由器的配置,37与VRRP路由器关联的IP地址,38运行状况检查,57消息路由器通告,20新增功能routeadm命令,21修改VRRP路由器,36Y与VRRP路由器关联的IP地址显示,38运行状况检查创建,56删除,58显示,57显示结果,57Z站点前缀,IPv6通告,在路由器上,21

TmhHost 全场八折优惠且充值返10% 多款CN2线路

TmhHost 商家是一家成立于2019年的国人主机品牌。目前主营的是美国VPS以及美国、香港、韩国、菲律宾的独立服务器等,其中VPS业务涵盖香港CN2、香港NTT、美国CN2回程高防、美国CN2 GIA、日本软银、韩国cn2等,均为亚太中国直连优质线路,TmhHost提供全中文界面,支持支付宝付款。 TmhHost黑五优惠活动发布了,全场云服务器、独立服务器提供8折,另有充值返现、特价服务器促销...

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

IonSwitch:$1.75/月KVM-1GB/10G SSD/1TB/爱达荷州

IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...

系统配置为你推荐
网易网盘关闭入口网易网盘 怎么没有了硬盘工作原理硬盘是如何工作的www.99cycy.com谁在这个http://www.sifangmall.com网站上买过东西?www.522av.com现在怎样在手机上看AVwww.haole012.com阜阳有什么好的正规的招聘网站?m.kan84.net电视剧海派甜心全集海派甜心在线观看海派甜心全集高清dvd快播迅雷下载www.gogo.com祺笑化瘀祛斑胶囊效果。www.mfav.org邪恶动态图587期 www.zqzj.org彪言彪语()言() 语铂金血痕为什么我有红血痕?
虚拟主机试用30天 汉邦高科域名注册 河北服务器租用 linode 20g硬盘 12306抢票攻略 sub-process iis安装教程 权嘉云 中国网通测速 厦门电信 跟踪路由命令 512mb 免费外链相册 新加坡空间 中国电信测速网站 江苏徐州移动 美国代理服务器 ipower ubuntu安装教程 更多