Failover DHCP
-
Hola a todos:
Soy nuevo con pfsense. Me decidí por él ya que me da todas las funcionalidades que necesito y sobre todo tras leer el estupendo manual desarrollado por Josep Pujadas.
La cuestión es que tengo dos pfsense funcionando en modo failover (seguí el tutorial de la web oficial de pfsense). El sistema funciona bastante bien, tengo tres interfaces de red: una para LAN, otra para WAN y otra más para sincronización CARP. Tanto en WAN como en LAN he definido una IP virtual (en cada caso) que "flota" entre ambos nodos cuando alguno de ellos cae. Además de manera increible, solo se pierde un par de pings cuando uno de los nodos cae. Hasta aquí todo bien. El problema viene con el servicio de DHCP, también en modo failover (siguiendo las instrucciones de ese manual de la web oficial). El escenario es el siguiente. Si el nodo1 (en modo master) asigna una ip a un cliente, esta se almacena en la tabla de leases, que es transferida al nodo2. Esta tabla contiene una correspondencia con el hostname al que ha sido concedida la IP (y este dato también se sincroniza entre nodos ya que tengo marcada la opción "Register DHCP leases in DNS forwarder" en ambos así como la regla de sincronización de "DNS Forwarder" en "CARP Settings". El problema viene si cae el nodo1, en ese momento la IP Virtual pasa al nodo2 y si haces ping a cualquiera de los hosts que han recibido ip del serv. dhcp cuando el master era el nodo1, este no resuleve bien la IP de estos hosts; en este caso el DNS forwarder reenvía la petición a los DNS públicos que se han definido en el "General Setup" y la resolución de la IP no es la correcta… Da la sensación de que ignora la correspondencia del hostname asignado en la tabla de leases.
He de indicar que en el servidor dhcp le tengo puesto que los clientes reciban como puerta de enlace y como DNS la IP virtual (CARP) de la interfaz LAN.
¿Alguien tiene alguna idea de que puedo estar haciendo mal?
Para simplificar todo, y mientras no funcione tengo reglas de permitir todo en todas las interfaces (para descartar que el firewall esté jugandome una mala pasada.
Gracias
-
¡Hola!
¡Felicidades por la instalación! Creo que eres el primero en el fórum en castellano de hablar de CARP …
Por lo que tengo entendido has resuelto bien el problema, poniendo una interfase específica para CARP.
Desgraciadamente no he tenido ocasión de probar una instalación como la tuya. Te sugiero postees el mensaje en el fórum en inglés, a ver si alguien más se ha encontrado con el problema.
Antes de hacerlo puedes realizar una búsqueda en http://forum.pfsense.org por CARP DHCP
Se me ocurre que si el problema es la resolución DNS igual podrías forzar las IPs de los DNS para las estaciones en el servidor DHCP:
DNS servers
NOTE: leave blank to use the system default DNS servers. This option is handy when your doing CARP+DHCP Failover, etc.Algo me dice que quizás sea esto …
Saludos,
Josep Pujadas
-
Muchas gracias bellera
Te he hecho caso y he posteado en el foro en inglés. Tras varios días en los que no había recibido respuesta, ha contesdao "sulrrich", que digo yo que será Scott Ulrrich. Viene a decir que ha detratarse de un bug…
http://forum.pfsense.org/index.php/topic,7156.0.html
Ya os contaré como se resuelve la cosa.
Saludos!!
-
alopez, avisame si lo solucionaste que estoy interesado en este tema. Yo he armado un esquema de pruebas de CARP failover en dos pc un poco viejitas que se encuentran a su vez detras de otro Pfsense que funciona de router/firewall todo funciona perfecto salvo por un inconveniente que no puedo entender el motivo, y es que en los clientes no puedo configurarlos para que usen los DNS con la ip virtual LAN de los Pfsense en CARP/failover, ya que si le pongo esa ip no resuelven los nombres de dominio, por ahora los tengo funcionando utilizando los DNS del Pfsense firewall/router y funciona perfecto.
Todavia tengo que seguir con las pruebas y les cuento bien como termina todo. En caso de que todo salga bien, me gustaria poder subir el esquema completo de routers/firewalls Pfsense que funcionaran a modo de "cascada" para poder balancear 6 conexiones a internet de diversas tecnologias (3 ADSL, 2 CABLEMODEM, 1 WIMAX) y de distintos proveedores. Asimismo estos pfsense estaran duplicados con CARP/failover para garantizar un alto nivel de redundancia, el total de servidores Pfsense a instalar sera de 6 como firewall/router y 8 como proxy. Tambien me falta probar el balanceo de carga en los 4 routers de la perisferia y en los 2 routers de distribucion central, asi como tambien tengo que probar el CARP/failover de los pfsense funcionando como proxy.En breve les cuento como me fue!
-
Hola maxi:
Pues te cuento, tal y como me indicaba Scott Ulrrich se trata de un bug, abrí un ticket en el cvstrac que no ha sido resuelto aún.
Lo que comentas de que no resuelve los nombres de dominio, te cuento: A mí como forwarder me funciona bien, lo que no hace es resolver los nombres de hosts para las máquinas que han obtenido la IP (por DHCP) desde el otro nodo del CARP. Es decir, la tabla dhcp.leases es compartida (o más bien sincronizada) por ambos nodos que componen el CARP pero la tabla que almacena los registros DNS locales parece ser que no, ese es el bug (creo yo). No obstante, la resolución DNS funciona perfectamente (poniendo como DNS en los clientes la IP virtual del cluster) excepto esta situación que explico.
Como digo, no hay solución, de momento, para esto.
Por otro lado, yo he probado el proxy (instalando el paquete SQUID) en mi sistema redundado y no funciona si indico en mi navegador, como proxy la IP virtual (puerto 3128, que es el que aquid usa por defecto). Esto es un problema a medias, ya que lo he solucionado con un archivo "proxy.pac" en el que le indico al navegador los distintos proxys disponibles en la red.
Lo de no poder acceder al puerto 3128 de la IP virtual quizá sea algo relacionado con alguna regla de firewall no abierta, pero tampoco lo he mirado en profundidad. Si consigues tú conectar con el proxy vía IP virtual dímelo pues me interesa.
Saludos
-
FUNCIONO!!!
Lo pude hacer andar (al proxy digo) configurando las aplicaciones para que pasen por la ip virtual de la red LAN, pero con un truco que no me convence. Como mi idea era instalar PfSense con proxy con CARP/Failover lo que hice fue quitar la opción para que sincronize las reglas NAT, de forma tal que en cada uno de los PfSense le generé una regla de redireccionamiento del puerto 3128 para que todo el tráfico cuyo origen sea "la_ip_virtual" desde el puerto 3128 lo redirija a "la_ip_NAT_del_Pfsense" hacia el puerto 3128. O sea que cada uno de los PfSense tienen una regla de redireccionamiento de puerto que apunta hacia si mismos.
No se si se entendió bien, pero de esta forma logré hacer funcionar el proxy apuntandole a la ip virtual de la red LAN, y cuando se cae el servidor primario se levanta el secundario con su propia regla de direccionamiento del puerto 3128 y anda perfecto!!
Lo que me confundió un poco fue el tema del proxy.pac, podrás postear el ejemplo de tu proxy.pac aca?
Saludos
-
Hola maxi:
Primero de todo disculpa el retraso, es que en estas fechas…
En cuanto a lo que me preguntas, he abierto un topic aparte ya que ese tema quizá se escape un poco al failover dhcp. El topic al que me refiero es: http://forum.pfsense.org/index.php/topic,7367.0.html
Espero que te sirva