none
Habilitar acceso remoto a SQL Server, a través de una Ip Publica

    Question

  • Hola amigos, tengo la siguiente pregunta, serían tan amables de orientarme un poco? 

    Esta es el panorama.

    Actualmente en la empresa en donde trabajo, se está pensando en desarrollar software para medir la productividad de los empleados.

    Esta gama de software incluye desde aplicaciones de escritorio hasta pequeñas aplicaciones móviles. 

    En esta empresa tenemos 2 servidores, 1 servidor corre Microsoft Windows Server 2008 R2 (acá está instalada la base de datos que se piensa utilizar) y el otro servidor es Linux ( es el encargado de administrar cuentas de correo, el sitio web de la empresa,.

    La pregunta que tengo es la siguiente: Existe la posibilidad de que pueda conectarme a una base de datos sql server remotamente gracias a la IP pública con la que cuenta la empresa.

    Yo en mi poca experiencia, no conozco mucho, ¿abrá otra forma de lograr esto?

    Muchas gracias por sus consejos y recomendaciones.

    Un Saludo!


    Juan Alberto

    Thursday, January 31, 2013 1:14 AM

Answers

All replies

  • Para lograrlo debes tener conocimientos medio-avanzados. No involucra practicamente configuracion del Windows o de SQL Server, es mas bien una tarea de Networking, si tienes los conocimientos podras hacerlo, si no, seria muy dificil ayudarte porque no conocemos la topologia fisica de tu red, ni como estan configurados.

    Para orientarte un poco, lo que necesitas es usar el NAT, el router, firewall (sea este software o hardware) que tiene configurada la IP publica, se debe encargar de redireccionar una peticion que entre por un puerto (normalmente el 1433 de sql server) a otra pc (tu servidor) ya que el 25, 685 y otros puertos de correos lo "natea" al servidor de correos..

    Que se puede lograr,  se puede, solo necesitas a alguien que sepa de redes.

    Thursday, January 31, 2013 2:05 AM
  • Tal vez para darle otra explicación (no es que la de Ronald esté incorrecta, nada más me parece que apunta a un caso particular que podría no ser el suyo):

    SQL Server tiene la habilidad de comunicarse con otras PC's a través de 2 métodos de comunicación inter-procesos (creo que son 3, pero me parece que la tercera nadie la usa):  Conexión vía sockets TCP/IP y algo que se llama named pipes.  Si no conoce de pipes es mejor que ni piense en eso; pasemos entonces a sockets.  Como bien dice Ronald, SQL Server por defecto opera en el puerto 1433 cuando es una instancia por defecto (sin nombre), pero si tiene nombre el puerto suele ser otro.  Normalmente se suele usar puertos dinámicos y entonces los clientes de SQL Server primero le preguntan al SQL Browser (un servicio de Windows, parte de SQL Server) por el número de puerto de la instancia que buscan.  Si mal no recuerdo, SQL Browser trabaja en el puerto 1434.

    Le menciono finalmente que SQL Server puede escuchar en una o más conexiones de red.  Si el servidor tiene múltiples adaptadores de red, pues usted tiene múltiples direcciones IP y usted puede configurar SQL Server para aceptar conexiones de uno o más de estos adaptadores.

    Ahora bien, si uno de esos adaptadores es una IP pública, entonces esa es "la buena" en su caso.  Eso sí:  Deberá configurar al firewall para que permita conexiones entrantes a los puertos 1434 y al puerto específico de la instancia de SQL Server.  Esto podría ser en el mismo servidor o bien podría ser en un firewall más avanzado que podría estar "en frente" del adaptador de red.  Yo tampoco soy bueno en redes así que más detalles no le doy.

    En general:  Habilitar los puertos de SQL Browser + el puerto de la instancia.

    También podría ser por named pipes, pero eso es más complejo.  Me parece que requiere de más puertos y de hecho requiere de puertos que son compartidos por otros servicios y por lo tanto puede exponer el servidor innecesariamente a ataques debido a vulnerabilidades en estos otros servicios.


    Jose R. MCP
    Code Samples

    Thursday, January 31, 2013 4:44 AM
  • Se puede, pero no es muy seguro.

    Esta tu pregunta parece más un asunto de redes que SQL Server.

    Lo más conveniente es tener una red VPN.


    MVP MCT MCTS Daniel Calbimonte

    http://elpaladintecnologico.blogspot.com

    Thursday, January 31, 2013 2:46 PM
  • Yo como primer opcion te diria que comentes con tus jefes la opcion de adquirir un servicio con un ip pribada donde puedas tener mas opcion a hacer cambios como apertura de puertos y ademas una ip fija...

    Luego si esa no fuera una opcion estaria la de UDP (SQL Browser) con el puerto 1434. pero es bastante compleja la configuracion.


    • Edited by yenocram Friday, February 01, 2013 7:22 AM
    Friday, February 01, 2013 7:21 AM
  • mmmm... bueno, luego de haber leido las sugerencias... yo me hiria a usar VPN (a igual a como lo comenta Daniel) a intentar usar ideas que requieran más configuración o abrir puertos o exponerlos, no es que no este deacuerdo, solo que creo y soy de los que pienso en que si necesito conectarme desde afuera de la empresa al sistema, debe ser un empleado de la empresa por ende lo ideal es que lo haga por una VPN... si estamos hablando de conectar varias oficinas de la empresa.... sin duda alguna VPN... si lo vas hacer desde tu casa, igual, instalas el Software para crear una VPN entre tu PC y la empresa y listo, ya estas adentro...

    igual, si no hay internet no te podras conectar... así que para mayor seguridad una VPN... en lo personal, así lo hago yo y así se hace aqui en mi País o VPN o un canal de datos proveido por el proveedor de internet.

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    Friday, February 01, 2013 5:03 PM
    Moderator