ip link命令怎么用?

在Linux系统中,查看网卡的MAC地址(即物理地址)是网络配置和故障排查的基础操作,MAC地址是网卡的唯一硬件标识符,由12位十六进制数组成(如00:1A:2B:3C:4D:5E),常用于网络绑定、设备识别或安全策略,以下是多种可靠的方法,适用于所有主流Linux发行版(如Ubuntu、CentOS、Debian等):
ip 命令是新一代网络工具,取代了旧的 ifconfig,功能更全面:

ip link show
  • 输出示例
    1: lo: <LOOPBACK> ... link/loopback 00:00:00:00:00:00  
    2: eth0: <BROADCAST> ... link/ether 00:1a:2b:3c:4d:5e
  • 关键字段
    • link/ether 后紧跟的即是MAC地址(如 00:1a:2b:3c:4d:5e)。
  • 查看指定网卡
    ip link show eth0 | grep link/ether | awk '{print $2}'

方法2:使用 ifconfig 命令(传统方式)

若系统未预装,可通过 net-tools 包安装(sudo apt install net-toolssudo yum install net-tools):

ifconfig
  • 输出示例
    eth0: ... ether 00:1a:2b:3c:4d:5e ... 
  • 关键字段ether 后为MAC地址。
  • 仅显示MAC地址
    ifconfig eth0 | grep ether | awk '{print $2}'

方法3:通过 /sys 文件系统(无需安装工具)

Linux内核通过虚拟文件系统 /sys 暴露硬件信息:

cat /sys/class/net/eth0/address
  • 直接输出00:1a:2b:3c:4d:5e
  • 适用场景:脚本自动化或精简环境(如Docker容器)。

方法4:使用 ethtool 工具(查看永久MAC地址)

某些网卡支持动态MAC地址(如虚拟化环境),ethtool 可查看硬件固化的永久地址:

sudo ethtool -P eth0
  • 输出示例Permanent address: 00:1a:2b:3c:4d:5e
  • 注意:需安装 ethtool 包(sudo apt install ethtoolsudo yum install ethtool)。

方法5:通过 nmcli(NetworkManager用户适用)

若系统使用NetworkManager管理网络:

nmcli device show eth0 | grep GENERAL.HWADDR
  • 输出示例GENERAL.HWADDR: 00:1A:2B:3C:4D:5E

常见问题解答(FAQ)

  1. 为什么MAC地址显示为 ff:ff:ff:ff:ff:ff
    通常表示网卡未激活或驱动异常,尝试启用网卡:

    sudo ip link set eth0 up
  2. 如何区分多个网卡?
    使用 ip linkls /sys/class/net/ 列出所有网卡名称(如 eth0wlan0)。

  3. MAC地址被随机化(如Wi-Fi)?
    某些系统(如NetworkManager)默认启用”cloned MAC”以保护隐私,关闭方法:

    nmcli connection modify "Your-WiFi-Name" wifi.cloned-mac-address permanent
  4. 虚拟机或容器中MAC地址不一致?
    虚拟网卡的MAC由宿主机分配,通过 virsh edit 虚拟机名 或容器配置查看真实值。


注意事项

  • 权限要求:除 /sys 外,其他命令可能需要 sudo 权限。
  • 一致性ip linkifconfig 显示当前生效的MAC地址,ethtool 显示硬件固化地址。
  • 临时修改:MAC地址可通过 sudo ip link set dev eth0 address 00:11:22:33:44:55 临时更改(重启失效)。

引用说明基于Linux内核文档(kernel.org/doc)、iproute2 官方手册(man7.org/linux/man-pages/man8/ip.8.html)及NetworkManager文档(developer.gnome.org/NetworkManager)综合整理,确保信息准确可靠。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5453.html

(0)
酷番叔酷番叔
上一篇 2025年6月23日 22:29
下一篇 2025年6月23日 22:51

相关推荐

  • Linux系统如何安装Apache服务器?

    Apache HTTP Server(简称Apache)是世界上最流行的Web服务器软件之一,因其稳定性、安全性和强大的可扩展性被广泛应用于Linux系统中,本文将详细介绍在主流Linux发行版(如Ubuntu/Debian和CentOS/RHEL)中安装、配置和测试Apache的完整步骤,帮助用户快速搭建We……

    2025年9月25日
    10700
  • 怎样让手机电池寿命延长一倍?

    Bash脚本是Linux/Unix系统的命令行解释器,用于自动化系统管理、任务处理和程序执行,它通过解释命令实现高效操作,是系统管理员和开发者提升工作效率的必备工具,灵活且功能强大。

    2025年7月21日
    10000
  • Linux系统下通过FTP协议上传文件的具体步骤是什么?

    在Linux系统中,通过FTP(File Transfer Protocol)上传文件是常见的操作,尤其适用于跨平台文件传输场景,以下是详细的Linux FTP文件上传操作指南,涵盖环境准备、连接方法、上传命令及常见问题处理,安装FTP客户端工具Linux系统通常默认未安装FTP客户端,需手动安装,常用工具包括……

    2025年9月30日
    8800
  • 如何在/etc/fstab中添加新行?

    在Linux系统中挂载CD/DVD光盘是一个基础且实用的操作,无论您是备份数据、安装软件还是读取媒体内容,都需要掌握此技能,以下是详细步骤及注意事项,遵循Linux最佳实践,确保操作安全可靠,挂载前的准备工作确认CD驱动器状态插入光盘后,执行以下命令检查设备是否被识别:lsblk输出示例(通常CD设备名为 sr……

    2025年7月24日
    9000
  • linux 上如何安装系统下载软件

    Linux 上,可通过软件仓库管理工具(如 apt、yum)安装系统下载软件

    2025年8月16日
    9200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信