Como configurar uma entrada ARP estática / persistente com o OpenWRT 14.07, Barrier Breaker?

5

O título diz tudo, mas aqui está a versão longa:

Estou tentando configurar uma maneira de ativar automaticamente o meu servidor inicial usando o WakeOnLan, quando um cliente tenta acessá-lo. Minha idéia é que o roteador (OpenWRT 14.07, Barrier Breaker) monitore todas as tentativas de conexão ao host que eu quero acordar usando iptables e, no caso dele registrar tal evento, ele envia o pacote mágico para ativar o host. Depois de muita tentativa e ajuda em SF, consegui que o iptables trabalhasse para o dispositivo em ponte e, portanto, para a rede local ( veja aqui ).

Infelizmente, eu me deparei com o problema de que, se o host estiver desligado, nenhuma entrada ARP existe para ele e, portanto, os clientes locais não enviarão pacotes, quando não conseguirem resolver o IP (se Eu entendi o problema corretamente). Para clientes externos que acessam da internet, funciona.

Se eu entendi corretamente, a solução deve ser criar uma entrada ARP estática, para que o roteador responda a quaisquer solicitações e, em seguida, os clientes enviem seus pacotes. Seguindo este eu tentei usar o ip neigh add 192.168.1.20 lladdr 00:de:ad:be:ef:00 nud permanent dev br-lan e a execução arp vejo uma entrada para o servidor, mas ainda não funciona.

Confirmei que, quando o servidor está ligado ou foi desligado recentemente (alguns minutos antes), os clientes fazem enviar pacotes, que são registrados por iptables .

Então as perguntas são:

1) O que estou fazendo de errado?

2) Como obtenho uma entrada ARP estática / persistente na?

    
por packoman 15.06.2015 / 19:17

2 respostas

2

A maneira correta de ter entradas ARP estáticas é configurar um arquivo externo, geralmente chamado / etc / ethers, com o formato:

   00:11:22:33:44:55 192.168.1.2
   aa:bb:cc:dd:ee:ff 192.168.1.3

e assim por diante, para adicionar a seguinte linha

   post-up arp -f /etc/ethers

(Eu não sei o iproute2 equivalente a arp -f , mas este comando ainda funciona no kernel 14.04) Na estrofe para o br-lan interface no arquivo / etc / network / interfaces .

Quanto ao porquê seu comando; Eu não sei, parece ok para mim. Qual é o nome da sua interface em ponte? No seu exemplo, é br-lan , você deve ter mudado de acordo com suas necessidades.

    
por 15.06.2015 / 19:59
2

Eu consegui usar

ip neighbor replace 192.168.0.1 lladdr 11:22:33:44:55:66 nud permanent dev eth0

ou se não for solicitado já

ip neighbor add 192.168.0.1 lladdr 11:22:33:44:55:66 nud permanent dev eth0

Para definir o endereço IP para o endereço MAC.

    
por 25.02.2017 / 03:06