CentOS-9 64位 绑定 多个附加ip方法

在 CentOS 9(RHEL 9 系)上给网卡绑定多个附加 IP(辅助私网 IP),推荐用 NetworkManagernmcli命令,或者直接写 ifcfg文件。
以下两种方法都实测可用,选一种就行。

方法一:nmcli 命令(推荐,最稳)

假设主网卡叫 ens160(用 ip anmcli dev status确认你机器上的名字)。

1. 先查主连接名

nmcli con show --active
输出类似:
NAME    UUID                                  TYPE      DEVICE
ens160  xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx    ethernet  ens160

2. 添加附加 IP(永久生效)

# 语法:nmcli con modify <连接名> +ipv4.addresses <IP>/<掩码>sudo nmcli con mod ens160 +ipv4.addresses 10.0.0.10/24sudo nmcli con mod ens160 +ipv4.addresses 10.0.0.11/24sudo nmcli con mod ens160 +ipv4.addresses 10.0.0.12/24
掩码 /24根据你子网改,VPC 默认一般是 /24/20

3. 重连网卡使配置生效

sudo nmcli con down ens160 && sudo nmcli con up ens160
注意:SSH 连接会断一下,建议从控制台 VNC 执行,或用 screen/tmux 加 sleep 兜底:
sudo nmcli con down ens160; sleep 3; sudo nmcli con up ens160

4. 验证

ip a show ens160
应该能看到三个 IP:
inet 10.0.0.8/24 brd ...
inet 10.0.0.10/24 scope global secondary ens160
inet 10.0.0.11/24 scope global secondary ens160
inet 10.0.0.12/24 scope global secondary ens160

方法二:传统 ifcfg 文件(习惯 CentOS 7 风格的用)

1. 找到主配置文件

ls /etc/sysconfig/network-scripts/ifcfg-*
大概率是 ifcfg-ens160

2. 编辑主配置文件,追加 IPADDR 序列

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens160
在文件末尾追加:
IPADDR0=10.0.0.10
PREFIX0=24
IPADDR1=10.0.0.11
PREFIX1=24
IPADDR2=10.0.0.12
PREFIX2=24
如果主 IP 已经在 BOOTPROTO=static且已有 IPADDRPREFIX,那后面的就从 IPADDR0开始编号。
注意:索引号从 0 开始连续递增,不能跳号。

3. 重启网络

sudo systemctl restart NetworkManager
sudo nmcli con reload && sudo nmcli con up ens160

补充:临时添加(重启失效)

如果你只想临时测试,不需要重启保留:
sudo ip addr add 10.0.0.13/24 dev ens160
ip a能看见,但重启网卡或机器后会消失。

常见坑

现象
原因
解决
重启后附加 IP 丢了
没加 --或没用 modify
检查是否用了 nmcli con mod(不是 dev
SSH 断了连不上
down/up 导致网络中断
用 VNC 或写脚本加 sleep
附加 IP 不通外网
云平台安全组没放通
去云控制台加对应 IP 的安全组规则
nmcli con modError: unknown connection
连接名不对
先用 nmcli con show查出正确名称
如果你需要批量加几十个 IP,用 nmcli 写个循环更省事:
for i in $(seq 100 120); do
  sudo nmcli con mod ens160 +ipv4.addresses 10.0.0.$i/24done


您可以还会对下面的文章感兴趣:

暂无相关文章