Linux怎么使用ip addr命令配置多IP

轻静君_2215

轻静君_2215

2026-06-21

488人浏览

原创

ip addr add 必须指定 dev 和 cidr:不写 dev 会报“rtnetlink answers: no such device”,因内核需明确绑定网卡;不写 cidr(如 /24)则无法确定网络前缀、广播域及本地路由,导致地址不可达或添加失败。

linux怎么使用ip addr命令配置多ip

ip addr add 为什么必须指定 dev 和 CIDR

不写 dev 参数,ip addr add 会报错:「RTNETLINK answers: No such device」;不带子网掩码(即 CIDR 格式,如 /24),则系统无法判断广播域和本地路由范围,导致地址添加失败或不可达。Linux 内核要求每个 IPv4 地址必须关联明确的网络前缀。

正确写法只有这一种结构:ip addr add 192.168.1.10/24 dev ens33。其中 ens33 必须是 ip link show 列出的真实网卡名,不能是别名(如 ens33:1)——后者已被废弃且不被 iproute2 支持。

  • ip addr add 添加的是 secondary 地址,不是新接口,所有地址共享同一 MAC、MTU 和链路状态
  • IPv6 同理:ip addr add 2001:db8::1/64 dev ens33,注意 IPv6 不需要 netmask,只认前缀长度
  • 重复执行相同命令不会报错,但也不会覆盖——它只是再加一条,需用 ip addr del 显式删除

如何验证 secondary 地址是否生效

ip addr show ens33 输出中,主地址(primary)没有标记,secondary 地址会带 secondary 字样。例如:

inet 192.168.1.1/24 scope global ens33
    inet 192.168.1.10/24 scope global secondary ens33
    inet 192.168.1.11/24 scope global secondary ens33

如果没看到 secondary,说明地址没加成功,常见原因是:网卡 down 状态、IP 冲突、CIDR 错误或 dev 名拼错。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • ping -I ens33 192.168.1.10 测试该地址是否可响应(-I 指定源接口)
  • ip route get 192.168.1.254 from 192.168.1.10 可验证该 IP 是否能正常选路
  • 别依赖 ifconfig 查看——它不显示 secondary 标记,容易误判

临时多IP配置后,为什么服务监听不到新IP

Apache/Nginx 默认监听 0.0.0.0 时,只要新 IP 在同一网卡上且路由可达,就能正常接收请求。但如果配置了 Listen 192.168.1.10:80 这类绑定特定 IP 的指令,而该 IP 尚未被内核确认为 local address,则服务启动会失败,报错类似:Cannot assign requested address

  • 确保 ip addr show 中已出现该地址,并且状态是 scope global(不是 scope link
  • 某些 systemd 服务(如 nginx.service)启动早于网络就绪,需加 After=network.target 或改用 network-online.target
  • 防火墙可能拦截:检查 iptables -L -n -vnft list ruleset 是否放行该 IP 的端口

重启后多IP丢失,该怎么固化到配置里

临时命令不持久,生产环境必须写入发行版对应的网络配置机制。关键不是“怎么写”,而是“写在哪”——写错位置等于白配。

  • RHEL/CentOS/Rocky 8+:编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,追加 IPADDR1=192.168.1.10NETMASK1=255.255.255.0,最多支持 IPADDR0~IPADDR9
  • Ubuntu/Debian(netplan):在 /etc/netplan/*.yaml 的对应网卡下加 addresses: [192.168.1.10/24, 192.168.1.11/24],然后运行 sudo netplan apply
  • 不要手动创建 ifcfg-ens33:1 文件——这是 ifconfig 时代的别名方式,现代 NetworkManager 或 systemd-networkd 会忽略它

最易被忽略的一点:修改配置后,必须触发网络重载(systemctl restart NetworkManagernetplan apply),而不是简单 reboot——否则旧配置仍驻留内存,新文件未生效。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ipad游戏没有声音
ipad游戏没有声音

ipad游戏没有声音是因为静音模式、音量设置、耳机连接、音频输出设置、游戏设置、软件更新、重启设备、硬件故障和游戏应用问题造成的。

2023.09.11

3168

6

IPAD充电充不进去怎么办
IPAD充电充不进去怎么办

ipad充电充不进去的解决办法:1、检查电源线和适配器;2、检查ipad的充电端口;3、检查ipad的温度;4、重启ipad;5、更新ios系统;6、重置所有设置;7、检查电池健康状态;8、联系苹果官方支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.07

1041

4

ipad上打开html文件的方法
ipad上打开html文件的方法

打开方法:1、借助于浏览器软件,例如 Safari 或 Chrome。2、使用文件管理应用,如本地文件管理或云端存储服务。3、下载专门用于查看和编辑 HTML 文件的应用。想了解更多html文件的相关内容,可以阅读本专题下面的文章。

2024.04.02

3788

11

ipad可以插卡吗
ipad可以插卡吗

ipad可以插卡,支持无线局域网和蜂窝网络机型的ipad可以插电话卡,将卡针插入托架旁边的孔中,往里面推,取出托架,将sim卡放入托架上,将托架插回去即可。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.12

5798

6

ipad a1822是什么型号
ipad a1822是什么型号

ipad a1822是苹果ipad第5代的型号;ipad第5代是苹果公司于2017年03月21日在美国加利福尼亚州发布的平板电脑;该机型采用铝镁合金材质一体成型结构;前端外框为白色或黑色;有银色、金色和深空灰色3种外观颜色。想了解更多型号相关的内容,可阅读本专题下面的相关文章。

2024.09.24

5753

10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3590

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3133

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2173

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5190

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习