Executando dois servidores DHCP na mesma rede

9

Conectei meu pi do raspberry a um ponto de acesso sem fio e gostaria de executar um servidor DHCP no RPi para atribuir o IP e o gateway corretamente. Isso ocorre porque o RPi serve como um gateway para uma VPN. Infelizmente, o ponto de acesso também executa um servidor DHCP que não posso desativar por algum motivo. Qual é a melhor maneira de obter automaticamente as configurações corretas do RPi para todos os usuários de Wi-Fi?

    
por bonanza 10.09.2014 / 07:02

1 resposta

12

Pergunta divertida. Basicamente, se você tem dois servidores DHCP na mesma LAN, haverá uma corrida para distribuir endereços, e você não pode ter certeza de quem ganha: você pode acabar com alguns endereços servidos pelo framboesa, alguns pelo AP, e um único dispositivo, uma vez desconectado, não re-obtendo o mesmo endereço de antes. Ou, pior, você pode ter dois dispositivos com o mesmo endereço.

Portanto, é uma boa ideia bloquear um dos dois. O mais fácil é o seguinte:

  1. Primeiro, verifique se os intervalos de onde eles desenham os endereços não se sobrepõem : você pode ter 192.168.1.11-74 para um, 192.168.1.139-202 para o outro. Pelo menos, isso evita conflitos.

  2. Agora, evitamos que o AP forneça endereços IP a clientes com fio. Suponha que o AP esteja conectado ao framboesa em eth1 , então o seguinte comando fará:

    sudo iptables  -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
    sudo iptables  -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP  
    

Nós terminamos. Dois comentários:

O DHCP usa as portas 67 e 68, no protocolo UDP; bloqueando a comunicação, você está impedindo que solicitações DHCP de clientes com fio cheguem ao servidor DHCP no AP; assim, os clientes com fio serão servidos apenas pela framboesa.

Em segundo lugar, você deve conectar o AP diretamente ao framboesa (eu sei que o framboesa tem apenas uma porta ethernet, que já é usada: você pode comprar um adaptador USB para Ethernet, e seu framboesa terá uma segunda placa ethernet). O motivo é que, se você conectar o AP a um switch, as solicitações e respostas do DHCP chegarão / sairão do AP, sem passar pelo framboesa, portanto, o comando iptables será inútil.

EDITAR:

Esqueci de dizer que a regra iptables acima também impede que as solicitações dhcp fluam do AP para o framboesa, de modo que a situação que você tem agora é que o endereço DHCP no intervalo 192.168.1.0xx seja fornecido pelo framboesa para conectado clientes, enquanto os endereços na faixa 192.168.1.1xx são fornecidos pelo AP aos clientes wifi. Pelo menos, isso é ordenado.

    
por 10.09.2014 / 08:33