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

怎样查询Linux浮动IP

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

什么是浮动 IP?

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


查看浮动 IP 的 4 种方法

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

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

ip addr show | grep -E "inet.*(secondary|dynamic)"
  • 关键点
    • 浮动 IP 通常标记为 secondarydynamic
    • 示例输出:
      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

    grep "virtual_ipaddress" /etc/keepalived/keepalived.conf

    输出示例:

    怎样查询Linux浮动IP  第1张

    virtual_ipaddress { 192.168.1.100/24 dev eth0 }
  • Pacemaker

    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?

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

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

    • 通过控制台查看浮动 IP 绑定状态(如 OpenStack openstack floating ip list)。

方法 适用场景 优势
ip addr show 实时查看 IP 状态 无需额外工具,精准高效
检查 Keepalived 配置验证 明确管理 IP 地址
系统日志 故障诊断 追踪漂移事件

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


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

0