obtendo ip em wlan0 mas o roteador mostra que está conectando via eth0

1

Estou tentando conectar meu Raspberry Pi (Modelo B, Revisão 2.0) ao meu roteador usando um dongle USB. usando raspi-config, parece funcionar no lado do pi, ifconfig rende:

    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

mas olhando para o meu roteador, parece que ambos os endereços IP estão relacionados à porta ethernet:

    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 

isso é realmente estranho, já que ambas as interfaces estão no status "verde", mas o IP do Wi-Fi é atribuído à Ethernet de alguma forma.

se eu desconectar o cabo da LAN, o endereço desaparecerá e o pi ficará inacessível.

** Testei o USB em outro Pi (Pi 2) e funciona bem

atualização 1

é rasibian

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

cat / etc / network / interfaces (não mudou isso)

    # 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

atualização 2

isso está ficando ainda mais estranho, olhando mais de perto meus dispositivos conectados ao roteador, vejo o pi recebendo o IP em wifi, então o mesmo endereço IP se move para a ethernet - confuso

    
por Yossi Beck 30.04.2018 / 08:47

1 resposta

0

Não posso responder com certeza sem uma investigação real, mas aqui está o meu palpite:

  1. Quando o roteador, ou algum outro host na LAN, tenta alcançar 10.100.102.221 , ele envia uma consulta ARP para esse endereço, solicitando a tradução para o endereço MAC. (A consulta em si é transmitida, pois, é claro, o endereço MAC ainda não é conhecido . )

  2. A Ethernet e a rede Wi-Fi do seu roteador são conectadas em uma única sub-rede e em um domínio de broadcast. Assim, a mesma consulta de difusão atinge o Raspberry em todas as interfaces pertencentes à rede (eth0 e wlan0).

  3. No Linux (e em muitos outros sistemas operacionais), acredita-se que os endereços IPv4 pertençam ao host ao invés da interface, então o Raspberry responde a todos consultas recebidas - mesmo que não seja a interface que contém o endereço.

  4. O roteador recebe as duas respostas do ARP: uma pela Ethernet, reivindicando 10.100.102.221 is at b8:27:eb:c2:e8:a4 e uma pela Wi-Fi, reivindicando 10.100.102.221 is at 00:36:76:55:54:a2 . Como a Ethernet geralmente tem menor latência do que o Wi-Fi, a primeira resposta chega mais rápido e é isso que o roteador armazena em seu cache ARP.

  5. A tabela do roteador parece ser construída com base no conteúdo do cache ARP e no cache do host de ponte, e como as respostas do ARP para ambos os endereços IP chegaram mais rapidamente via Ethernet, elas são mostradas na porta Ethernet.

No Linux, o comportamento no ponto # 3 pode ser alterado via sysctl:

sysctl net.ipv4.conf.all.arp_ignore=1
    
por 30.04.2018 / 09:10