在 Linux 中,虚拟 IP(Virtual IP,VIP)是指一组与物理网络接口卡 (NIC) 绑定的虚拟 IP 地址,这些 IP 地址并不是物理上存在的,而是通过软件模拟实现的。

Linux 实现虚拟 IP 的方法有多种,其中常用的方式是通过网络接口的别名(alias)实现。在 Linux 系统中,每个物理网卡都有一个唯一的名称,比如 eth0、eth1、enp0s3 等,每个网卡可以绑定一个 IP 地址。通过添加别名,可以为同一个网卡添加多个 IP 地址,每个别名对应一个虚拟 IP 地址,例如 eth0:1、eth0:2 等。

实现虚拟 IP 的过程如下:

  1. 为物理网卡添加别名,例如添加 eth0:1 别名。

  2. 为 eth0:1 别名设置虚拟 IP 地址,例如设置为 192.168.1.100。

  3. 当有数据包发送到 192.168.1.100 地址时,Linux 内核会将该数据包交给 eth0:1 别名所对应的网络接口处理。

  4. eth0:1 接口收到数据包后,将其交给内核处理,内核判断该数据包的目标 IP 地址是本机的虚拟 IP 地址,因此将其交给本机上的应用程序进行处理。

虚拟 IP 在实际应用中具有广泛的用途,比如负载均衡、高可用性等方面都可以使用虚拟 IP 来实现。

例如:keepalived+nginx实现高可用的使用场景

linux虚拟ip原理的更多相关文章

  1. Linux 虚拟IP

    虚拟IP Linux网卡上绑定另一个虚拟ip,即网卡上一个真实ip一个虚拟ip.当然通过这2个ip都可以连接到该主机. 实现原理主要是靠TCP/IP的ARP协议.因为ip地址只是一个逻辑 地址,在以太 ...

  2. 虚拟IP原理及使用

    一.前言 高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性.HA 系统是目前企业防止核心 ...

  3. 【IP】虚拟IP原理

    使用场景: 当这台机器出现故障时,自动动态切换到另一台热备的机器 高可用性HA(High Availability) 指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间 ...

  4. 固定Linux虚拟IP地址

    由于我的开发环境是在VMWare虚拟机里安装Centos,然后在host文件中设置拦截,这样就可以直接跳转虚拟机的CentOS,但是虚拟机的IP地址总是会变,就要随时修改host文件,很麻烦.决定虚拟 ...

  5. (转)虚拟IP原理

    转:http://blog.csdn.net/whycold/article/details/11898249 高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划 ...

  6. 虚拟IP和IP漂移

    学习一下虚拟IP和IP漂移的概念. 1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address.事实上IP地址是主机硬件地址的一种 ...

  7. LVS专题-(3) 虚拟ip理解

    1.虚拟IP是什么? 要是单讲解虚拟 IP,理解起来很困难,所以干脆把 动态 IP .固定 IP .实体 IP 与虚拟 IP都讲解一下,加深理解和知识扩展 实体 IP:在网络的世界里,为了要辨识每一部 ...

  8. (为容器分配独立IP方法二)通过虚拟IP实现docker宿主机增加对外IP接口

    虚拟IP.何为虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配 ...

  9. Linux建立虚拟ip的方法

    文章来源 运维公会:Linux建立虚拟ip的方法   1.虚拟ip的介绍 虚拟IP地址(VIP) 是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址.数据包被发送到这个VIP地址, ...

  10. linux下如何设置vip(虚拟ip)

    在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/ite ...

随机推荐

  1. LaTex “too many unprocessed floats”

    latex编辑时出现LaTex "too many unprocessed floats" 如何解决? 有人说是用/usepackage[section] {placeins} 我 ...

  2. TS2Vec: 面向通用的时间序列表示《TS2Vec: Towards Universal Representation of Time Series》(时间序列、对比学习、多尺度特征(池化操作)、分层对比、上下文一致性(时间戳掩码+随机裁剪))

    今天是2024年5月22日,10:24,今天看这篇经典的论文(如果你问我为什么最近频繁看论文,因为我的创新点无了,要找创新点+太菜了,菜就多看多学). 论文:TS2Vec: Towards Unive ...

  3. C# – class, filed, property, const, readonly, get, set, init, required 使用基础

    前言 心血来潮,这篇讲点基础的东西. Field 比起 Property,Field 很不起眼,你若问 JavaScript,它甚至都没有 Field. 但在 C#,class 里头真正装 value ...

  4. TypeScript – Using Disposable

    前言 TypeScript v5.2 多了一个新功能叫 Disposable. Dispose 的作用是让 "对象" 离开 "作用域" 后做出一些 " ...

  5. RxJS 系列 – 实战练习

    前言 这篇主要是给一些简单例子, 从中体会 RxJS 在管理上的思路. Slide Down Effect with Dynamic Content 我在这篇 CSS & JS Effect ...

  6. Yarn 3.0 Plug'n'Play (PnP) 安装和迁移

    前言 以前用 npm, 后来 yarn 火了就用 yarn. 后来 yarn 2.0 大改版, Angular 不支持就一直没用. 一直到去年的 Angular 13 才开始支持. 最近又开始写 An ...

  7. Flutter Engage 活动精彩回顾 | 中文字幕视频

    在 Flutter Engage 预告之后,无数开发者充满期待并且在社区中积极讨论交流,分享见解.今天,我们正式发布 Flutter 2.0,并在 Flutter Engage 活动 中详细介绍了这一 ...

  8. 暑假集训CSP提高模拟 ∫[0,6] (x^2)/6 dx

    \[\text{暑假集训CSP提高模拟}\int^{6}_{0}\frac{x^{2}}{6}dx \] 关于这个东西怎么求的良心教程 含义:求出 \(f(x)=\frac{x^{2}}{6}\) 在 ...

  9. 【赵渝强老师】MongoDB的inMemory存储引擎

    一.MongoDB的存储引擎概述 存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始 ...

  10. 【赵渝强老师】使用MongoDB的Web控制台

    MongoDB可以通过web界面监控数据库,默认情况下该选项是关闭的,需要在启动的时候开启.启用web 控制台,需要在启动mongodb的时候,加上:--httpinterface 启动MongoDB ...