如何理解ifconfig或ip addr show

Ari*_*ler 13 ifconfig

ifconfig命令会向您转储大量信息,尤其是当您有很多接口而您不知道它们来自哪里时。我已经通读了这个教程页面,它对ifconfig. 但它不包含我想要的所有信息(也可能过时 12 年)。

使用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
Run Code Online (Sandbox Code Playgroud)

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

  • eth0
    • <...>描述...接口功能?不确定在哪里可以找到完整的选项集,不确定它们叫什么,不知道要谷歌什么。其他选项是什么?
    • state UP- 我知道还有state DOWNstate RUNNING。这些都是软件结构,对吧?当我跑步时ip link set dev eth0 down,身体上没有任何变化,对吧?那么当这个状态发生变化时,内核会如何不同呢?这个状态会改变吗?
    • group default- 接口组。他们解决的独特问题是什么?
  • 在下面 inet
    • 什么scope global意思 - 私有 IP 如何具有全局范围?我错过了什么?

Ari*_*ler 18

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

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


Joh*_*éen 5

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