nmcli命令,或者直接写 ifcfg文件。方法一:nmcli 命令(推荐,最稳)
ens160(用 ip a或 nmcli 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
sudo nmcli con down ens160; sleep 3; sudo nmcli con up ens160
4. 验证
ip a show ens160
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
BOOTPROTO=static且已有 IPADDR和 PREFIX,那后面的就从 IPADDR0开始编号。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 mod报 Error: unknown connection | 连接名不对 | 先用 nmcli con show查出正确名称 |
for i in $(seq 100 120); do sudo nmcli con mod ens160 +ipv4.addresses 10.0.0.$i/24done
