Servidor NodeJs con pfSense ¿ se puede ?
-
@brujonic Hola, mil gracias por la respuesta.
Seguí tus recomendaciones hasta lo de configurar los DNS (ya digo porque), me fue perfecto.
-
Cambié la IP de mi router a 192.168.7.2
-
La LAN del pfSense la dejé en 192.168.7.1 con el servicio DHCP activado (192.168.7.100 - 102.168.7.150)
-
La WAN del pfSense se configura por DHCP y queda igual en
v4 /DHCP4: 192.168.1.103 también le puse los DNS 1.1.1.1 y 1.0.0.1 que reo que así los puso el vecino en su router, porque cuando me conecto por DHCP aparecen así. -
En la laptop la IP del wireless está fija junto con los DNS.
jaja no sabia que se podía copiar y pegar imágenes aquí.
A todo eso pude arreglar el tema del internet y el comportamiento del portal cautivo en los dispositivos que se conectan a mi router.
-
- El ultimo punto y por el que empezado el tema, el servidor web supongo no podré usar los dos servidores pfSense y NodeJs en el mismo equipo. Es buena la idea de virtualizar otro sistema que me corra aparte el NodeJs, pero creo que mi laptop no aguantaría otro sistema ya solo dispongo de 2GB de Ram y 1.4GHz x2 de procesador, el pfSense le asigne apenas 580mb de RAM en el VirtualBox, y hasta ahora no he tenido problemas con el Windows 10, puedo hacer otros trabajos mínimos como abrir el navegador y visual Studio Code.
Supongo que tendré que buscar otro equipo y trabajar el servidor web y dejar el pfSense independiente.
-
-
Lee lo que te puse, NO debe tener IP fija tu laptop porque obtiene la IP por DHCP, no controlas el router y si el router de la persona quien te comparte internet, le da la misma IP a otro dispositivo, van a presentarse problemas.
Si pusiste pfSense, quiere decir que tenes tu propia red con LAN interna y por lo tanto, hay otros dispositivos. Ahí te quedan 2 opciones:
- Si vas a usar una red aparte, es mejor separes tu proyecto en un equipo dentro de la LAN tal y como te lo dije SIN VIRTUALIZAR para que se acaben tus problemas.
- Jugar con el firewall del pfSense para crear una regla de apertura para la WAN e igual con el firewall de windows donde está tu proyecto, para que entren de la LAN a por la WAN, lo cual servirá siempre y cuando la IP de la laptop se mantenga y eso es variable.
Por lo tanto, es mejor usar la opción 1.
-
@brujonic Oye, con "Si vas a usar una red aparte, es mejor separes tu proyecto en un equipo dentro de la LAN", quieres decir que le de una IP a ese equipo con el servidor que esté dentro del rango del DHCP del pfSense? ósea 192.168.7.105.
-
@smokescreen CORRECTO.
-
Muy buenas espero que estén pasando bien estas navidades, le doy las gracias a @BrujoNic por su gran ayuda con respecto al funcionamiento del software pfSense que ha mejorado con su orientación, pero aún de mi parte no he podido concluir la idea que plantee desde un principio.
He estado buscando tutoriales en YouTube que son muy buenos, pero no creo que alguno lo pueda poner en practica, pienso que será porque me falta los equipos como los swicth y maquinas adicionales para que puedan correr los servidores, que a ser diferente mi situación económica actual sería correcto ir adquiriéndolos, en mi caso solo dispongo de una laptop (2GB ram y 1.4GHz x2 de procesador) y un router hogareño.
También he visto muchas otras preguntas relacionadas (con temas de servidores web algo parecidas a mi caso) en este foro, tal vez en su mayoría son ya de hace 8 a 10 años atrás, donde usuarios ya experimentados aconsejan y aseguran que es mejor dejar el pfSense trabajado independiente en una maquina por "temas de seguridad en la red o porque es una mala practica para un proyecto en entorno de producción", pero no dan orientación de como se podría trabajar lo planteado sin importar x razón o simplemente no se puede dando explicación de porque no.
Sugerencias de usar TurnKey Linux un sistema que tiene todo lo necesario para correr únicamente servicios como NodeJs y se puede virtualizar, viéndolo parece que me viene como anillo al dedo, sin embargo algo que nunca mencioné es que mi proyecto en NodeJs trabaja también con MySql y al parecer TurnKey solo puede ser instalado un servicio, no se si se puede instalar mySql junto con NodeJs, voy a probarlo y les comento.
Hasta ahora pienso que debería seguir buscando alternativas porque todavía nadie me ha dicho que es imposible.
A todo esto voy a poner aquí abajo un esquema de mis equipos y configuraciones, donde pregunto.
-
¿que otras configuraciones debo hacer para que mi servidor web que está alojado en la misma laptop pueda accederse desde el router 2?.
-
se puede usar el dispositivo que marqué en rojo para este fin? lo instala el virtualbox por defecto y no tiene ninguna entrada física en la laptop.
Si se puede , ¿cual sería el procedimiento para configurar ese dispositivo y el pfSense?.
- mi servidor web tiene el puerto 4000 (el cual puedo cambiar si es necesario), debo crear alguna regla en el pfSense para poder acceder a mi servidor web desde el router 2?
-
-
Buenos días gente, he logrado hacer que mi servidor web pueda ser accedido.
https://www.youtube.com/watch?v=Ma2G_9PXS5I&t=1621s
Aunque está en portugués pude comprender un poco, usé el mismo procedimiento como si fuese de una maquina virtual solo que usé como equipo a parte el adaptador que instala el VirtualBox por defecto.
- Le asigné una ip al adaptador (como si de una maquina independiente fuese).
La puerta de enlace y la DNS son la misma IP que se le va a asignar a la nueva interface del pfSense.
- Creé un tercer adaptador en el VirtualBox para el pfSense
- Al iniciar el pfSense activé la nueva interfaz.
Ahora en la interfaz grafica del pfSense agregué nuevas reglas a esa interfaz (DMZ) tal como indica en el video.
-
Creé primero un alias DMZ_web_server de tipo host, en "Ip o IQDN" coloqué la IP del dispositivo que configuré en un principio (172.17.0.11).
-
Una regla de protocolo ICMP, "source" single host or alias, "source address" DMZ_web_server, "Destination" DMZ address.
cloné la regla
- Regla de protocolo UDP, "Destination" (activé el invert match) LAN net, "destination port range" DNS(53)
volví a clonar
- Regla de protocolo TCP (No sé nada pero yo lo coloque en Any, porque pienso que podría bloquear alguna función interactiva del fontend con el backend de mi web)
La regla de HTTPs yo no la puse porque mi web es local y todavía no he estudiado mucho sobre los certificados SSL/TLS.
Ordené las reglas como en el video por si hay alguna interferencia por jerarquía.
Lo ultimo que hice fue cambiar el puerto de mi servidor a 80 ya que en el 4000 tengo que indicarlo en el navegador para que pueda ingresar.
Ahora si puedo ingresar la ip de mi servidor web que sería la 127.17.0.11 y ver mi pagina.
Voy a buscar mas a ver porque en el portal cautivo al autenticarse no me redirecciona a la pagina, si no que me dice que no ha sido encontrado 404 not found, me imagino que debe ser algo del servidor DNS.
-
@smokescreen Gracias por el agradecimiento, pero estamos para ayudarnos en lo que podamos. Además, los consejos que te he dado, no han sido de pfSense y puede que te dé una mejor solución, pero tendrías que olvidarte del pfSense por completo.
Viendo tu esquema de red, te podría dar 3 soluciones FUNCIONALES al 100% y económico. Esto implicaría comprar un router al que le podas alterar el firmware con DD-WRT para obtener mayores funcionalidades o dejarlo con su firmware pero que sea ROUTER con su entrada WAN/Internet y no como en tu caso que es un CPE Router porque el internet lo toma por línea ADSL y antes no se le podía desactivar eso, por lo que SIEMPRE pasaba buscando internet cargando el procesador.
Haciendo eso, tu escenario podría ser el siguiente:
-
Si quien te comparte internet, es de pared a pared o muy cerca y no te va a dar problema por conectar más de un equipo, podrías usar tu actual router ZXHN H108N, le pones cualquier IP como 10.0.0.1 y le desactivas el DHCP. Pasas un cable desde tu vecino al router y en el resto de los puertos ethernet o por la red inalámbrica de tu router, conectas otros equipos. De esta forma, tendrías una sola red y con sólo el nombre de tu laptop:puerto, deberías poder entrar al NodeJs o con la IP: Puerto.
-
Comprar un repetidor básico que tenga conexión ethernet para que lo ligues al router de tu vecino por wireless y por medio del cable de red del repetidor, lo conectes a tu router para tener la red de tus equipos.
-
Comprarte un router que permita la alteración del firmware que trae de fábrica por alguno como el DD-WRT, para que cuando tenga el DD-WRT, lo configures para que por medio de 1 antena se conecte al router de tu vecino por red inalámbrica y por medio de la otra antena, tengas tu propia red con tu rango de IPs diferente. De esa forma, le pones una IP fija a tu laptop dentro de tu rango de IPs interna y al estar los otros equipos en la misma red, podrías hacer las pruebas de tu NodeJs.
Todo lo anterior involucra NO usar el pfSense, es simple y funcional. En mi caso, utilizo un Linksys Cisco E900 con DD-WRT para tener una red de pruebas aparte.
Espero te sirva estos consejos, ya que tu problema y dudas, se podrían resolver con pfSense, pero al ver lo limitado que estas de recursos, creo que lo mejor es que hagas lo que te sugiero.
Saludos.
-
-
Hola @BrujoNic, creo que no me has entendido lo que quiero hacer, lo que me propones es para poder acceder a mi pagina web desde mi router wifi, cosa que ya he hecho simplemente dándole a mi laptop la IP y la puerta de enlace de mi router y con ello consigo acceder a mi pagina web desde cualquier dispositivo que se conecte por WIFI, de hecho hasta he configurado las DNS de mi router para poder darle un dominio, el aparato si es adsl pero también es un router, cumple las dos funciones y si se le puede deshabilitar el adsl y funcionar por ethernet.
ahí seguro que me dirás "¿Entonces cual es el problema?", el problema es que yo no quiero probar mi proyecto, para eso hago lo anterior, quiero presentar mi proyecto a otras personas de una forma intuitiva:
conectarse a mi wifi > entrar al navegador > buscar algo.com (o cualquier pagina, de hecho todo lo que tipeen en el buscador) > y que esto lo redireccione a mi pagina web.
Eso es todo, sin internet, seguridad, ni como está formado los equipos de la red, por ahora es solo para presentar un proyecto de backend y frontend así que nada de eso importa.
Pienso que el pfSense me puede ayudar porque con el portal cautivo consigo que cualquier dispositivo que se conecte a mi wifi lo redireccione al portal, ahora que tengo que hacer para que haga lo mismo con mi pagina web? ya mi servidor web esta en la red de pfSense y cuando busco el 172.17.0.11 me lleva a el, pero no consigo como el portal cautivo me redireccione a esa dirección.
-
@smokescreen Te comprendí muy bien, sólo estoy tomando en cuenta tus recursos que son pocos. Pero si no comprendes lo que te digo y te funciona lo que has hecho, entonces obvia lo que te dije.
Saludos. -
Feliz fin de año a todos y que la pasen bien.
Después de investigar mas sobre las reglas del firewall, el portal cautivo, dns resolver y sobre las Zonas desmilitarizadas (DMZ), pude solucionar el problema de la redirección del portal hacia mi servidor web, tuve que borrar algunas reglas anteriores que en mi caso no son importantes.
Luego de configurar la interfaz de la DMZ, darle acceso a la red LAN con las reglas del firewall, le di un dominio a la ip del servidor WEB con el DNS resolver y en el portal cautivo en "after authentication redirect" colocar ese dominio, tuve como resultado que cada usuario que se conecte a mi router pueda ser redireccionado al portal cautivo y de ahí autenticarse con solo hacer click al botón que está por defecto del pfsense (Que con un poco de css, html y no puede faltar javascript voy a cambiarle el estilo con respecto a mi proyecto) de ahí ser redireccionado a mi pagina web al fin.
Bueno no del todo, mis pruebas se limitaron a dispositivos móviles en el cual no me ha dado el resultado que pienso que debería dar, ya que por lo menos en android al conectase de manera intuitiva (no por el navegador si no por un programa que desconozco) me lleva al portal para autenticarme, clikeo el botón y me redirecciona automáticamente a mi pagina web pero al pasar 1 o 2 segundos se cierra el programa que abre el portal cautivo y claro por ende ya me deja navegar e ingresar de nuevo a mi pagina web, pero ya saben tengo que abrir el navegador y tipear la url, la idea es que se quede en la pagina que me redireccionó ósea en mi pagina web.
Me imagino que en otros sistemas operativos diseñados para computadoras eso no debería pasar ya que el usuario tendría que abrir el navegador, buscar algo y por naturaleza del pfsense ser redireccionado al portal cautivo, y como ya está en el navegador este no tiene porque cerrarse como me pasó a mi en el celular.
Solo me queda arreglar eso y bueno, tal vez me aventure a buscar manera que los usuarios no busquen otra cosa fuera de mi servidor web, que ya con una regla de firewall les quito el acceso a internet pero me gustaría que fuesen redireccionados al mismo si eso pasa.
Buenas noches.