如何理解 ifconfig 或 ip addr show (的输出)

如何理解 ifconfig 或 ip addr show (的输出)

ifconfig命令会向您转储大量信息,特别是如果您有很多接口,并且您不知道它们来自哪里。我已读完“Ifconfig 命令 - 详细解释”教程页面,其中提供了大部分信息的详细概述ifconfig。但它并没有包含我想要的所有信息(而且这篇文章在 2006 年发布后也可能已经过时)。

使用ip addr show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 08:00:27:e2:80:18 brd ff:ff:ff:ff:ff:ff
   inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0 valid_lft forever preferred_lft forever

我发现解析一些输出很困难。

  • 在下面eth0
    • <…>描述……接口功能?不确定在哪里可以找到全套选项,不确定它们叫什么,不知道该用谷歌搜索什么。还有什么其他选择?
    • state UP– 我知道还有state DOWNstate RUNNING。这些都是软件构造,对吧?当我跑步时,身体上没有任何变化ip link set dev eth0 down,对吧?那么当这种状态发生变化时,内核会如何采取不同的行为呢?这种状态会改变吗?
    • group default– 接口组。他们解决的独特问题是什么?
  • 在下面inet
    • 这是什么scope global意思? – 私有IP如何具有全球范围?我缺少什么?

该命令输出的语法是什么?

答案1

以下是我已经可以解析的部分,供有相同问题的其他人参考。

  • eth0是接口名称。它可以是任何字符串:
    • mtu 1500 最大传输单元= 1500 字节,这是通过该接口发送的帧的最大大小。该数量通常受到以太网协议上限 1500 的限制。如果您发送较大的数据包并且它到达以太网接口,则该帧将被分段,其有效负载将在两个或多个数据包中传输。这实际上没有任何好处,所以最好遵循标准。
    • qdiscpfifo_fast排队规则=先进先出的三个管道。这决定了接口在过载时如何选择接下来传输哪个数据包。
    • group default接口组通过组合客户端上聚合接口的功能,为客户端提供单个接口。
    • qlen 1000传输队列长度 = 1000 个数据包。第 1000 个数据包将排队,第 1001 个数据包将被丢弃。
  • link/ether表示链路层协议为以太网:
    • brd意思是广播。这是设备在发送广播时设置为目的地的地址。接口可以看到它所在线路上的所有流量,但足够礼貌,只能读取发送给它的数据。对接口进行寻址的方式是使用其特定地址或广播地址。
  • inet表示网络层协议是internetipv4)。inet6意味着 IPv6。
    • lft代表一生。如果您通过以下方式获得此地址动态主机配置协议,那么您的 IP 地址租约就有有效的生命周期。只是为了让交接更容易一点,(可能)更短首选寿命。

答案2

从主机的角度来看,具有全局范围的地址是全局的,即它们不限于主机或本地链路。如果地址落在 RFC1819(专用互联网地址分配)中指定的范围内,主机并不关心,也不做任何不同的事情。 “私有”地址仅按照惯例是私有的。主机不关心哪个路由器进行 NAT,也不关心从私有地址到公共地址的地址转换距主机有多少跳。此外,您也可以使用其他地址实现 NAT。

相关内容