为什么我的电脑上显示的mac地址都一样呢?

为什么我的电脑上显示的mac地址都一样呢?

我使用系统板上的 2 个以太网接口,eth0 / eth1(USB 转以太网),如下所示。

root@E3-RDP:~# ifconfig
eth0 Link encap:Ethernet HWaddr ae:a1:99:48:86:79
inet addr:10.10.0.171 Bcast:10.10.0.255 Mask:255.255.255.0
inet6 addr: fe80::aca1:99ff:fe48:8679/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:532 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:36510 (36.5 KB) TX bytes:972 (972.0 B)
Interrupt:114

eth1 Link encap:Ethernet HWaddr 00:0e:c6:87:72:01
inet addr:10.10.0.176 Bcast:10.10.0.255 Mask:255.255.255.0
inet6 addr: fe80::20e:c6ff:fe87:7201/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:94 (94.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3336 (3.3 KB) TX bytes:3336 (3.3 KB)

当我在电脑上检查系统的 mac 地址(eth0/eth1)时,这些地址与下面的相同。

C:\Users\andy>arp -a IP MAC ADDR Type
10.10.0.1 90-9f-33-a8-20-14 dynamic
10.10.0.171 ae-a1-99-48-86-79 dynamic
10.10.0.176 ae-a1-99-48-86-79 dynamic
10.10.0.186 60-a4-4c-35-1a-dd dynamic

我应该检查什么来解决这个问题?

在我的系统上,ping 测试(eth1)失败。

root@E3-RDP:~# ping -I eth1 10.10.0.173
PING 10.10.0.173 (10.10.0.173) from 10.10.0.176 eth1: 56(84) bytes of data.
From 10.10.0.176 icmp_seq=1 Destination Host Unreachable
From 10.10.0.176 icmp_seq=2 Destination Host Unreachable
From 10.10.0.176 icmp_seq=3 Destination Host Unreachable
From 10.10.0.176 icmp_seq=4 Destination Host Unreachable
From 10.10.0.176 icmp_seq=5 Destination Host Unreachable
From 10.10.0.176 icmp_seq=6 Destination Host Unreachable
^C
--- 10.10.0.173 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6007ms
pipe 3

但是通过eth0进行ping测试是正常的。

root@E3-RDP:~# ping 10.10.0.173
PING 10.10.0.173 (10.10.0.173) 56(84) bytes of data.
64 bytes from 10.10.0.173: icmp_seq=1 ttl=128 time=2.40 ms
64 bytes from 10.10.0.173: icmp_seq=2 ttl=128 time=0.327 ms
64 bytes from 10.10.0.173: icmp_seq=3 ttl=128 time=0.459 ms
64 bytes from 10.10.0.173: icmp_seq=4 ttl=128 time=0.727 ms
64 bytes from 10.10.0.173: icmp_seq=5 ttl=128 time=0.403 ms
64 bytes from 10.10.0.173: icmp_seq=6 ttl=128 time=0.528 ms
^C
--- 10.10.0.173 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5000ms
rtt min/avg/max/mdev = 0.327/0.808/2.406/0.725 m

我认为错误识别的mac地址导致ping测试错误(eth1)。

我想要用eth1实现TCP客户端。

谢谢。

答案1

eth1实际上并不“可用”。不要将命令输出中的“UP”与接口的实际状态混淆。您应该看到RUNNING,就像 中的一样eth0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

在我看来,诸如ip link show和之类的命令ip addr show可以提供更清晰的网络接口状态。

这里对正在发生的事情有一个很好的解释:

IFF_RUNNING应该反映网络接口的运行状态,而不是其管理状态。举个例子,以太网接口可能UP由管理员带来(例如 ),但如果未插入电缆,ifconfig eth0 up则不会将其视为运行状态(即 根据 RFC2863)。RUNNING

无论如何,您需要重新检查,eth1因为它似乎已关闭。ip link show会是一个好的开始,但很可能它目前尚未启动,或者您遇到了布线问题,尤其是您似乎有一台物理机器。

答案2

两个接口都位于同一个子网 10.10.0.0/24 中。如果您使用 检查路由表,route -n您将看到同一子网的 2 个条目,但要使用不同的接口。接口在列表中eth0位于 之前eth1。因此,即使数据包通过 IP 地址发送到此主机eth1,来自此主机的数据包也会通过接口 返回此子网。这就是您在表中看到两个 IP 地址具有相同 MAC 地址eth0的原因。arp

我想您可以尝试使用静态路由或 IP 表来执行此操作。

可以使用ethtool命令检查接口状态。

相关内容