Skip to main content

配置故障转移 IP

本指南说明如何在 Linux VPS 上配置故障转移 IP。请选择与您的发行版及其网络管理器相对应的章节。

先决条件

  • SSH root 或 sudo 访问权限
  • 分配给您的 VPS 的故障转移 IP
  • Linux 系统(Debian、Ubuntu、AlmaLinux、Rocky Linux、Fedora…)

使用 ifupdown 配置(/etc/network/interfaces

这是 Debian 和旧版 Ubuntu 使用的传统方法。如果您的系统使用 Netplan(Ubuntu 18.04+),请参阅下一节。

  1. 禁用自动网络配置:

    sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

    添加此行:

    network: {config: disabled}
  2. 配置虚拟接口:

    sudo nano /etc/network/interfaces.d/50-cloud-init

    添加这些行:

    # 故障转移 IP 接口
    auto eth0:1
    iface eth0:1 inet static
    address YOUR_FAILOVER_IP
    netmask 255.255.255.255
  3. 重启网络服务:

    sudo systemctl restart networking

使用 Netplan 配置(Ubuntu 18.04+)

在较新的基于 Ubuntu 的系统上,网络由 Netplan 管理,而不是 /etc/network/interfaces。请使用此方法代替上一节。

  1. 确定您的网络接口名称:

    ip a

    (例如 eth0ens3enp1s0

  2. 编辑 Netplan 配置文件:

    sudo nano /etc/netplan/50-cloud-init.yaml

    将故障转移 IP 添加到您的接口,保留现有配置(注意 YAML 缩进,2 个空格):

    network:
    version: 2
    ethernets:
    eth0:
    addresses:
    - YOUR_FAILOVER_IP/32
  3. 应用配置:

    sudo netplan apply

提示: 使用 sudo netplan try 而不是 netplan apply 进行测试;如果您不确认,配置将在 120 秒后自动回滚,从而避免在出错时丢失 SSH 访问。

使用 network-scripts 配置(AlmaLinux / Rocky Linux 8 和 9)

在基于 RHEL 的发行版(AlmaLinux、Rocky Linux 8 和 9)上,为虚拟接口创建专用的配置文件。

  1. 确定您的网络接口名称:

    ip a

    (例如 eth0ens3

  2. 创建别名配置文件:

    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0:1

    添加这些行:

    DEVICE=eth0:1
    BOOTPROTO=static
    IPADDR=YOUR_FAILOVER_IP
    NETMASK=255.255.255.255
    ONBOOT=yes
  3. 重启网络服务:

    sudo systemctl restart NetworkManager

使用 NetworkManager 配置(Fedora、AlmaLinux、Rocky Linux)

在 Fedora 以及较新版本的 AlmaLinux 和 Rocky Linux 上,网络直接通过 NetworkManager 连接文件管理。

  1. 确定您的接口连接文件:

    ls /etc/NetworkManager/system-connections/
  2. 编辑相应的连接文件(例如 cloud-init-eth0.nmconnection):

    sudo nano /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection

    [ipv4] 部分中,添加故障转移 IP:

    [ipv4]
    method=auto
    address1=YOUR_FAILOVER_IP/32
  3. 重启 NetworkManager:

    sudo systemctl restart NetworkManager

验证

  1. 验证 IP 是否正确配置:

    ip addr show
  2. 测试连接性:

    ping -I YOUR_FAILOVER_IP 8.8.8.8

最佳实践

  • 记录您的网络配置
  • 在任何生产部署之前测试配置
  • 保留配置文件的备份
  • 在连接丢失的情况下配置警报

故障排除

  • 检查系统日志:sudo journalctl -xe
  • 检查网络配置:sudo networkctl status
  • 确保 IP 正确分配给您的 VPS
  • 验证没有 IP 冲突
  • 作为最后手段,以 rescue 模式启动您的服务器并即时添加 IP:ip addr add YOUR_FAILOVER_IP/32 dev eth0

重要说明

  • 故障转移 IP 必须使用网络掩码 255.255.255.255 进行配置
  • 某些服务可能需要重新配置以使用新 IP
  • 配置可能因您的 Linux 发行版而异