在 CentOS 系统中,如果您想绑定多个虚拟IP地址,可以使用 keepalived
工具实现高可用性和负载均衡功能,也可以直接配置网络接口(如通过 sysctl
或 ip
命令)。具体使用 keepalived
实现虚拟IP(VIP)的配置示例:
使用 keepalived
实现多虚拟IP配置的例子:
bash
# 创建或编辑 keepalived 的配置文件,一般位于 /etc/keepalived/keepalived.conf
sudo vi /etc/keepalived/keepalived.conf
# 在配置文件中添加虚拟路由接管器 (VRT) 的配置
vrrp_instance VI_1 {
state MASTER # 或 BACKUP 根据节点角色设置
interface eth0 # 指定用于VRRP通信的实际网络接口
virtual_router_id 51 # VRRP路由器ID,同一组内的机器必须一致
priority 101 # 主节点设置较高的优先级,备用节点设置较低的优先级
advert_int 1 # 发布间隔时间,默认1秒
# 添加多个虚拟IP
virtual_ipaddress {
192.168.1.100/24 brd 192.168.1.255 dev eth0 label eth0:0
192.168.1.101/24 brd 192.168.1.255 dev eth0 label eth0:1
}
}
# 重启 keepalived 服务以应用配置更改
sudo systemctl restart keepalived
如果您只是想在单台服务器上为一个网卡配置多个IP地址,而不需要高可用功能,可以直接使用 ip
命令手动添加:
bash
# 添加第一个虚拟IP到eth0
sudo ip addr add 192.168.1.100/24 dev eth0
# 添加第二个虚拟IP到eth0
sudo ip addr add 192.168.1.101/24 dev eth0
# 为了使这些IP在重启后仍然有效,可以将它们写入网卡配置文件,例如:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
# 在 ifcfg-eth0:0 文件中添加类似如下内容:
# DEVICE=eth0:0
# BOOTPROTO=static
# IPADDR=192.168.1.100
# NETMASK=255.255.255.0
# ONBOOT=yes
# 同样创建 ifcfg-eth0:1 文件来对应第二个虚拟IP
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
# 在 ifcfg-eth0:1 文件中添加类似如下内容:
# DEVICE=eth0:1
# BOOTPROTO=static
# IPADDR=192.168.1.101
# NETMASK=255.255.255.0
# ONBOOT=yes
# 重启网络服务使更改生效
sudo systemctl restart network # 对于 CentOS 6 或更早版本
sudo systemctl restart NetworkManager # 对于使用 NetworkManager 的系统
sudo systemctl restart networking # 对于某些 CentOS 7 或更高版本
请根据实际环境选择合适的方法,并确保每个虚拟IP都是合法且未被占用的。另外,根据 CentOS 版本的不同,网络服务重启的命令可能会有所差异。