Você precisa
ip neigh replace dev wlan0 to 10.0.0.2 lladdrr 00:0c:29:c0:94:bf nud permanent
para definir uma entrada permanentemente.
Não consigo reproduzir o efeito que você descreve.
Deixe-me começar por dizer que sou relativamente novo em redes, por isso perdoe a minha ignorância e corrija quaisquer erros no meu pensamento, lacunas no meu conhecimento ou suposições incorretas.
Estou experimentando a configuração de entradas de cache arp estáticas no Linux e usando o tcpdump / Wireshark para monitorar o tráfego e ter notado algo estranho. Normalmente, quando eu crio uma entrada para um determinado endereço IP e, em seguida, faço ping para esse IP, não vejo solicitações ARP de saída, o que eu espero é que o endereço MAC esteja sendo determinado a partir do meu cache local.
No entanto, isso não é verdade para o endereço IP do gateway. Especificamente, quando eu crio uma entrada ARP para o endereço IP do gateway / roteador e, em seguida, participo da rede, vejo solicitações arp de saída de minha máquina perguntando sobre o endereço MAC do gateway. É como se meu cache ARP estivesse sendo ignorado / ignorado. Por que é isso? Ou não estou entendendo alguma coisa?
O comando que usei para criar entradas ARP é:
sudo arp -s 10.0.0.2 00:0c:29:c0:94:bf
Eu também tentei
sudo ip n replace dev wlan0 to 10.0.0.2 lladdrr 00:0c:29:c0:94:bf
UPDATE: também estou vendo esse comportamento no OSX. O comando que estou usando para criar novas entradas de arp é:
sudo arp -S 10.0.0.2 00:0c:29:c0:94:bf ifscope en0
Você precisa
ip neigh replace dev wlan0 to 10.0.0.2 lladdrr 00:0c:29:c0:94:bf nud permanent
para definir uma entrada permanentemente.
Não consigo reproduzir o efeito que você descreve.
Tags networking tcpdump arp wifi