在Rocky Linux里用ip addr搞IP别名的话,比如要给网卡eth0加个别名叫eth0:0,直接执行:sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0 就完事了。查当前配置用ip a看有没有这个新IP。想删掉的话就把add换成del再跑一遍命令。不过这样重启就没了,要永久生效得在/etc/sysconfig/network-scripts/下新建ifcfg-eth0:0文件,填好IP配置后重启网络服务就行!
如何使用 ip addr 在 Rocky Linux 中配置和管理 IP 别名?
-
添加临时IP别名
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0
-
验证配置
ip addr show eth0
-
删除IP别名
sudo ip addr del 192.168.1.100/24 dev eth0
-
永久配置(通过配置文件) 创建
/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
生效。 -
(可选)使用nmcli持久化
sudo nmcli con mod eth0 +ipv4.addresses 192.168.1.100/24 sudo nmcli con down eth0 && sudo nmcli con up eth0
在Rocky Linux中使用ip addr
配置IP别名,可通过ip addr add 192.168.1.100/24 dev eth0 label eth0:0
添加,用ip addr show
验证,ip addr del 192.168.1.100/24 dev eth0:0
删除。
延伸知识点:网络接口别名持久化配置
在/etc/sysconfig/network-scripts/
中创建ifcfg-eth0:0
文件,内容为:
DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONPARENT=yes
ONBOOT=yes
执行systemctl restart network
生效。该配置通过设备别名定义静态IP,ONPARENT=yes
确保主接口启动时激活别名,NETMASK
需与主接口子网一致,重启后仍保留配置。
在Rocky Linux中配置IP别名(又称子接口)需通过ip addr
命令结合持久化配置实现,以下是分阶段操作指南及实战经验总结:
一、临时配置(重启失效)
- 添加别名:
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0
- 验证:
ip addr show eth0
查看新增的secondary IP段 - 删除:
sudo ip addr del 192.168.1.100/24 dev eth0
二、持久化配置(推荐方案)
- 创建配置文件:
/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 NetworkManager
三、典型故障场景
- 网络服务重启失败:配置文件DEVICE名称与标签后缀不匹配时(如eth0:1写成eth0:0),导致服务启动异常
- IP冲突检测:当主IP与别名IP处于同一子网时,需确保ARP代理功能正常,否则可能触发IP冲突告警
- 路由失效:多网卡环境中需通过
ip route
单独添加路由规则,避免流量未从指定别名出口
四、生产环境经验
- 批量管理时建议使用Ansible模板生成配置文件,避免手工操作失误
- 使用
nmcli con mod
命令动态加载配置(Rocky 8+适用):nmcli con mod eth0 +ipv4.addresses "192.168.1.100/24"
- 监控建议:通过
ss -ant src 192.168.1.100
验证服务绑定情况,避免因配置未生效导致服务不可用
五、高可用架构注意事项
- VIP漂移场景中,IP别名需配合keepalived等工具实现自动切换
- 容器化环境下(如Podman),需确认CNI插件对secondary IP的支持性,防止网络命名空间隔离导致访问异常
-
查看当前网络接口信息:
ip addr
确认主接口名称(如eth0/ens192)及现有IP配置。
-
添加临时IP别名:
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0
(IP/子网和接口名称需替换为实际值,
:0
为别名标识) -
创建永久配置:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
内容模板:
DEVICE=eth0:0 IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONPARENT=yes BOOTPROTO=none
-
激活配置:
sudo nmcli connection reload sudo nmcli connection down "System eth0" && sudo nmcli connection up "System eth0"
-
验证配置:
ip addr show eth0 | grep 'inet' ping 192.168.1.100 -c 3
-
删除IP别名:
- 临时删除:
sudo ip addr del 192.168.1.100/24 dev eth0:0
- 永久删除:
rm -f /etc/sysconfig/network-scripts/ifcfg-eth0:0 systemctl restart NetworkManager
- 临时删除:
常见问题处理:
- 若别名未生效,检查
/etc/sysconfig/network-scripts/
配置文件名是否与DEVICE名称一致 - 使用
arping -I eth0 192.168.1.100
检测IP冲突 - 通过
journalctl -u NetworkManager
排查服务错误
在Rocky Linux中使用ip addr
配置IP别名(网络接口别名)可通过以下步骤实现,结合临时配置与持久化方案:
-
临时配置(重启失效)
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:0 # 添加别名 sudo ip link set eth0:0 up # 启用别名接口 ip addr show eth0 # 验证别名IP
-
持久化配置
创建配置文件/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
-
管理操作
- 删除临时别名:
sudo ip addr del 192.168.1.100/24 dev eth0:0
- 禁用持久化别名:删除对应配置文件并重启服务
- 删除临时别名:
注意事项:
- 确保IP地址不与其他设备冲突
- 子网掩码需与主接口所属网络一致
- 若使用NetworkManager,需确认其与传统network服务无冲突(推荐统一管理方案)