这更像是对我理解的确认,我有一台 Linux 服务器,我想知道它有多少个 IP 地址和多少个 NIC,所以我使用了ifconfig
命令,现在我看到下面的输出。
[hagrawal@dc4cmb ~]$ /sbin/ifconfig -a | grep HWadd
eth0 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
eth0:1 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
eth0:2 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
eth0:3 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
eth1 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5A
eth2 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5C
eth3 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5E
[hagrawal@dc4cmb ~]$
问题:
- 这是否意味着我的服务器总共有 4 个 NIC,即 eth0、eth1、eth2 和 eth3?
- 这是否意味着第一个 NIC 有 4 个关联的 IP 地址?
- 如果以上是真的那么这就是你所说的“IP 别名”?
现在,下面是同一系统上的另一个输出:
[hagrawal@dc4cmb ~]$ /sbin/ifconfig -a | grep "inet addr"
inet addr:172.24.200.160 Bcast:172.24.203.255 Mask:255.255.252.0
inet addr:172.24.200.211 Bcast:172.24.203.255 Mask:255.255.252.0
inet addr:172.24.200.213 Bcast:172.24.203.255 Mask:255.255.252.0
inet addr:172.24.200.214 Bcast:172.24.203.255 Mask:255.255.252.0
inet addr:127.0.0.1 Mask:255.0.0.0
[hagrawal@dc4cmb ~]$
问题:
- 我没有粘贴完整的输出,但我可以告诉你上面的 IP 地址来自“eth0”、“eth0:1”、“eth0:2”和“eth0:3”,所以这是否意味着我唯一的第一个网卡即“eth0”连接到网络,而其他 3 个网卡即“eth1”、“eth2”和“eth3”未连接到网络,但是只需出现在我的 Linux 服务器主板上?
完整日志:
[hagrawal@dc4cmb ~]$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
inet addr:172.24.200.160 Bcast:172.24.203.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:925589674 errors:0 dropped:0 overruns:0 frame:0
TX packets:976952984 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:247406781407 (230.4 GiB) TX bytes:359023543671 (334.3 GiB)
Interrupt:123 Memory:a4000000-a4011100
eth0:1 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
inet addr:172.24.200.211 Bcast:172.24.203.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:123 Memory:a4000000-a4011100
eth0:2 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
inet addr:172.24.200.213 Bcast:172.24.203.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:123 Memory:a4000000-a4011100
eth0:3 Link encap:Ethernet HWaddr 55:3E:A2:04:82:58
inet addr:172.24.200.214 Bcast:172.24.203.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:123 Memory:a4000000-a4011100
eth1 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5A
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:178 Memory:f2000000-f2012800
eth2 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5C
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:226 Memory:f8000000-f8012800
eth3 Link encap:Ethernet HWaddr 55:3E:A2:04:82:5E
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:234 Memory:f6000000-f6012800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4969897596 errors:0 dropped:0 overruns:0 frame:0
TX packets:4969897596 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1378529138243 (1.2 TiB) TX bytes:1378529138243 (1.2 TiB)
[hagrawal@dc4cmb ~]$
请不要回答如果您不是 100% 确定并且不是 AN/W 专家,因为我已经很困惑了,而且我不想变得更加困惑或者最终得到错误的信息。
答案1
用于ip addr
显示地址,而不是 ifconfig。ifconfig 命令使用的是已弃用的接口,可能会欺骗您。另请参阅ip link
和其他ip
相关命令。
这是否意味着我的服务器总共有 4 个 NIC,即 eth0、eth1、eth2 和 eth3?
这个问题有点难回答。网络接口控制器可以有多个端口。您把 4 端口网络接口控制器算作单个 NIC 还是 4 个 NIC?鉴于您的接口的 4 个 mac 地址几乎完全相同,我敢打赌您安装了四端口控制器,或者主板上有四端口控制器。
如果你真的想知道身体的控制器,你应该看看输出lshw
,而不是ifconfig
或ip link
具有更多逻辑设置的视图。单个物理接口可用于多个虚拟接口。因此,仅查看 ifconfig 的输出不一定能让您真正了解系统,因为使用 Linux,您可以做非常复杂和不寻常的事情。
这是否意味着第一个 NIC 有 4 个关联的 IP 地址?
不一定,但可能。不幸的是,您的 grep 删除了一些有助于回答该问题的信息。
IP 别名”?
IP 别名是一种早期的有点黑客的方法,它允许内核将多个 IP 与单个接口关联。ifconfig
如果您使用别名方法,二进制文件将只看到多个地址。但是,如果您使用较新的ip addr
工具,则可以将其分配为地址,而无需处理别名。在较新的内核中,“别名”甚至不再是真正的别名。它们只是与接口关联的另一个 IP,并且还具有关联标签。
如果您运行,ip addr show dev eth0
可能会看到与该接口/端口关联的所有~4 个地址。