Linux网卡状态查看

博文背景

想知道ip a命令的输出都是什么意思,过于简单的如mtu、mac地址和广播地址我就不解释了

具体操作

重要文档
https://baturin.org/docs/iproute2/
http://web.archive.org/web/20220807073512/http://www.policyrouting.org/iproute2.doc.html
https://lartc.org/howto/

详解开始

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:34:c3:3b brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.8.128/24 metric 100 brd 192.168.8.255 scope global dynamic ens33
       valid_lft 1025sec preferred_lft 1025sec
    inet6 fe80::20c:29ff:fe34:c33b/64 scope link
       valid_lft forever preferred_lft forever

尖括号里面有up并且后面的state也有up那么为什么会有两个up呢?

请看https://superuser.com/questions/1463162/unknown-state-of-network-interface

这里提到网卡分为管理状态和运行状态

为了方便理解,我们断开虚拟机的网卡连接

vmware adapter

查看网卡状态

state down

会发现左边是up但是右边是down的状态

NO_CARRIER(大写)是一条从调制解调器发送到它所连接的设备(通常是计算机)的短信,表明调制解调器没有(或不再)连接到远程系统。

参考 https://en.wikipedia.org/wiki/NO_CARRIER

尖括号里面的东西叫网络设备的状态标识(net_device_flags)

参考 https://man7.org/linux/man-pages/man7/netdevice.7.html

BROADCAST:表示网卡有广播地址
MULTICAST:表示网卡可以发送多播包
UP:表示网卡处于启动的状态
LOWER_UP:网卡连接正常,就是网卡已经上电

参考 https://www.cnblogs.com/qgdtq/p/15350333.html

group指的是Link groups are similar to port ranges found in managed switches. You can add network interfaces to a numbered group and perform operations on all the interfaces from that group at once.Links not assigned to any group belong to group 0 (“default”).

参考 https://baturin.org/docs/iproute2/#ip-link-group

qdisc和qlen指的是Linux 操作系统中的流量控制器 TC (Traffic Control) 用于Linux内核的流量控制,它规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。qdisc(队列规则,queueing discipline)是 Linux 流量控制系统的核心。实际就是一个队列上面附加的排队规则,下文有时也直接称为队列。
qdisc其实就是一个调度器,每个网络接口都会有一个调度器,qdisc会根据调度器的规则重新排列数据包进入队列的顺序。qlen我暂且简单理解成队列的长度,可能有误,读者自行斟酌。
请看 https://blog.youkuaiyun.com/qq_44577070/article/details/123967699
参考 https://tldp.org/en/Traffic-Control-HOWTO/ar01s04.html

inet指的是Internet protocol family
参考 https://unix.stackexchange.com/questions/545462/what-does-inet-stand-for-in-the-ip-utility

link/loopback和link/ether指的应该就是网卡类型,具体没有找到权威解释

scope指的是

Scope | Description
global | valid everywhere
site | valid only within this site (IPv6)
link | valid only on this device
host | valid only inside this host (machine)

Scope is normally determined by the ip utility without explicit use on the command line. (…)

The scope of a route in Linux is an indicator of the distance to the destination network. The scope of an IP address is an indicator of how far from the local host the address is known, which, to some extent also tells you how far the owner of that address is from the local host (…).

Host: An address has a host scope when it is used only to communicate within the host itself. Outside the host this address is not known and can not be used. An Example is the loopback address, 127.0.0.1

Link: An address has a link scope when it is meaningful and can be used only within a LAN. An example is a subnet’s broadcast address.

Global: An address has global scope when it can be used anywhere. This is the default scope for most addresses. (…)

The main reason to use scopes seems to be that a host with multiple interfaces and addresses has to decide when to use which address. For communication with itself a loopback address (scope host) can be used. With communication elswhere, a different address has to be selected.

参考 https://serverfault.com/questions/63014/ip-address-scope-parameter

vaild_lft和preferred_lft指的是
Autoconfigured IPv6 global unicast addresses acquire their valid and preferred lifetime assignments from RAs. A valid lifetime is the time period during which an address is allowed to remain available and usable on an interface. A preferred lifetime is the length of time an address is intended for full use on an interface, and must be less than or equal to the address’s valid lifetime.
参考 https://techhub.hpe.com/eginfolib/networking/docs/switches/WB/16-01/5200-0135_wb_2920_ipv6/content/ch01s15.html

虽然针对ipv6的,但是有时候ipv4也会出现这玩意,有关ipv4我没找到详细资料但道理应该差不多。
根据 https://phoenixnap.com/blog/ipv4-vs-ipv6 显示对于ipv4这个概念并不适用。

<think> 我们正在讨论Linux系统中查看网卡状态的方法。根据引用[1]的提示,我们知道查看网卡信息在Linux中非常重要,但用户明确询问的是“查看网卡状态”,这包括网卡的连接状态、速度、错误计数等。 在Linux中,常用的命令有`ifconfig`(传统工具)和`ip`(现代工具)以及`ethtool`(用于查看和设置网卡参数)。 然而,用户特别提到的是“状态”,因此我们需要重点展示网卡的连接状态(是否连接)、活动状态(是否在传输数据)、速度等。 步骤: 1. 使用`ip link show`命令查看网卡的基本状态(包括是否UP,是否启用)。该命令会显示所有网络接口的状态。 2. 使用`ethtool`命令可以查看更详细的状态,比如连接状态(是否连接了网线)、速度、双工模式等。 另外,也可以使用`ifconfig`查看,但注意`ifconfig`在一些新系统中可能没有预装,推荐使用`ip`命令。 具体命令示例: - 查看所有网卡的基本状态:`ip link` - 查看特定网卡的详细状态:`ethtool <网卡名>` (例如:`ethtool eth0`) 注意:需要root权限才能运行`ethtool`(或者普通用户有sudo权限)。 因此,我们可以这样回答: 在Linux系统中查看网卡状态,可以使用以下方法: 1. 使用`ip link show`命令查看网卡的链路状态(可以看到是否UP,是否处于运行状态)。 2. 使用`ethtool <interface>`命令查看指定网卡的详细状态(例如连接状态、速度、双工模式等)。 例如,查看网卡eth0的状态: ``` $ ip link show eth0 $ sudo ethtool eth0 ``` 此外,还可以使用`ifconfig <interface>`(如果安装了net-tools)来查看,但该命令输出的信息可能不如`ethtool`详细。 另外,我们还可以通过查看系统日志文件(如`/var/log/syslog`或`dmesg`)来获取网卡状态变化的信息。 生成相关问题: 1. Linux中如何启用或禁用网卡? 2. 如何使用`ethtool`修改网卡的速度和双工模式? 3. 如何查看网络接口的统计信息(如数据包传输错误)? </think> ### Linux系统中查看网卡状态的方法 在Linux系统中,查看网卡状态有以下几种常用方法(需要终端权限): #### 1. **`ip link show` 命令**(推荐) ```bash ip link show ``` - **显示信息**:网卡名称(如`eth0`、`ens33`)、MAC地址、状态(`UP`/`DOWN`)、MTU值 - **关键状态标识**: - `state UP`:网卡已启用 - `state DOWN`:网卡已禁用 #### 2. **`ethtool` 命令**(需安装) ```bash ethtool <网卡名> # 例如:ethtool eth0 ``` - **显示信息**: - 连接状态:`Link detected: yes/no` - 传输速度:`Speed: 1000Mb/s` - 双工模式:`Duplex: Full` - 错误统计:`RX/TX errors` #### 3. **`ifconfig` 命令**(传统工具) ```bash ifconfig -a ``` - **显示信息**:IP地址、数据包统计(`RX/TX packets`)、错误计数(`errors`)、状态标志(`UP`/`RUNNING`) #### 4. **系统文件查看**(实时状态) ```bash cat /sys/class/net/<网卡名>/operstate # 例如:cat /sys/class/net/eth0/operstate ``` - **输出**:`up`(活动)或 `down`(未活动) #### 示例输出解读 ```bash $ ip link show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:8a:d7:5a brd ff:ff:ff:ff:ff:ff ``` - **`state UP`**:网卡已启用 - **`LOWER_UP`**:物理链路正常[^1] > ⚠️ 注意:部分命令需要 `root` 权限或 `sudo`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值