在 wlan0 上获取 ip 但路由器显示它正在通过 eth0 连接

在 wlan0 上获取 ip 但路由器显示它正在通过 eth0 连接

我正在尝试使用 USB 加密狗将我的 Raspberry Pi(型号 B,修订版 2.0)连接到我的路由器。使用 raspi-config,它似乎在 pi 端工作,ifconfig 产生:

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.100.102.188  netmask 255.255.255.0  broadcast 10.100.102.255
            inet6 fe80::c33b:ae6:8b40:dc28  prefixlen 64  scopeid 0x20<link>
            ether b8:27:eb:c2:e8:a4  txqueuelen 1000  (Ethernet)
            RX packets 158  bytes 19362 (18.9 KiB)
            RX errors 0  dropped 1  overruns 0  frame 0
            TX packets 133  bytes 20949 (20.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.100.102.221  netmask 255.255.255.0  broadcast 10.100.102.255
            inet6 fe80::a0e7:13f2:ba6e:cf2b  prefixlen 64  scopeid 0x20<link>
            ether 00:36:76:55:54:a2  txqueuelen 1000  (Ethernet)
            RX packets 214  bytes 39050 (38.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 45  bytes 5948 (5.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

但查看我的路由器,似乎两个 IP 地址都与以太网端口相关:

    Hostname IP address                       MAC address        Type             Port
    pi-1     10.100.102.221 10.100.102.188    b8:27:eb:c2:e8:a4  Ethernet         3
    pi-1                                      00:36:76:55:54:a2  Wireless-2.4GHz 

这真的很奇怪,因为两个接口都处于“绿色”状态,但 wifi IP 却以某种方式分配给以太网。

如果我断开 LAN 电缆,两个地址都会消失,并且 pi 将无法访问。

** 我在另一台 Pi(Pi 2)上测试了 USB,运行正常

更新 1

这是拉西比安

uname -a 
Linux pi-1 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l GNU/Linux

cat /etc/network/interfaces (没有改变)

    # interfaces(5) file used by ifup(8) and ifdown(8)

    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

lsb_release

    No LSB modules are available.
    Distributor ID: Raspbian
    Description:    Raspbian GNU/Linux 9.4 (stretch)
    Release:        9.4
    Codename:       stretch

更新 2

这变得越来越奇怪了,仔细观察我的路由器连接设备,我发现 pi 在 wifi 上获取了 IP,然后相同的 IP 地址移动到了以太网 - 令人困惑

答案1

如果没有实际调查的话我无法确定地回答,但这是我的猜测:

  1. 当路由器或 LAN 上的其他主机尝试访问时,10.100.102.221它会向该地址发送 ARP 查询,请求转换为 MAC 地址。(查询本身是广播的,因为 MAC 地址当然是未知的然而。

  2. 路由器的以太网和 Wi-Fi 桥接为单个子网和一个广播域。因此,相同的广播查询会到达属于网络的所有接口(eth0 和 wlan0)上的 Raspberry。

  3. 在 Linux(以及许多其他操作系统)上,IPv4 地址被认为属于主持人而不是接口,所以树莓派响应全部收到查询 – 即使它不是保存地址的接口。

  4. 路由器收到两个 ARP 回复:一个通过以太网,声明10.100.102.221 is at b8:27:eb:c2:e8:a4,另一个通过 Wi-Fi,声明10.100.102.221 is at 00:36:76:55:54:a2。由于以太网的延迟通常比 Wi-Fi 低,因此第一个回复到达得更快,而路由器会将这个回复存储在其 ARP 缓存中。

  5. 路由器的表似乎是根据其 ARP 缓存和桥接主机缓存的内容构建的,并且由于两个 IP 地址的 ARP 回复通过以太网更快地到达,因此它们显示在以太网端口下。

在 Linux 上,可以通过 sysctl 更改第 3 点中的行为:

sysctl net.ipv4.conf.all.arp_ignore=1

相关内容