当前位置:首页 > Linux > 正文

怎样查询Linux浮动IP

要查看 Linux浮动IP,通常使用 ip addr show或 ifconfig -a命令检查网络接口,重点观察虚拟接口(如eth0:1)或VIP,同时需检查 高可用集群管理工具(如Pacemaker、Corosync)的状态确认IP归属节点。

什么是浮动 IP?

浮动 IP(Floating IP)是一种高可用网络技术,通常用于集群或负载均衡场景,当主服务器故障时,IP 地址会自动漂移到备用节点,确保服务不间断,在 Linux 中,它可能通过 KeepalivedPacemaker 或云平台(如 OpenStack)实现。


查看浮动 IP 的 4 种方法

以下命令需 root 权限执行(sudo -i 或 sudo <命令>):

怎样查询Linux浮动IP 第1张

方法 1:使用 ip 命令(推荐)

ip addr show | grep -E "inet.*(secondary|dynamic)"

  • 关键点
    • 浮动 IP 通常标记为 secondary 或 dynamic。
    • 示例输出: inet 192.168.1.100/24 brd 192.168.1.255 scope global secondary eth0

方法 2:通过 ifconfig(传统工具)

ifconfig | grep -A 1 "flags=.*<UP,BROADCAST>" | grep "inet"

  • 注意
    • 浮动 IP 可能显示在备用网卡(如 eth0:1)。
    • 较新系统需安装 net-tools 包(apt install net-tools / yum install net-tools)。

方法 3:检查高可用软件配置

  • Keepalived

    输出示例:

  • Pacemaker

    怎样查询Linux浮动IP 第2张

    pcs resource show | grep -i "ip"

    输出示例:

    ClusterIP (ocf::heartbeat:IPaddr2) ip=192.168.1.100
  • 方法 4:查看系统日志

    journalctl -u keepalived --since "5 min ago" | grep "IP assigned"

    • 适用于动态漂移后实时追踪。


    常见问题排查

    1. 看不到浮动 IP?

      怎样查询Linux浮动IP 第3张

      • 检查高可用服务状态: systemctl status keepalived # 或 pacemaker
      • 确认网卡启用:ip link set eth0 up。
    2. IP 未漂移?

      • 检测脑裂问题:ping 主备节点,验证网络连通性。
      • 云平台(如 AWS、OpenStack)

        • 通过控制台查看浮动 IP 绑定状态(如 OpenStack openstack floating ip list)。
        • 方法 适用场景 优势
          ip addr show 实时查看 IP 状态 无需额外工具,精准高效
          检查 Keepalived 配置验证 明确管理 IP 地址
          系统日志 故障诊断 追踪漂移事件

          安全提示:浮动 IP 暴露在公网时,需配置防火墙(如 ufw 或 firewalld)限制访问。


          引用说明

          本文方法基于 Linux 内核网络栈及 Keepalived 官方文档,适用于 CentOS/RHEL 7+、Ubuntu 18.04+ 等主流发行版,云平台操作请参考对应服务商文档。

0