在Linux系统中,虚拟IP(Virtual IP,简称VIP)是一种将多个IP地址绑定到同一张物理网卡的技术,它常用于高可用集群(如Keepalived)、负载均衡、服务冗余等场景,确保当主节点故障时,备用节点能无缝接管服务,以下将详细讲解配置方法,涵盖临时与永久两种方式,并针对不同发行版提供指导。
虚拟IP的核心作用
- 高可用性:主备服务器共享同一VIP,故障时自动切换。
- 负载均衡:多台服务器共用VIP分流请求。
- 服务迁移:IP可动态绑定到不同主机,无需修改客户端配置。
配置方法:临时生效(重启失效)
方法1:使用 ip
命令(推荐)
# 验证配置 ip addr show eth0
- 关键参数:
168.1.100/24
:VIP及子网掩码。eth0:0
:虚拟网卡别名(可自定义)。
- 删除VIP:
sudo ip addr del 192.168.1.100/24 dev eth0
方法2:使用 ifconfig
(旧版兼容)
sudo ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
配置方法:永久生效
Ubuntu/Debian 系统
修改 /etc/network/interfaces
文件:
auto eth0:0 iface eth0:0 inet static address 192.168.1.100 netmask 255.255.255.0
生效命令:
sudo systemctl restart networking
CentOS/RHEL 系统
创建配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:0
:
DEVICE=eth0:0 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes
生效命令:
sudo systemctl restart network
验证配置
- 检查IP是否生效:
ip addr show eth0 | grep "192.168.1.100"
- 测试连通性:
ping 192.168.1.100 -c 4
常见问题与解决
- VIP无法访问:
- 检查防火墙:
sudo iptables -L
(临时关闭:systemctl stop firewalld
)。 - 确认子网掩码和网关配置正确。
- 检查防火墙:
- 网卡别名冲突:
- 确保
eth0:0
未被其他服务占用。
- 确保
- 重启后失效:
- 永久配置需检查文件路径和语法(如CentOS中文件名必须是
ifcfg-<网卡名>:<别名>
)。
- 永久配置需检查文件路径和语法(如CentOS中文件名必须是
应用场景示例
- Keepalived高可用集群:主备节点通过VIP提供不间断服务。
- Nginx负载均衡:多台后端服务器共享VIP接收流量。
- 故障转移:数据库主从切换时,VIP指向新主节点。
虚拟IP是构建高可靠Linux服务的基石,临时配置适合测试环境,生产环境务必使用永久配置,不同发行版的配置文件差异较大,需注意路径和语法,合理使用VIP可显著提升系统容灾能力与可维护性。
引用说明基于Linux内核网络文档(kernel.org)及主流发行版官方手册(Ubuntu, CentOS),配置方法经实测验证,技术细节参考IEEE 802标准及TCP/IP协议栈规范。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7929.html