ASAFailoverActiveActive双HSRP实现双ISP切换
- 格式:pdf
- 大小:759.29 KB
- 文档页数:26
cisco路由器双线接入配置双线接入配置示例:1.背景和目标在本文档中,将详细介绍如何配置Cisco路由器实现双线接入。
双线接入是通过连接两个不同的ISP(互联网服务提供商)线路来实现高可靠性和带宽扩展的方法。
以下是配置的目标: - 实现双线接入,增加带宽并提高网络的高可用性。
- 设置适当的路由策略,以便在主线路故障时自动切换到备用线路。
2.设备和拓扑在本示例中,我们将使用以下设备进行配置:- Cisco路由器(模型:)- 两个ISP提供的线路(线路1和线路2)网络拓扑如下:```+-------------+---- ISP 1 -------- Line 1 ----+---------------+----+---------------+---- Cisco -------- 路由器 ----+---------------+----+---------------+---- ISP 2 -------- Line 2 ----+-------------+```3.物理连接进行双线接入配置之前,确保正确连接ISP提供的线路到Cisco路由器的相应接口。
线路1连接到接口GigabitEthernet0/0,线路2连接到接口GigabitEthernet0/1.4.IP 地质分配为了正确配置双线接入,您需要为每个接口分配一个IP地质。
例如:- 接口GigabitEthernet0/0:- IP地质.192.168.1.1- 子网掩码.255.255.255.0- 接口GigabitEthernet0/1:- IP地质.192.168.2.1- 子网掩码.255.255.255.0确保您将IP地质和子网掩码与实际环境相匹配。
5.配置路由器下面是如何配置Cisco路由器实现双线接入的基本步骤:5.1.创建静态路由配置静态路由以指定流量如何流向ISP线路。
使用以下命令创建静态路由:```ip route 0.0.0.0 0.0.0.0 <ISP基础路由器IP地质> global```5.2.配置路由跟踪配置路由跟踪以实现对主线路的连通性监控和故障切换功能。
hsrp状态:init:hsrp的初始状态learn:学习虚拟ip,如果有个配置了虚拟ip,有个没去配置,那个没配的会学习虚拟ip listen:监听是否存在活跃路由器,hsrp默认是越早启动的路由器越能成为活跃路由器以上几个状态都没有发送hello包speak:发送hello包,包含自己的hsrp的各种参数backup:组内备份路由器所处的状态,备份组员监视活动路由器,准备随时在活动路由器坏掉,时接替活动路由器。
备份路由器也周期性发送Hello 报文告诉其他组员自己没有坏掉。
active:组内活动路由器即负责虚拟路由器实际路由工作的组员所处的状态。
活动路由器周期性发送Hello 报文告诉其他组员自己没有坏掉。
下面这个是R3先启动hsrp,hsrp虚拟ip是192.168.2.1,R4后启动,并且没有配置虚拟ip R3(config)#int vlan 2R3(config-if)#standby 1 ip 192.168.2.1*Mar 1 00:23:16.215: HSRP: Vl2 API 192.168.2.1 is not an HSRP address*Mar 1 00:23:16.219: HSRP: Vl2 Grp 1 Disabled -> Init*Mar 1 00:23:16.219: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Disabled -> Init *Mar 1 00:23:26.239: HSRP: Vl2 Interface up*Mar 1 00:23:26.239: HSRP: Vl2 Starting minimum interface delay (1 secs)*Mar 1 00:23:27.239: HSRP: Vl2 Interface min delay expired*Mar 1 00:23:27.239: HSRP: Vl2 Grp 1 Init: a/HSRP enabled*Mar 1 00:23:27.243: HSRP: Vl2 Grp 1 Init -> Listen*Mar 1 00:23:27.243: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Init -> Backup *Mar 1 00:23:37.243: HSRP: Vl2 Grp 1 Listen: c/Active timer expired (unknown)*Mar 1 00:23:37.247: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:23:37.247: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:23:47.243: HSRP: Vl2 Grp 1 Speak: d/Standby timer expired (unknown)*Mar 1 00:23:47.243: HSRP: Vl2 Grp 1 Standby router is local*Mar 1 00:23:47.247: HSRP: Vl2 Grp 1 Speak -> Standby*Mar 1 00:23:47.247: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> Standby*Mar 1 00:23:47.247: HSRP: Vl2 Grp 1 Standby: c/Active timer expired (unknown)*Mar 1 00:23:47.247: HSRP: Vl2 Grp 1 Active router is local*Mar 1 00:23:47.251: HSRP: Vl2 Grp 1 Standby router is unknown, was local*Mar 1 00:23:47.251: HSRP: Vl2 Grp 1 Standby -> Active*Mar 1 00:23:47.255: %HSRP-6-STATECHANGE: Vlan2 Grp 1 state Standby -> Active *Mar 1 00:23:47.255: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Standby -> Active*Mar 1 00:23:50.267: HSRP: Vl2 Grp 1 Redundancy group hsrp-Vl2-1 state Active -> Active*Mar 1 00:23:53.271: HSRP: Vl2 Grp 1 Redundancy group hsrp-Vl2-1 state Active -> Active*Mar 1 00:24:31.323: HSRP: Vl2 Grp 1 Standby router is 192.168.2.4R4(config)#int vlan 2R4(config-if)#standby 1 ip*Mar 1 00:24:01.643: HSRP: Vl2 Grp 1 Disabled -> Init*Mar 1 00:24:01.647: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Disabled -> Init *Mar 1 00:24:11.675: HSRP: Vl2 Interface up*Mar 1 00:24:11.675: HSRP: Vl2 Starting minimum interface delay (1 secs)*Mar 1 00:24:12.675: HSRP: Vl2 Interface min delay expired*Mar 1 00:24:12.675: HSRP: Vl2 Grp 1 Init: a/HSRP enabled*Mar 1 00:24:12.679: HSRP: Vl2 Grp 1 Init -> Learn*Mar 1 00:24:12.679: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Init -> Learn *Mar 1 00:24:13.699: HSRP: Vl2 Grp 1 Active router is 192.168.2.3*Mar 1 00:24:13.703: HSRP: Vl2 API 192.168.2.1 is not an HSRP address*Mar 1 00:24:13.707: HSRP: Vl2 Grp 1 Learn: n/HSRP IP address configured*Mar 1 00:24:13.707: HSRP: Vl2 Grp 1 Learn -> Listen*Mar 1 00:24:13.711: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Learn -> Backup*Mar 1 00:24:23.707: HSRP: Vl2 Grp 1 Listen: d/Standby timer expired (unknown)*Mar 1 00:24:23.711: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:24:23.711: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:24:33.707: HSRP: Vl2 Grp 1 Speak: d/Standby timer expired (unknown)*Mar 1 00:24:33.707: HSRP: Vl2 Grp 1 Standby router is local*Mar 1 00:24:33.711: HSRP: Vl2 Grp 1 Speak -> Standby*Mar 1 00:24:33.711: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> Standby下面是R3和R4基本是同时启动hsrp,同时都配置了虚拟ipR3(config-if)#standby 1 ip 192.168.2.1*Mar 1 00:38:35.631: HSRP: Vl2 API 192.168.2.1 is not an HSRP address*Mar 1 00:38:35.635: HSRP: Vl2 Grp 1 Disabled -> Init*Mar 1 00:38:35.635: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Disabled -> Init *Mar 1 00:38:45.655: HSRP: Vl2 Interface up*Mar 1 00:38:45.659: HSRP: Vl2 Starting minimum interface delay (1 secs)*Mar 1 00:38:46.659: HSRP: Vl2 Interface min delay expired*Mar 1 00:38:46.659: HSRP: Vl2 Grp 1 Init: a/HSRP enabled*Mar 1 00:38:46.663: HSRP: Vl2 Grp 1 Init -> Listen*Mar 1 00:38:46.663: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Init -> Backup *Mar 1 00:38:56.663: HSRP: Vl2 Grp 1 Listen: c/Active timer expired (unknown)*Mar 1 00:38:56.667: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:38:56.667: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:38:57.415: HSRP: Vl2 Grp 1 Speak: f/Hello rcvd from higher pri Speak router (100/192.168.2.4)*Mar 1 00:38:57.419: HSRP: Vl2 Grp 1 Speak -> Listen*Mar 1 00:38:57.423: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> Backup*Mar 1 00:39:06.663: HSRP: Vl2 Grp 1 Listen: c/Active timer expired (unknown)*Mar 1 00:39:06.667: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:39:06.667: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:39:07.407: HSRP: Vl2 Grp 1 Speak: k/Hello rcvd from higher pri Standby router (100/192.168.2.4)*Mar 1 00:39:07.411: HSRP: Vl2 Grp 1 Standby router is 192.168.2.4*Mar 1 00:39:07.415: HSRP: Vl2 Grp 1 Speak -> Listen*Mar 1 00:39:07.415: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> Backup*Mar 1 00:39:07.423: HSRP: Vl2 Grp 1 Active router is 192.168.2.4*Mar 1 00:39:07.427: HSRP: Vl2 Grp 1 Standby router is unknown, was 192.168.2.4 *Mar 1 00:39:17.411: HSRP: Vl2 Grp 1 Listen: d/Standby timer expired (unknown)*Mar 1 00:39:17.415: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:39:17.415: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:39:27.411: HSRP: Vl2 Grp 1 Speak: d/Standby timer expired (unknown)*Mar 1 00:39:27.411: HSRP: Vl2 Grp 1 Standby router is local*Mar 1 00:39:27.415: HSRP: Vl2 Grp 1 Speak -> Standby*Mar 1 00:39:27.415: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> StandbyR4(config-if)#standby 1 ip 192.168.2.1*Mar 1 00:38:38.783: HSRP: Vl2 API 192.168.2.1 is not an HSRP address*Mar 1 00:38:38.787: HSRP: Vl2 Grp 1 Disabled -> Init*Mar 1 00:38:38.787: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Disabled -> Init *Mar 1 00:38:48.803: HSRP: Vl2 Interface up*Mar 1 00:38:48.803: HSRP: Vl2 Starting minimum interface delay (1 secs)*Mar 1 00:38:49.803: HSRP: Vl2 Interface min delay expired*Mar 1 00:38:49.803: HSRP: Vl2 Grp 1 Init: a/HSRP enabled*Mar 1 00:38:49.807: HSRP: Vl2 Grp 1 Init -> Listen*Mar 1 00:38:49.807: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Init -> Backup *Mar 1 00:38:59.811: HSRP: Vl2 Grp 1 Listen: c/Active timer expired (unknown)*Mar 1 00:38:59.811: HSRP: Vl2 Grp 1 Listen -> Speak*Mar 1 00:38:59.815: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Backup -> Speak*Mar 1 00:39:09.811: HSRP: Vl2 Grp 1 Speak: d/Standby timer expired (unknown)*Mar 1 00:39:09.811: HSRP: Vl2 Grp 1 Standby router is local*Mar 1 00:39:09.815: HSRP: Vl2 Grp 1 Speak -> Standby*Mar 1 00:39:09.815: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Speak -> Standby*Mar 1 00:39:09.819: HSRP: Vl2 Grp 1 Standby: c/Active timer expired (unknown)*Mar 1 00:39:09.823: HSRP: Vl2 Grp 1 Active router is local*Mar 1 00:39:09.823: HSRP: Vl2 Grp 1 Standby router is unknown, was local*Mar 1 00:39:09.827: HSRP: Vl2 Grp 1 Standby -> Active*Mar 1 00:39:09.827: %HSRP-6-STATECHANGE: Vlan2 Grp 1 state Standby -> Active *Mar 1 00:39:09.827: HSRP: Vl2 Grp 1 Redundancy "hsrp-Vl2-1" state Standby -> Active*Mar 1 00:39:12.839: HSRP: Vl2 Grp 1 Redundancy group hsrp-Vl2-1 state Active -> Active*Mar 1 00:39:15.843: HSRP: Vl2 Grp 1 Redundancy group hsrp-Vl2-1 state Active -> Active*Mar 1 00:39:29.851: HSRP: Vl2 Grp 1 Standby router is 192.168.2.3。
windowsserevr服务器主备切换原理Windows Server Enterprise Edition(Windows Server 企业版)是微软公司提供的一款服务器操作系统。
在Windows Server企业版中,服务器主备切换的原理主要基于高可用性(High Availability)的设计思路。
具体来说,Windows Server企业版支持双机热备(也称为Active-Standby架构)方式,即一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。
当Active状态的服务器出现故障时,系统会自动将备用状态的服务器升级为Active状态,以保障业务的连续性和可用性。
在实现双机热备时,微软推荐使用Cluster Service(集群服务)来管理两台服务器。
Cluster Service可以将两台服务器的资源(如CPU、内存、存储等)组合成一个逻辑单元,并在这个逻辑单元上提供高可用性服务。
当Active状态的服务器出现故障时,Cluster Service会自动将备用状态的服务器升级为Active状态,接管业务的运行。
除了双机热备外,Windows Server企业版还支持双主机方式(Active-Active方式)的高可用性设计。
在双主机方式中,两台服务器都处于某种业务的激活状态,同时为该业务提供服务。
当其中一台服务器出现故障时,另一台服务器可以继续为业务提供服务,实现负载分担和故障转移。
总之,Windows Server企业版的服务器主备切换原理主要是通过高可用性设计来实现业务的连续性和可用性。
这种设计可以在保证业务正常运行的同时,提高服务器的使用效率和系统的稳定性。
双线路双网卡双网关如何设置以下是双线路双网卡双网关的设置步骤:1.选择适合的硬件设备:确保计算机或服务器上有两个可用的网卡插槽。
可以选择经济实惠的PCI或PCIe网卡。
2.安装网卡:将两个网卡插入计算机或服务器的网卡插槽中,确保插入牢固并连接好网线。
3.连接到两个网络:将一条网线连接到一个网卡插槽上,连接到一个网络。
将另一条网线连接到另一个网卡插槽上,连接到另一个网络。
4.配置IP地址:打开计算机的网络设置,为每个网卡配置IP地址、子网掩码和默认网关。
确保每个网卡有唯一的IP地址,并且网关不同。
5.调整网络优先级:在网络设置中,调整每个网卡的网络优先级。
一般情况下,将主要网络连接的网卡设置为首选并提高优先级。
6.设置负载均衡/冗余模式:根据实际需求,选择负载均衡模式或冗余模式。
负载均衡模式将流量分担到两个网卡上,提高网络吞吐量;冗余模式则保证一条线路失效时,仍能通过另一条线路正常工作。
7. 测试网络连接:通过ping命令测试两个网络是否正常连接。
在命令提示符下输入"ping IP地址",其中IP地址替换为另一个网卡所连接的网络中的一些设备的IP地址。
如果ping命令成功,表示连接正常。
8.配置防火墙设置:根据实际需求,配置防火墙允许两个网络之间的通信。
确保网络畅通的同时,保证网络的安全性。
9.定期监控和维护:定期检查两个网卡的连接状态和IP地址配置,确保网络正常工作。
当发现故障时,及时进行排查和修复。
总之,双线路双网卡双网关的设置可以提高网络的可用性和吞吐量,但在配置前需要考虑实际需求和硬件设备的兼容性,确保正确连接和合适的设置。
定期的监控和维护也是保证网络正常工作的重要环节。
双出口同时实现负载分和链路备份规范设置这是今朝新建网络中最风行的组网方法,通过申请到两个ISP的两条线路(一般情形是一条到电信,一条到网通),设置路由使客户时机见电信处事器走电信链路,会见网通的处事器走网通链路,可以大大提高许多网络应用的会见速度,同时两条链路互为备份,也提高了网络的靠得住性。
网络拓扑图如图5所示:AR18-22-24以太网口ETH1/0毗连到ISP1,网络地点为142.1.1.0/30,以太网口ETH2/0毗连到ISP2,网络地点为162.1.1.0/30;以太网口ETH3/0毗连到局域网,局域网内既有ISP1的公网IP,网络地点为218.247.28.0/24,又有私网IP,网络地点为192.168.1.0/24。
ISP2为用户分配了一段公网IP,IP地点段为220.231.48.64/26,个中220.231.48.66用来做NAT转换地点池地点。
局域网用户上网的时候公网IP用户通过ISP1接口出去的时候直接走三层路由,通过ISP2接口出去的时候举办NAT转换;私网IP用户通过AR18-22-24举办NAT转换后会见Internet,在两条上行链路都正常事情时二者举办负载分管、互为备份;当个中一条链路呈现异常时,网络流量会自动切换到另一条链路。
由于通过一个ISP的网络会见其它一个ISP的网络时延一般较大,因此可以在AR18-22-24上配置了静态路由,当报文的目的IP地点是ISP2网络中的地点时会通过ISP2的接口转发,别的的报文会按照缺省路由通过ISP1的接口转发,这样就按照目的IP确保了提供最快的会见速度。
[Quidway]display current-configuration#sysname Quidway#clock summer-time BJ repeating 00:00:00 06/01/2000 23:59:59 08/31/2000 01:00:00#clock timezone Peking add 08:00:00#FTP server enable#firewall enable## 设置2个地点转换用地点池,别离用于到ISP1和ISP2的两个接口。
HSRP协议首先,让我们来了解一下HSRP协议的基本原理。
HSRP协议是通过在网络中设置一个虚拟IP地址,将多台路由器组成一个组,其中一台路由器作为活动路由器,其他路由器作为备用路由器。
活动路由器负责转发数据流量,备用路由器则处于待命状态,一旦活动路由器出现故障,备用路由器会立即接管虚拟IP地址,从而实现网络的平滑切换,保证网络的连续性和可靠性。
其次,HSRP协议的工作原理是如何实现的呢?在HSRP协议中,活动路由器和备用路由器之间会周期性地发送Hello消息,以确认对方的存活状态。
如果备用路由器在一定时间内没有收到活动路由器的Hello消息,就会认为活动路由器出现故障,从而发起选举过程,选举出新的活动路由器。
这样就保证了在活动路由器发生故障时,备用路由器可以迅速接管虚拟IP地址,实现网络的高可用性。
另外,HSRP协议还有一些重要的参数和配置,需要我们在实际应用中进行合理的设置。
比如,我们可以通过配置优先级来指定活动路由器和备用路由器的角色,优先级高的路由器将成为活动路由器。
此外,还可以通过预留虚拟IP地址、设置Hello消息的发送间隔和超时时间等参数来进行灵活的配置,以适应不同网络环境和需求。
在实际应用中,HSRP协议可以有效地提高网络的可靠性和稳定性,特别是对于一些对网络连续性要求较高的场景,比如企业的核心交换机、数据中心的网络等。
通过合理配置HSRP协议,可以实现网络的快速故障恢复,减少网络中断时间,提高用户体验,保证业务的持续性运行。
总的来说,HSRP协议作为一种网络冗余协议,在提高网络可靠性和稳定性方面发挥着重要作用。
通过对HSRP协议的原理和应用进行深入理解和合理配置,可以帮助网络工程师更好地设计和维护网络,保证网络的高可用性和可靠性。
希望本文对HSRP协议的理解和应用有所帮助,谢谢阅读!。
使用VRRP/HSRP 和MSTP 实现校园网的双核心VRRP 是一种容错协议,它保证当主机的下一跳路由器失效时,可以及时由另一台路由 器代替,从而保持通信的连续性和可靠性。
MSTP 把一台交换机的一个或多个 vlan 划分为一个 instance ,有着相同 instance 配置 的交换机就组成一个域(MST region ),运行独立的生成树(IST ,internal spanning-tree ); 这个MST region 就相当于一个大的交换机,与其他MST region 再进行生成树算法运算, 得出一个整体的生成树,称为CST (common spanning tree )。
下面咱们就如何使用VRRP/HSRP 和MSTP 实现校园网的双核心,实现网络的连续性和 可靠性进行探索。
Loopback0 :1.1.1.1sw2 10.250R1SW1SW1Loopback0 :2.2.2.2 192.1.1.0/30ip192.168.10.0 192.168.10.0 SW1SW2R2194.1.1.0/30193.1.1.0/30Vlan 10 ip:192.168.10.254 Vlan 20 ip:192.168.20.253 Vlan 10 ip:192.168.10.253 Vlan 20 ip:192.168.20.254 SW2SW1Vrrp 1 ip 192.168.10.250 Vrrp 1 priority 120 Vrrp 1 preemptVrrp 1 ip 192.168.10.250 Vrrp 1 priority 110 Vrrp 2 ip 192.168.20.250 Vrrp 2 priority 120 Vrrp2 preemptVrrp 2 ip 192.168.20.250 Vrrp 2 priority 110SW3SW4Vlan10 vlan20Vlan10 vlan20pc2 pc1192.168.20.100一、 HSRP 和VRRP 的配置可以使用HSRP或者VRRP 来实现网关的冗余,这里先介绍HSRP的配置: HSRP的配置如下:SW1(config)#interface vlan 10SW1(config-if)#ip address 192.168.10.254 255.255.255.0配置VLAN10 的IP 地址SW1(config-if)#standby 10 ip 192.168.10.250配置虚拟IP ,即VLAN10 的虚拟网关 SW1(config-if)#standby 10 preempt 设为抢占模式 抢占模式:正常状况下,VLAN10 的数据由 SW1 传输.当 SW1 发生故障时,则由 SW2 担负起传输任务.若不配置抢占模式,当 SW1 恢复正常后, 数据仍由 SW2 传输;配置抢占模式后,正常后的SW1 会再次夺取对 VLAN10 的控制权.SW1(config-if)#standby 10 priority 110VLAN10 的standby 优先级设为110,这样SW1 将作为vlan10 的默认网关。
VRRP和HSRP替换案例,值得收藏!简介HSRP与VRRP协议无法实现对接,因此替换方案为将HSRP下行主备链路同时割接至华为VRRP主备设备。
组网需求如图1所示,组网中均为思科交换机。
两台核心交换机采用堆叠方式。
两台汇聚交换机之间使用手工模式的Eth-trunk进行链路冗余备份,上行通过配置OSPF与核心交换机建立OSPF邻居关系收发路由,下行通过配置HSRP实现虚拟网关备份,其中CiscoA为主用网关设备,CiscoB为备用网关设备。
组网中交换机通过Rapid PVST 进行破环操作。
现根据需要,使用华为交换机替换组网中的两台汇聚交换机,且不改变原网络规划。
思科汇聚设备HSRP相关配置如下:CiscoAinterface Vlan110ip address 172.31.217.156 255.255.255.224standby 110 ip 172.31.217.158standby 110 priority 110standby 110 preempt delay minimum 60standby 110 authentication hsrp110interface Vlan120ip address 172.31.218.157 255.255.255.224standby 120 ip 172.31.218.158standby 120 authentication hsrp120CiscoBinterface Vlan110ip address 172.31.217.155 255.255.255.224standby 110 ip 172.31.217.158standby 110 authentication hsrp110interface Vlan120ip address 172.31.218.156 255.255.255.224standby 120 ip 172.31.218.158standby 120 priority 110standby 120 preempt delay minimum 60standby 120 authentication hsrp120图1 HSRP组网图配置思路采用如下配置思路:•1、配置华为交换机的OSPF功能,实现与上行核心交换机建立OSPF邻居关系收发路由。
通过Keepalived实现Redis Failover自动故障切换功能详细可参考/archives/1942.html设计思路:redis 主和redis从正常同步;redis主keepalived 启动,执行redis_master.sh脚本,vip在自己身上;redis 从keepalived 启动,执行redis_slave.sh脚本;redis主服务关闭,则redis主执行redis_fault.sh脚本,vip落在redis 从上,redis从执行redis-_master.sh脚本,变成主;redis主服务开启,则redis主执行redis_slave.sh脚本变成从,vip还在redis 从上,还是主;redis从服务关闭,则redis从执行redis_fault.sh脚本,vip落在redis主上,redis主执行redis-_master.sh脚本,变成主;redis从服务开启,则redis从执行redis_slave.sh脚本变成从,vip还在redis主上,redis主继续做主,此时为redis初试主从状态;环境:192.168.1.235 redis192.168.1.236 redis-slave192.168.1.237 vip一:安装keepalived(redis和redis-slave两台服务器都安装)yum -y install ipvsadmwget /software/keepalived-1.2.2.tar.gztar -zxvf keepalived-1.2.2.tar.gzcd keepalived-1.2.2./configureconfigure时若出现以下结果:不推荐使用yum install -y kernel-devel安装安装完成后建立一下链接在配置:ln -s /usr/src/kernels/2.6.18-194.el5-i686/ /usr/src/linux/上述过程完毕后,在进行configure:makemake installcp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/chmod 755 /etc/init.d/keepalivedcp /usr/local/sbin/keepalived /usr/sbin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/#运行由于keepalived配置文件不是在启动时一次性加载并读取完成的,所以必须是完整路径,可以根据log判断是否加载了正确的配置文件keepalived –f /usr/local/etc/keepalived/keepalived.conf运行过程可以查看log:tail -f /var/log/message二:安装redis(redis和redis-slave两台服务器都安装)tar -zxvf redis-2.4.17.tar.gzcd redis-2.4.17./configuremakemake installredis-slve只需注意一点[root@redis bin]# pwd/usr/local/bin[root@redis bin]# vim redis.conf116 slaveof 192.168.1.235 6379三:通过Keepalived实现Redis Failover自动故障切换修改Master和Slave的/etc/hosts文件[root@redis rc.d]# cat /etc/hosts192.168.1.235 redis192.168.1.236 redis-slaveMaster上是[root@redis rc.d]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=redisSlave上是[root@redis-slave linux]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=redis-slave修改完主机名重启机器生效默认安装完成keepalived之后是没有配置文件的,因此我们需要手动创建:首先,在Master上创建如下配置文件:[root@redis linux]# vim /etc/keepalived/keepalived.confglobal_defs {notification_email {xiesongmeng@}notification_email_from keepalived@redisrouter_id redis}vrrp_script chk_redis {script "/etc/keepalived/scripts/redis_check.sh"interval 1}vrrp_instance mes_Redis {state MASTERinterface eth0garp_master_delay 10smtp_alertvirtual_router_id 3priority 100nopreemptadvert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.237}track_script {chk_redis}notify_master /etc/keepalived/scripts/redis_master.shnotify_backup /etc/keepalived/scripts/redis_slave.shnotify_fault /etc/keepalived/scripts/redis_fault.shnotify_stop /etc/keepalived/scripts/redis_stop.sh}然后,在Slave上创建如下配置文件:[root@redis-slave linux]# vim /etc/keepalived/keepalived.conf global_defs {notification_email {xiesongmeng@}notification_email_from keepalived@redis-slaverouter_id redis-salve}vrrp_script chk_redis {script "/etc/keepalived/scripts/redis_check.sh"interval 1}vrrp_instance mes_Redis {state BACKUPinterface eth0garp_master_delay 10smtp_alertvirtual_router_id 3priority 90nopreemptadvert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.237}track_script {chk_redis}notify_master /etc/keepalived/scripts/redis_master.sh notify_backup /etc/keepalived/scripts/redis_slave.shnotify_fault /etc/keepalived/scripts/redis_fault.shnotify_stop /etc/keepalived/scripts/redis_stop.sh }在Master和Slave上创建监控Redis的脚本mkdir /etc/keepalived/scriptsvim /etc/keepalived/scripts/redis_check.sh#!/bin/bashALIVE=`/usr/local/bin/redis-cli PING`if [ "$ALIVE" == "PONG" ]; thenecho $ALIVEexit 0elseecho $ALIVEexit 1fi编写以下负责运作的关键脚本:notify_master /etc/keepalived/scripts/redis_master.shnotify_backup /etc/keepalived/scripts/redis_slave.shnotify_fault /etc/keepalived/scripts/redis_fault.shnotify_stop /etc/keepalived/scripts/redis_stop.sh因为Keepalived在转换状态时会依照状态来呼叫:当进入Master状态时会呼叫notify_master当进入Backup状态时会呼叫notify_backup当发现异常情况时进入Fault状态呼叫notify_fault当Keepalived程序终止时则呼叫notify_stop首先,在Redis Master上创建notity_master与notify_backup脚本:vim /etc/keepalived/scripts/redis_master.sh#!/bin/bashREDISCLI="/usr/local/bin/redis-cli"LOGFILE="/var/log/keepalived-redis-state.log"echo "[master]" >> $LOGFILEdate >> $LOGFILEecho "Being master...." >> $LOGFILE 2>&1echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.1.236 6379 >> $LOGFILE 2>&1sleep 10 #延迟10秒以后待数据同步完成后再取消同步状态echo "Run SLAVEOF NO ONE cmd ..." >> $LOGFILE$REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1vim /etc/keepalived/scripts/redis_slave.sh#!/bin/bashREDISCLI="/usr/local/bin/redis-cli"LOGFILE="/var/log/keepalived-redis-state.log"echo "[backup]" >> $LOGFILEdate >> $LOGFILEecho "Being slave...." >> $LOGFILE 2>&1sleep 15 #延迟15秒待数据被对方同步完成之后再切换主从角色echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.1.236 6379 >> $LOGFILE 2>&1接着,在Redis Slave上创建notity_master与notify_backup脚本:vim /etc/keepalived/scripts/redis_master.sh#!/bin/bashREDISCLI="/usr/local/bin/redis-cli"LOGFILE="/var/log/keepalived-redis-state.log"echo "[master]" >> $LOGFILEdate >> $LOGFILEecho "Being master...." >> $LOGFILE 2>&1echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.1.235 6379 >> $LOGFILE 2>&1sleep 10 #延迟10秒以后待数据同步完成后再取消同步状态echo "Run SLAVEOF NO ONE cmd ..." >> $LOGFILE$REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1vim /etc/keepalived/scripts/redis_slave.sh#!/bin/bashREDISCLI="/usr/local/bin/redis-cli"LOGFILE="/var/log/keepalived-redis-state.log"echo "[backup]" >> $LOGFILEdate >> $LOGFILEecho "Being slave...." >> $LOGFILE 2>&1sleep 15 #延迟15秒待数据被对方同步完成之后再切换主从角色echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.1.235 6379 >> $LOGFILE 2>&1然后在Master与Slave创建如下相同的脚本:vim /etc/keepalived/scripts/redis_fault.sh#!/bin/bashLOGFILE=/var/log/keepalived-redis-state.logecho "[fault]" >> $LOGFILEdate >> $LOGFILEvim /etc/keepalived/scripts/redis_stop.sh#!/bin/bashLOGFILE=/var/log/keepalived-redis-state.logecho "[stop]" >> $LOGFILEdate >> $LOGFILE在Master与Slave给脚本都加上可执行权限:chmod +x /etc/keepalived/scripts/*.sh脚本创建完成以后,我们开始按照如下流程进行测试:1.启动Master上的Redis[root@redis bin]# pwd/usr/local/bin[root@redis bin]# ./redis-server redis.conf2.启动Slave上的Redis[root@redis bin]# pwd/usr/local/bin[root@redis bin]# ./redis-server redis.conf3.启动Master上的Keepalived/etc/init.d/keepalived start4.启动Slave上的Keepalived/etc/init.d/keepalived start5.尝试通过VIP连接Redis:[root@redis bin]#pwd/usr/local/bin[root@redis bin]# ./redis-cli -h 192.168.1.237 inforole:masterslave0:192.168.1.236,6379,online连接成功,Slave也连接上来了6.尝试插入一些数据:[root@redis bin]# ./redis-cli -h 192.168.1.237 SET Hello Redis 从VIP读取数据[root@redis bin]# ./redis-cli -h 192.168.1.237 GET Hello "Redis"从Master读取数据[root@redis bin]# ./redis-cli -h 192.168.1.235 GET Hello"Redis"从Slave读取数据[root@redis-slave bin]# ./redis-cli -h 192.168.1.235 GET Hello "Redis"下面,模拟故障产生:将Master上的Redis进程杀死:[root@redis bin]# ./redis-cli shutdown查看Master上的Keepalived日志[root@redis scripts]# tail /var/log/keepalived-redis-state.log[fault]Thu Sep 27 08:29:01 CST 2012同时Slave上的日志显示:[root@redis-slave scripts]# tail /var/log/keepalived-redis-state.log [master]Thu Nov 15 12:06:04 CST 2012Being master....Run SLAVEOF cmd ...OKRun SLAVEOF NO ONE cmd ...OK然后我们可以发现,Slave已经接管服务,并且担任Master的角色了。
双机组网与原理实现编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(双机组网与原理实现)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为双机组网与原理实现的全部内容。
双机组网与原理实现编者:戴耀方审核:郝世强中兴通讯固网交换用服部修改记录目录第1章双机公共知识 (1)1.1 应用背景 (1)1.2 基本组网 (1)1.3 原理实现 (2)第2章常用双机技术 (5)2。
1 Microsoft Cluster Server(简称MSCS)集群技术 (5)2.1。
1 MSCS (5)2。
1。
2 数据库管理系统选择 (7)2.1。
3 故障恢复 (7)2。
1.4 工作模式及类型 (8)2。
2 VCS双机技术 (11)2。
2。
1 什么是VCS (11)2.2.2 其他概念 (12)2.2。
3 VCS架构 (15)2。
2。
4 工作原理 (16)2.2。
5 基本组网 (17)2。
3 VCS常用操作 (17)2.3。
1 要点讲解 (17)2。
3.2 手工操作 (20)2.4 VCS软件应用 (21)2。
4.1 VCS管理界面密码修改的方法 (21)2。
4。
2 VCS检查心跳的方法 (22)2.4。
3 VCS检查运行状态的方法 (22)2.4。
4 异常情况下启动VCS的方法 (22)2.4.5 Oracle数据库切换后无法启动的问题 (23)2。
4。
6 VCS资源组或资源出现错误 (24)2.4。
7 VCS的卸载 (24)2.4.8 VCS配置与日志文件 (26)2。
4。
9 修改VCS的配置后未保存引起系统重启后VCS无法启动 (26)2.5 VCS维护经验 (26)2.5.1 VCS上对EMS应用如何启用双浮动IP (26)2.5.2 VCS4。
cisco asa 双机主备实例拓扑图如下:配置如下:前两天为客户架设两台思科防火墙做主备1.思科的双机主备是备机直接接管主机内存无切换感觉。
2.备机学习到的配置无法修改。
ASA 5550 Ahostname(config)# interface gi0/0hostname(config-if)# nameif outsidehostname(config-if)# no shutdownhostname(config-if)# ip address 1.1.1.1 255.255.255.0 standby 1.1.1.2 hostname(config)# interface gi0/1hostname(config-if)# nameif insidehostname(config-if)# ip address 2.2.2.2 255.255.255.0 standby 2.2.2.2 hostname(config-if)# no shutdownhostname(config)# interface gi0/2hostname(config-if)# nameif hahostname(config-if)# no shutdown//做failover link的接口不需要做地址配置hostname(config)# failover lan unit primaryhostname(config)# failover lan interface ha gi0/2//定义failover link接口hostname(config)# failover interface ip ha 3.3.3.1 255.255.255.0 standby 3.3.3.2hostname(config)# failoverhostname(config)# copy running-config startup-configASA 5550 Bhostname(config)# interface gi0/2hostname(config-if)# nameif hahostname(config-if)# no shutdownhostname(config)# failover lan unit secondaryhostname(config)# failover lan interface ha gi0/3hostname(config)# failover interface ip ha 3.3.3.1 255.255.255.0 standby 3.3.3.2hostname(config)# failoverhostname(config)# copy running-config startup-config//备机很快会学到主机的配置。
企业双ISP接入,实现负载分担,冗余,故障检测和自动切换需求:不同vlan的可以按要求走不同的isp从而分担流量,当一个isp故障,可以迅速检测并且自动切换到另外一个isp。
基本思路:策略路由结合track,sla实现;路由配置如下,其他略(*由于和isp之间通常会有光电转换,所以无法直接发现对方接口故障,使用SLA ping来测试对方isp是否故障)ip sla monitor 10type echo protocol ipIcmpEcho 100.1.1.1 source-ipaddr 100.1.1.2timeout 800frequency 1ip sla monitor schedule 10 life forever start-time now (*SLA探测)ip sla monitor 20type echo protocol ipIcmpEcho 200.1.1.1 source-ipaddr 200.1.1.2timeout 800frequency 1ip sla monitor schedule 20 life forever start-time now (*SLA探测)!track 1 rtr 10 reachability(*调用SLA)!track 2 rtr 20 reachability(*调用SLA)!interface FastEthernet0/0ip address 100.1.1.2 255.255.255.252ip nat outsideip virtual-reassemblyduplex autospeed auto!interface FastEthernet1/0ip address 200.1.1.2 255.255.255.252ip nat outsideip virtual-reassemblyduplex autospeed auto!interface FastEthernet2/0ip address 192.168.200.2 255.255.255.252ip nat insideip virtual-reassemblyip policy route-map pbrduplex autospeed auto!router ospf 100log-adjacency-changesnetwork 192.168.200.0 0.0.0.3 area 0default-information originate metric 100!ip http serverno ip http secure-serverip route 0.0.0.0 0.0.0.0 100.1.1.1 track 1(*利用rtr 跟踪,及时调整默认路由)ip route 0.0.0.0 0.0.0.0 200.1.1.1 track 2(*利用rtr 跟踪,及时调整默认路由)!!ip nat inside source route-map isp1 interface FastEthernet0/0 overloadip nat inside source route-map isp2 interface FastEthernet1/0 overload!!ip access-list extended vlan10permit ip 192.168.1.0 0.0.0.255 anyip access-list extended vlan20permit ip 192.168.2.0 0.0.0.255 anyaccess-list 10 deny 100.1.1.2 (*防止自己用来探测的数据被nat)access-list 20 deny 200.1.1.2 (*防止自己用来探测的数据被nat)!route-map isp2 deny 5match ip address 20 (*防止自己用来探测的数据被nat)!route-map isp2 permit 10match interface FastEthernet1/0!route-map isp1 deny 5match ip address 10 (*防止自己用来探测的数据被nat)!route-map isp1 permit 10match interface FastEthernet0/0!route-map pbr permit 10match ip address vlan10set ip next-hop verify-availability 100.1.1.1 1 track 1(*根据下一跳的可达性,转发数据)!route-map pbr permit 20match ip address vlan20set ip next-hop verify-availability 200.1.1.1 2 track 2(*根据下一跳的可达性,转发数据)!route-map pbr permit 30set interface Null0(*除了vlan 10,20的流量其他的直接丢弃,因为如果不做,那么策略路由不处理,按路由表将转发,虽然没有nat,isp会丢弃,但是浪费路由器资源;不过这些策略路由如果没特殊需求可以不做,路由器本身默认路由就已经实现负载均衡了)。
ASA Failover Active/Active 双HSRP 实现双ISP 切换ASA failover Active/Active是与context结合,实现一个context出现了故障,自动切换到另外一个,实现流量不间断转发,当然不间断是需要合理的配置holdtime时间的,默认情况下可能会需要45s的切换时间来完成。
第一个拓扑是failover Active/Active的,只能实现FW出现了故障才会切换,而SP出现了故障缺不能实现切换,导致一部分内部网络无法上外网的问题。
基于第一个拓扑的原因,第二个拓扑SP1和SP2多加入了一条线路,来完成双HSRP的工作,这样能解决无论是FW还是边界路由器故障,都能实现完美的切换。
如果是第一次做这个模型,强烈建议做第一个没有HSRP的,不然你很容易奔溃的。
这个拓扑是实际拓扑,全部的接口都连接在一个交换机上,其实对于这个模型,最难点不是配置,而是交换机VLAN的划分,和firewall接口的划分,这是比较麻烦的。
关于接口的划分,在做这个模型实验的时候,连接一个接口就记下来,不然后面全部搞混淆了。
基本VLAN划分,这里trunk是因为FW的接口要起子接口,所以与firewall 之间起trunk 来解决问题。
SW(config)#vlan 2SW(config-vlan)#name HSRP_1SW(config-vlan)#vlan 3SW(config-vlan)#name HSRP_2VLAN2作为SP1的使用,包括HSRP协商的接口和firewall的接口VLAN3作为SP2的使用,包括HSRP协商的接口和firewall的接口SW(config-vlan)#vlan 4SW(config-vlan)#name A/A单独划分一个VLAN,作为failover的协商和statefull的复制。
SW(config)#vlan 5SW(config-vlan)#name Inside.1SW(config-vlan)#vlan 6SW(config-vlan)#name Inside.2VLAN5和VLAN6是Inside.1和Inside.2分别划分。
SW(config-vlan)#int range f1/6 -7 , f1/8 -9SW(config-if-range)#SWitchport mode trunk起trunk,是因为在实际中可能接口不是那么多,所以这里我用子接口作为配置,虽然配置繁琐了点,但是对于自己的思路,跟方案也算一种提升咯。
SW(config)#int range f1/0 - 1SW(config-if-range)#SWitchport mode accessSW(config-if-range)#SWitchoport access vlan 2SW(config)#int range f1/2 - 3SW(config-if-range)#SWitchport mode accessSW(config-if-range)#Witchport access vlan 3SW(config-if-range)#SW(config-if-range)#int range f1/4 -5SW(config-if-range)#SWitchport mode accessSW(config-if-range)#SWitchport access vlan 4SW(config)#int f1/10SW(config-if)#SWitchport mode accessSW(config-if)#SWitchport access vlan 5SW(config-if)#int f1/11SW(config-if)#SWitchport mode accessSW(config-if)#SWitchport access vlan 6这里把对应的VLAN划分不同的VLAN中,这张表就对应我图上的VLAN 信息。
这是在连接接口的时候连接一个写上一个,不然后面就奔溃了。
这里我用ASA做的,所以接口跟拓扑上有点点不同在做firewall之前把其他的基本配置先解决。
Inside.1Inside.1(config)#int f0/0Inside.1(config-if)#ip add 10.1.1.1 255.255.255.0 Inside.1(config-if)#no shutInside.1(config-if)#exitInside.1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.254把默认路由给做了,指向primary的地址。
下面两条路由是指向私网网段的,为了后续通信正常,先做了。
这个是关键容易被忽略Inside.2Inside.2(config)#int f0/0Inside.2(config-if)#ip add 20.1.1.1 255.255.255.0Inside.2(config-if)#no shutdownInside.2(config-if)#ip route 0.0.0.0 0.0.0.0 20.1.1.254internetIntnet(config)#int lo 0Intnet(config-if)#ip add 1.1.1.1 255.255.255.255Intnet(config)#int f0/0Intnet(config-if)#ip add 12.1.1.1 255.255.255.0Intnet(config-if)#int f0/1Intnet(config-if)#ip add 13.1.1.1 255.255.255.0Intnet(config)#line vty 0 4Intnet(config-line)#-SWord ciscoSP1SP1(config)#int f0/0SP1(config-if)#ip add 12.1.1.2 255.255.255.0SP1(config-if)#no shutSP1(config-if)#ip add 192.168.2.1 255.255.255.0SP1(config-if)#no shutdownSP1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.1SP1(config)#access-list 1 permit 10.1.1.0 0.0.0.255SP1(config)#access-list 1 permit 20.1.1.0 0.0.0.255SP1(config)#ip nat inside source list 1 interface f0/0 overloadSP1(config)#int f0/0SP1(config-if)#ip nat outsideSP1(config-if)#int range f0/1 , f1/0SP1(config-if-range)#ip nat inside这里没有在access-list 中运行192.168.1.0这网段,所以无法进行测试了。
SP2(config)#int f0/1SP2(config-if)#ip add 13.1.1.2 255.255.255.0SP2(config-if)#int f0/0SP2(config-if)#ip add 192.168.1.2 255.255.255.0SP2(config-if)#no shutSP2(config-if)#int f1/0SP2(config-if)#ip add 192.168.2.2 255.255.255.0SP2(config-if)#no shutdownSP2(config)#access-list 1 permit 10.1.1.0 0.0.0.255SP2(config)#access-list 1 permit 20.1.1.0 0.0.0.255SP2(config)#ip nat inside source list 1 interface f0/1 overloadSP2(config)#int f0/1SP2(config-if)#ip nat outsideSP2(config-if)#int range f0/0 , f1/0SP2(config-if-range)#ip nat insideSP1(config)#ip route 10.1.1.0 255.255.255.0 192.168.1.3SP1(config)#ip route 20.1.1.0 255.255.255.0 192.168.2.3SP2(config)#ip route 10.1.1.0 255.255.255.0 192.168.1.3SP2(config)#ip route 20.1.1.0 255.255.255.0 192.168.2.3HSRP_1的设置。
SP1最为作-SP1的Active,SP2作为StandbySP1(config-if)#int f0/1SP1(config-if)#standby 1 ip 192.168.1.254SP1(config-if)#standby 1 priority 110SP1(config-if)#standby 1 preemptSP1(config-if)#standby 1 track f0/0 20SP2SP2(config)#int f0/0SP2(config-if)#standby 1 ip 192.168.1.254SP2(config-if)#standby 1 preemptSP2(config-if)#standby track f0/1这样HSRP_1的Active为SP1,Standby为SP2,当SP1的上行和下行链路出现故障,都会自动切换,因为track了上行链路。
HSRP_2的设置。
SP2最为Active,-SP1作为StandbySP1(config-if)#int f1/0SP1(config-if)#standby 2 ip 192.168.2.254SP1(config-if)#standby 2 preemptSP1(config-if)#standby 2 track f0/0SP2(config-if)#int f1/0SP2(config-if)#standby 2 ip 192.168.2.254SP2(config-if)#standby 2 preemptSP2(config-if)#standby 2 priority 110SP2(config-if)#standby 2 track f0/1 20HSRP_2的Active为SP2,Standby为SP1。