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

相关推荐

  • 如何安装linuxgrant

    nux中安装grant通常需先确保相关数据库服务运行,通过相应命令或工具赋予用户特定

    2025年8月17日
    11400
  • 分区会清空Win7数据?

    选择适合的安装方案双系统共存(推荐)Linux与Windows 7分别安装在不同分区,开机时通过引导菜单选择系统,优势:独立运行互不干扰,硬件性能完全释放,注意:需预留至少20GB磁盘空间(建议50GB+),虚拟机安装(安全方案)使用VirtualBox/VMware在Win7内创建虚拟环境运行Linux,适用……

    2025年7月16日
    13900
  • 调试工具怎么用更高效?

    在Linux系统中,共享对象文件(Shared Object, .so)是动态链接库的核心组件,广泛应用于程序模块化开发,调试.so文件对解决运行时崩溃、符号冲突、内存泄漏等问题至关重要,以下是专业且高效的调试方法,结合工具使用和实战技巧:GDB(GNU Debugger)附加进程调试 gdb -p <P……

    2025年7月26日
    14800
  • 如何快速安装AUR助手yay?

    在Arch Linux上安装Adobe Flash Player需要特别注意:Adobe已于2020年12月31日正式终止对Flash Player的支持,不再提供安全更新,继续使用存在严重安全风险,建议优先使用HTML5等现代替代技术,若因特殊需求必须安装,以下是详细方法:安装前重要警告安全风险:Flash……

    2025年7月5日
    14400
  • 如何添加一行将域名指向本地或服务器IP?

    在Linux系统中绑定域名是将域名指向服务器IP地址的关键步骤,确保用户通过域名访问网站,以下是详细操作指南,涵盖主流Web服务器配置和注意事项:绑定域名前的准备工作域名与DNS解析在域名注册商(如阿里云、GoDaddy)后台添加 A记录,将域名指向服务器公网IP(example.com → 192.0.2.1……

    2025年7月7日
    18200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信