Ejecutar dos servidores DHCP en la misma red

9

He conectado mi raspberry pi con un punto de acceso inalámbrico y me gustaría ejecutar un servidor DHCP en el RPi para asignar la IP y la puerta de enlace correctamente. Esto se debe a que el RPi sirve como puerta de entrada a una VPN. Desafortunadamente, el punto de acceso también ejecuta un servidor DHCP que no puedo desactivar por alguna razón. ¿Cuál es la mejor manera de obtener automáticamente la configuración correcta de la propagación de RPi a todos los usuarios de wifi?

bonanza
fuente

Respuestas:

13

Pregunta divertida Básicamente, si tiene dos servidores DHCP en la misma LAN, habrá una carrera para repartir las direcciones, y no puede estar seguro de quién gana: puede terminar con algunas direcciones atendidas por la frambuesa, algunas por el AP y un dispositivo único, una vez desconectado, no vuelve a obtener la misma dirección que antes. O, lo que es peor, puede tener dos dispositivos con la misma dirección.

Por lo tanto, es una buena idea bloquear uno de los dos. Lo más fácil es lo siguiente:

  1. Primero, asegúrese de que los rangos de los que extraen direcciones no se superpongan : puede tener 192.168.1.11-74 para uno, 192.168.1.139-202 para el otro. Al menos, esto evita conflictos.

  2. Ahora evitamos que el AP sirva direcciones IP a clientes cableados. Supongamos que el AP está conectado a la frambuesa en eth1 , entonces el siguiente comando funcionará:

    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  
    

Hemos terminado. Dos comentarios:

DHCP usa los puertos 67 y 68, en el protocolo UDP; al bloquear la comunicación en estos, está evitando que las solicitudes de DHCP de clientes conectados lleguen al servidor de DHCP en el AP; así, los clientes conectados serán atendidos solo por la frambuesa.

En segundo lugar, debe enchufar el AP directamente en la frambuesa (sé que la frambuesa solo tiene un puerto ethernet, que ya está en uso: puede comprar un adaptador de USB a Ethernet, y su frambuesa tendrá una segunda tarjeta ethernet). La razón es que si conecta el AP a un conmutador, las solicitudes y respuestas de DHCP llegarán / vendrán del AP, sin pasar por la frambuesa, por lo que el comando iptables será inútil.

EDITAR:

Olvidé decir que la regla de iptables anterior también evita que las solicitudes dhcp fluyan desde el AP a la frambuesa, por lo que la situación que tiene ahora es que la frambuesa proporciona la dirección DHCP en el rango 192.168.1.0xx a los clientes conectados, mientras que Las direcciones en el rango 192.168.1.1xx son proporcionadas por el AP a los clientes wifi. Al menos, esto es ordenado.

MariusMatutiae
fuente
¡Gracias! Pero esto significa que no puedo hacer nada con respecto a los clientes conectados a través de wifi al AP, ¿verdad?
bonanza
2
@bonanza Miedo: todo el tráfico de clientes inalámbricos a Ap nunca pasa por la frambuesa, ni solicitudes ni respuestas. Por lo tanto, no hay forma de bloquearlo: todo tiene lugar dentro del AP.
MariusMatutiae