利用VRID/VMAC实现更安全的netscaler HA故障切换
利用VRID/VMAC实现更安全的netscaler HA故障切换
virtual MAC在故障切换(failover)中的作用。
在一个HA模式中,首要节点(primary node)拥有所有浮动IP,包括MIP(mapped IP)、VIP(virtual IP)等等。在网络环境中,首要节点会把这些浮动IP和自身的MAC地址返回给ARP请求,从而使得子网外的设备(例如路由器)的ARP表把该MAC和这些IP匹配起来。
当failover发生的时候,次要节点(secondary node)会取代已经故障设备而成为新的首要节点。然后,它会使用GARP(Gratuitous ARP,无故ARP)进行广播,要求其他网络设备更新ARP表,把这些浮动IP对应为它的MAC地址。
这时候问题来了。有些不支持GARP的设备会拒绝更新ARP表,依旧认为这些IP属于故障节点,导致网络流量继续流向“死亡地带”,造成严重后果。
为了解决这个问题,netscaler的方法是设置VMAC(virtual MAC)。VMAC需要在两个节点设备上都进行设置,这样他们就都拥有了一样的MAC地址。failover发生时,次要设备的MAC无须改变,外部设备的ARP表也无须更新。实现了平滑切换。
VMAC的值是用户定义的,方法很简单。在netscaler上创建一个VRID(virtual route identifiler),然后把这个VRID绑定到网络接口,这样系统就会生成一个基于这个VRID的VMAC,最后八位就是VRID的值。前5组数字是系统自己生成的。例如,某个netscaler生成的VMAC可能是00:01:02:03:04:<VRID>。
创建VRID方法:
ssh连接到netscaler,运行如下命令:
add vrid <number>
bind vrid <number> -ifnum <interface_number>

================== End
利用VRID/VMAC实现更安全的netscaler HA故障切换的更多相关文章
- Citrix NetScaler HA(高可用性)解析
Citrix NetScaler HA(高可用性)解析 来源 https://www.iyunv.com/thread-172259-1-1.html 1.1 NetScaler高可用概述 我 ...
- 利用KVC的方式更方便地获取数组中对象的属性的最值平均值等
直接上代码 输出结果也在相应的代码里标注出来了 //main.m文件 #import <Foundation/Foundation.h> #import "Student.h&q ...
- NetScaler Best Practice With VMAC In A High Availability Configuration
NetScaler Best Practice With VMAC In A High Availability Configuration https://www.citrix.com/blogs/ ...
- Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用
概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Mi ...
- NetScaler Active-Active模式
NetScaler Active-Active模式 NetScaler Active-Active模式 (此文档基于版本:NS9.3: Build 55.6 nc) By ShingTan Activ ...
- 利用Multi-Probe LSH构建ANN高维索引
感谢大神们的无私奉献精神........因此笔者要坚持开源,专注开源,开源就像在HPU的考试中不像其他人作弊一样,长远来看,会有巨大收获. 一.背景介绍 1.1 相似性搜索简介 高维相似性搜索在音频. ...
- 利用Sklearn实现加州房产价格预测,学习运用机器学习的整个流程(包含很多细节注解)
Chapter1_housing_price_predict .caret, .dropup > .btn > .caret { border-top-color: #000 !impor ...
- 从知乎首页用户操作入口学习到的CSS技巧 - 合理利用伪元素实现一些装饰样式
最近在模仿做一个静态的PC版知乎,在模仿的过程中,从知乎工程师的方法中学到了不少知识,比如CSS方面的,以下介绍一个今天学到的伪元素的技巧. 示例 DOM结构为: <div class=&quo ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
随机推荐
- python爬虫之解析库正则表达式
上次说到了requests库的获取,然而这只是开始,你获取了网页的源代码,但是这并不是我们的目的,我们的目的是解析链接里面的信息,比如各种属性 @href @class span 抑或是p节点里 ...
- .net中 多线程 笔记(基础)
1. 在进程中可以有多个线程同时执行代码.进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把 ...
- Ubuntu16.04Server版离线安装Nginx1.8.1+Mysql5.7.23+Python3.6.2
nginx1.8.1 1.安装前准备工作 1.1.检查系统版本,确认源码编译所依赖的环境,提前下载好压缩包. 整个环境都是使用root权限安装,系统版本为server版的ubuntu16.04.4 r ...
- Python序列之元组 (tuple)
作者博文地址:http://www.cnblogs.com/spiritman/ Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号, ...
- CSS命名规范(规则)常用的CSS命名规则
CSS命名规范(规则)常用的CSS命名规则 CSS命名规范(规则)常用的CSS命名规则 头:header 内容:content/container 尾:footer ...
- C++ 函数 函数的重载 有默认参数的函数
函数的重载 C++允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同.这就是函数的重载(function overloading). int max1(int a,int b, int c ...
- [C#] 取得每月第一天和最後一天、某月总天数
思路: 1. DateTime dt= DateTime.Now; //获取当前时间 eg:2013-09-08 09:25:0 0 2. DateTime dt1 = new DateTime(d ...
- Daily Scrumming 2015.10.22(Day 3)
今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 学习rails ActiveRecord 购买.注册域名 继续学习rails ActiveRecord 数 ...
- 第四节 Linux目录文件及文件基本操作
一.Linux目录结构 Linux 的目录与 Windows 的目录的区别: 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘 ...
- 实验五Java网络编程及安全——20135337朱荟潼
实验五 Java网络编程及安全 结对伙伴:20135317韩玉琪(负责服务器方)http://www.cnblogs.com/hyq20135317/p/4567241.html 实验内容 1.掌握S ...