0

0

Linux ifconfig 与 ip addr 对比

舞姬之光

舞姬之光

发布时间:2026-02-28 09:04:03

|

372人浏览过

|

来源于php中文网

原创

ip addr 是当前唯一应使用的网络配置命令,因 ifconfig 已被主流发行版事实性弃用,且功能受限、不支持 ipv6/arp/vlan 等现代特性,而 ip 命令功能完整、输出规范、兼容性强、适合自动化。

linux ifconfig 与 ip addr 对比

ip addr 是当前唯一该用的命令

ifconfig 已不是“过时”,而是事实性弃用:Ubuntu 22.04+、CentOS 8+、Fedora 默认不装 net-tools,你运行 ifconfig 很可能直接报 command not found。这不是配置问题,是发行版主动移除。而 ip 属于 iproute2,所有现代 Linux 内核默认集成,持续更新,脚本里用它不会在新环境突然失效。

常见错误现象:ifconfig 看不到 IPv6 地址、查不到 ARP 表、改不了多 IP、配不了 VLAN —— 它压根不支持这些,不是你命令写错,是它能力边界就到这儿了。

  • ip addr 原生显示 inet6 地址,并标注 scope linkscope global,区分用途
  • ifconfigHWaddr 字段在 ip addr 中统一为 link/ether,更准确(MAC 不只用于以太网)
  • 想查 ARP 缓存?ip neigh;查路由?ip route show;查策略路由?ip rule —— ifconfig 连边都摸不到

看 IP 地址时,别被 ifconfig 的“已启用”误导

ifconfig 默认只显示“已启用(UP)”的接口,ifconfig -a 才列全;而 ip addr 默认列出所有接口及其所有地址(包括临时地址、deprecated 地址),且每条地址带生命周期标记:valid_lft foreverpreferred_lft 3599sec —— 这对排查 DHCP 续租失败、IPv6 隐私扩展失效特别关键。

使用场景:容器或云主机常有多个临时 IP 或 secondary IP,ifconfig 只显示第一个主 IP,容易漏掉实际通信用的地址。

  • ip addr show eth0 显示该接口全部 IPv4/IPv6 地址,含 label(如 eth0:web)和 scope
  • ifconfig eth0 可能只显示一条 inet addr,哪怕你用 ip addr add 加了三个 IP
  • 要过滤出主 IPv4 地址?用 ip -4 addr show eth0 | grep -oP 'inet \K[\d.]+',比正则匹配 ifconfig 输出稳定得多

配 IP 时,CIDR 和多地址是分水岭

ifconfig eth0 192.168.1.50 netmask 255.255.255.0 是过去式;ip addr add 192.168.1.50/24 dev eth0 才是现在时。区别不只是写法:前者只能设一个主 IP,后者可叠加任意数量同网段/跨网段地址,且支持精确删除、label 标记、lifetime 控制。

Logo Galleria
Logo Galleria

免费在线AI Logo生成工具,打造定制Logo

下载

容易踩的坑:用 ifconfig 配完 IP,再用 ip addr 查,会发现多出一条 “secondary” 标记的地址——因为 ifconfig 底层调用的是 ip addr add 的兼容路径,但自己不暴露这个事实。

  • 加第二个 IP:ip addr add 192.168.1.51/24 dev eth0 label eth0:backup
  • 删指定地址:ip addr del 192.168.1.50/24 dev eth0ifconfig 没对应操作)
  • 设临时地址(重启消失):ip addr add 10.0.0.1/24 dev eth0 preferred_lft 0

自动化脚本里还用 ifconfig,等于埋定时炸弹

很多旧脚本用 ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2 提取 IP,看似能跑,但一遇到 IPv6、Docker 的 veth 接口、systemd-networkd 的 predictible interface name(如 ens33 而非 eth0),就解析失败。而 ip 输出结构稳定、字段明确、支持 JSON(ip -j addr),适合机器读取。

性能影响不大,但兼容性风险极高:某次系统升级后,ifconfig 被彻底卸载,脚本卡在 command not found,而运维还在翻老文档找安装命令。

  • 提取主 IPv4 地址(推荐):ip -4 addr show scope global | grep -oP 'inet \K[\d.]+' | head -n1
  • 提取所有 IPv4 地址(含 secondary):ip -4 addr | grep -oP 'inet \K[\d.]+' | sort -u
  • CI/CD 流水线中,一律用 ip,别给未来自己留 debug 夜晚

最易被忽略的一点:有些设备(比如 OpenWrt 或某些嵌入式 Linux)仍默认只装 net-tools,没装 iproute2。这不是“应该用哪个”,而是“你得先确认有没有”。查一下 which ipwhich ifconfig,比背命令更重要。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

450

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

326

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

81

2025.09.10

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

17

2026.02.03

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

406

2023.09.04

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1705

2023.10.19

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

2

2026.02.27

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.8万人学习

Git 教程
Git 教程

共21课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号