当前位置:首页 > 服务器技术 > 正文

主标题:Linux下实现高可用网络的VRRP协议详解(副标题:从零开始配置Keepalived实现虚拟路由器冗余)

在现代企业网络中,保证服务的高可用性至关重要。一旦主网关或路由器出现故障,整个网络可能陷入瘫痪。为了解决这个问题,VRRP协议(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)应运而生。本文将带你从零开始,在Linux系统中使用Keepalived工具实现VRRP,构建高可用网络。

什么是VRRP协议?

VRRP协议是一种容错协议,允许多台物理路由器组成一个“虚拟路由器”,对外提供统一的虚拟IP地址(VIP)。客户端只需将网关指向这个VIP,当主路由器故障时,备份路由器会自动接管VIP,实现无缝切换,从而保障网络连续性。

主标题:Linux下实现高可用网络的VRRP协议详解(副标题:从零开始配置Keepalived实现虚拟路由器冗余) VRRP协议 高可用网络 Linux VRRP配置 Keepalived教程 第1张

为什么选择Keepalived?

在Linux环境中,Keepalived 是实现VRRP最常用的开源工具。它轻量、稳定,并支持健康检查、负载均衡等高级功能。通过配置Keepalived,我们可以轻松搭建一套高可用网络架构。

实验环境准备

  • 两台Linux服务器(例如 CentOS 7 或 Ubuntu 20.04)
  • IP地址规划:
      - 主节点(Master):192.168.1.10
      - 备节点(Backup):192.168.1.11
      - 虚拟IP(VIP):192.168.1.100
  • 确保两台机器网络互通,防火墙允许VRRP通信(协议号112)

安装Keepalived

在两台服务器上分别执行以下命令安装Keepalived:

# CentOS / RHELsudo yum install -y keepalived# Ubuntu / Debiansudo apt updatesudo apt install -y keepalived

配置Keepalived(主节点)

编辑主节点的配置文件 /etc/keepalived/keepalived.conf

global_defs {   router_id MASTER_NODE}vrrp_instance VI_1 {    state MASTER    interface eth0          # 替换为你的实际网卡名    virtual_router_id 51    priority 100            # 主节点优先级更高    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100/24    # 虚拟IP    }}

配置Keepalived(备节点)

备节点配置类似,但需修改关键参数:

global_defs {   router_id BACKUP_NODE}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51     # 必须与主节点一致    priority 90              # 优先级低于主节点    advert_int 1    authentication {        auth_type PASS        auth_pass 123456     # 必须与主节点一致    }    virtual_ipaddress {        192.168.1.100/24    }}

启动并验证服务

在两台服务器上启动Keepalived并设置开机自启:

sudo systemctl enable --now keepalived

在主节点上执行 ip addr show,应能看到虚拟IP已绑定:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0    inet 192.168.1.100/24 scope global secondary eth0

此时,你可以从其他设备 ping 192.168.1.100,确认连通性。接着,手动停止主节点的Keepalived服务:

sudo systemctl stop keepalived

几秒后,备节点会自动接管VIP。再次 ping 虚拟IP,应依然畅通——这就是高可用网络的魅力!

常见问题与注意事项

  • 防火墙设置:确保允许VRRP协议(IP协议号112)通信。在firewalld中可执行:
    sudo firewall-cmd --permanent --add-protocol=vrrp
  • 网卡名称:请根据实际环境替换 eth0 为你的主网卡(如 ens33、enp0s3 等)
  • 优先级:数值越大优先级越高,主节点必须高于备节点
  • 日志查看:使用 journalctl -u keepalived -f 实时查看日志

结语

通过本教程,你已经掌握了如何在Linux系统中使用Keepalived实现VRRP协议,构建高可用网络。无论是作为网关冗余,还是配合Nginx/LVS做负载均衡,VRRP都是保障业务连续性的基石。希望这篇Keepalived教程能帮助你迈出高可用架构的第一步!

关键词回顾:VRRP协议、高可用网络、Linux VRRP配置、Keepalived教程