
Eu tenho um problema típico de "a pode executar ping em b, mas b não pode executar ping em a". Eu uso IPv6 para o ping. O que é especial no meu caso é que "b" pode executar ping em "a" imediatamente após "b" executar ping em "a". Após alguns testes, percebi que tudo funciona bem se eu especificar a interface de rede que deve ser usada com "-I eth0" (sim, duas interfaces na máquina Linux estão na mesma sub-rede). Eu ainda gostaria de entender o que muda quando a máquina "b" retorna e gostaria de receber algum conhecimento especializado. O ping com IPv4 funciona bem em ambas as direções. Se eu interromper o ping de "b", "a" ainda poderá executar ping em "b", até que eu pare com Ctrl-C. Tentar novamente falha mesmo se eu tentar imediatamente, então acredito que não seja um problema de upcache. Algumas informações:
Máquina "a"
SO: Windows (adicionado "ICMPv6" nas exceções para firewall)
Endereço IPv6: fe80::21c:1cff:fe00:3de3
Máquina "b":
SO: Linux Busybox
Endereço IPv6: fe80::21c:1cff:fe00:3de4
Tentei os binários "ping" e "ping6"
Responder1
Com
endereços IPv6 locais de link
você sempre precisa especificar a interface. A razão é que o mesmo bloco de endereço (prefixo) é usado em todas as redes: O endereço fe80::21c:1cff:fe00:3de3
só é exclusivo em um link específico (interface). Em um link diferente, o mesmo endereço pode ser usado para um dispositivo completamente diferente.
Por causa disso, os endereços locais de link geralmente não são muito úteis para uso manual, pois você precisa especificar a interface sempre. No outro computador, o nome da interface pode ser diferente, então você não pode simplesmente enviar a alguém um link com um endereço, já que você não sabe qual é o nome da interface desse link.
Para evitar a especificação da interface, você precisaria de endereços IPv6 "reais" com um escopo global que pudesse ser roteado.
Você pode, por exemplo, usar https://cd34.com/rfc4193/, onde você insere um endereço MAC e ele fará os cálculos e retornará um bloco de endereços IPv6 para usar.
No seu caso, depois que um computador fez ping no outro, seu endereço IPv6 e sua interfaceeram conhecidos pelo computador de destino, para que ele pudesse retornar.