Executando dois servidores DHCP na mesma rede

9

Conectei meu raspberry pi com 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 consigo desativar por algum motivo. Qual é a melhor maneira de obter automaticamente as configurações corretas do spread RPi para todos os usuários de wifi?

bonança
fonte

Respostas:

13

Pergunta divertida. Basicamente, se você tiver dois servidores DHCP na mesma LAN, haverá uma corrida para distribuir endereços e você não terá certeza de quem vence: você pode acabar com alguns endereços servidos pela framboesa, alguns pela AP e um um único dispositivo, uma vez desconectado, não obtém novamente 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 dos quais eles extraem 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, impedimos que o AP sirva endereços IP para clientes com fio. Suponha que o AP esteja conectado à framboesa em eth1 , e 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  
    

Acabamos. 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 alcancem o servidor DHCP no ponto de acesso; assim, os clientes conectados serão atendidos apenas pela framboesa.

Segundo, você deve conectar o AP diretamente ao raspberry (eu sei que o raspberry possui apenas uma porta Ethernet, que já é usada: você pode comprar um adaptador USB-Ethernet, e o seu raspberry terá uma segunda placa Ethernet). O motivo é que, se você conectar o ponto de acesso a um switch, as solicitações e respostas de DHCP chegarão / virão do ponto de acesso, sem passar pelo raspberry, portanto, o comando iptables será inútil.

EDITAR:

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

MariusMatutiae
fonte
Obrigado! Mas isso significa que não posso fazer nada em relação aos clientes conectados via wifi ao AP, certo?
Bonanza
2
@bonanza Com medo: todo o tráfego de clientes sem fio para o Ap nunca passa pela framboesa, nem solicitações nem respostas. Portanto, não há como bloqueá-lo: tudo acontece dentro do AP.
MariusMatutiae