我在我工作的代码库中看到了以下行代码:
ip addr | grep 'inet .*global' | cut -f 6 -d ' ' | cut -f1 -d '/' | head -n 1
我想了解作为网络接口属性的一部分的“全局”属性是什么意思?
我希望我在正确的地方问这个问题...
非常感谢,Matan
答案1
您是否想过只运行该线路?
$ ip addr | grep 'inet .*global'
inet xx.xx.xx.xx/24 brd xx.xx.xx.255 scope global eth0
因此,我们在这里讨论的是界面的“范围”,这个术语你可以直接谷歌搜索,最终你可能会得到这里,解释
下表概述了范围的可能值。
Table C.2. IP Scope under ip address 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)
范围通常由 ip 实用程序确定,而无需在命令行上明确使用。例如,127.0.0.0/8 范围内的 IP 地址属于本地主机 IP 范围,因此不应路由出任何设备。这解释了绑定到接口 lo 的地址的主机范围的存在。通常,其他接口上的地址是公共接口,这意味着它们的范围将是全局的。当我们讨论使用 ip route 进行路由时,我们将再次回顾范围,在那里我们还会遇到链接范围。