Como adicionar entrada arp para uma sub-rede inteira (/ 16)?

1

Eu gostaria de adicionar uma entrada ARP para uma sub-rede inteira ( 10.50.0.0/16 ).

Eu tentei: arp -v -i p4p1 -s 10.50.0.0 MAC_OF_P4P2 netmask 255.255.0.0 pub

Mas o comando retorna:

arp: SIOCSARP()
SIOCSARP: Invalid argument

Não há problema se eu adicionar um por um: arp -v -i p4p1 -s 10.50.0.1 MAC_OF_P4P2

Existe alguma maneira de fazer o que eu quero?

Algo como: arp -v -i p4p1 -s 10.50.0.0/16 MAC_OF_P4P2

História:

Eu tenho 3 interfaces: eth0 , p4p1 e p4p2 .

p2p1 e p2p2 estão conectados por meio de um dispositivo, mas digamos como um fio.

Temos vários servidores com A.B.x.x na rede que está conectada a Eth0 .

No sistema, gostaria de acessar A.B.x.x :

  1. Através de Eth0 diretamente: ping A.B.X.X sem problemas , faz automaticamente

  • Através de p2p1 - > %código% - > external device/wire e, em seguida, redirecionar para p2p2 : Eth0
  • Nesse caso, preciso criar IPs virtuais ping 10.50.X.X que serão iguais a 10.50.0.0/16 , mas através das interfaces A.B.0.0/16 .

    Os pacotes precisam manter p4p* como origem / destino de IP, somente quando atingir 10.50.x.x , o IP será traduzido para eth0 .

    Vamos fazer isso passo a passo.

    1. Eu roteio A.B.X.X para minha interface 10.50.0.0/16 : p4p1 .

    = > p4p1 não sabe ip route add 10.50.0.0/16 dev p2p1

    Eu preciso definir uma entrada ARP para vincular Who has 10.50.0.152? Tell 10.0.0.1 a 10.50.0.0/16 .

        
    por Alexis_FR_JP 20.02.2018 / 04:38

    1 resposta

    0

    O que você está tentando fazer é configurar uma rota. Sua pergunta não diz se essa sub-rede 10.50.0.0/16 existe no dispositivo de destino ou atrás do dispositivo de destino, mas isso realmente não importa. No que diz respeito à sua máquina, elas são exatamente as mesmas.

    Quando você adiciona uma rota à sua tabela de roteamento, o que você está dizendo é rotear todo o tráfego da sub-rede de destino para o endereço MAC do dispositivo com o IP fornecido. Por exemplo, com ip route add 10.50.0.0/16 via 1.2.3.4 , quando seu sistema precisar falar com qualquer máquina em 10.50.0.0/16 , procurará o endereço MAC para 1.2.3.4 e enviará o tráfego para esse endereço MAC. Em nenhum lugar no pacote de saída ele tem o endereço IP 1.2.3.4 .

    Assim, sua solução é simples:

    ip route add 10.50.0.0/16 via 1.2.3.4
    

    ^ onde 1.2.3.4 é o IP do dispositivo que possui esse endereço MAC 00:XX:XX:XX:XX:XX . Se você tem várias interfaces na mesma sub-rede (o que provavelmente é uma má ideia, mas nem sempre), você pode especificar a interface de saída:

    ip route add 10.50.0.0/16 via 1.2.3.4 dev p2p1
    
        
    por 20.02.2018 / 15:04

    Tags