Fundamentos de rede: qual IP é atribuído a uma NIC se não houver negociação bem-sucedida do DHCP?

1

Em computadores com Windows, quando há um servidor sem DHCP localizado na interface de rede, ele recebe um endereço IP como:

169.254.x.x

Por isso, você pode encontrá-lo na rede usando ferramentas como:

# netdiscover -i eth0 -r 169.254.0.0/16

Para dispositivos incorporados em rede , como roteadores ou pontos de acesso, geralmente os encontro:

# netdiscover -i eth0 -r 192.168.0.0/16

Mas eu não sei qual faixa de IPs deve ser usada para computadores Linux .
Parece que não há nenhum, por exemplo:

$ ifconfig
eth3      Link encap:Ethernet  HWaddr 00:01:c0:15:64:b3
          UP 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)

Qual intervalo, se houver , é atribuído no Linux a uma placa de interface de rede quando o DHCP não foi executado?

O que eu poderia usar para:

  • Conectando-se remotamente a dispositivos ou computadores sem saber seu IP. Por exemplo, em dispositivos modernos incorporados capazes de executar distribuições completas do Linux, como o RaspBerry, para aqueles casos em que você não está nas proximidades de um servidor DHCP.
por Sopalajo de Arrierez 09.08.2015 / 08:05

1 resposta

2

A versão atual do IP tem endereços "zeroconf" incorporados. Se o IPv6 estiver ativado, em geral deve haver um endereço de link local. Você não pode digitalizar para isso, pois os endereços IPv6 são muito grandes. Você deve ser capaz de assistir a endereços automáticos quando você liga o dispositivo, pois o kernel irá sondar para garantir que nenhum outro dispositivo tenha o mesmo endereço. Você pode usar o Wireshark ou talvez tcpdump para procurar os pacotes de sondagem. Isso é chamado de detecção de endereço duplicado (DAD) e usa ICMPv6.

Quando você se conecta a esse endereço, você também precisará especificar a interface de rede, por exemplo, fe80::1 + eth0 = fe80::1%eth0 . Nos navegadores da web, acho que você tem que colocar a coisa toda entre colchetes.

Tradicionalmente, o endereço de link local será derivado do endereço MAC. Se você puder ler o endereço MAC de um rótulo no dispositivo, também poderá calcular o endereço local do link IPv6.

Infelizmente, esses endereços não funcionarão com a resolução tradicional de nomes de links do Linux. (Avahi não suporta ipv6 para isso e eu não acho que o samba também. Systemd-resolved é melhor no ipv6).

    
por 09.08.2015 / 11:33