none
Conexion via internet RRS feed

  • Pregunta

  • Hola a todos.

    Quiero que alguien me de un enlace a: tutorial, manual, etc. O que me digan cómo configurar mi sqlserver para conectar con mi BD vía internet.

    Gracias.

    sábado, 23 de junio de 2018 2:27

Respuestas

  • No tengo un enlace, pero te resumo los pasos:

    1) En el servidor SQL, abrir el acceso exterior a la base de datos. Para ello, habilitar el protocolo TCP desde SQL Server Configuration Manager.

    2) Abrir paso a SQL Server en el Firewall del servidor.

    3) Configurar la infraestructura de red para permitir acceso desde la red pública a la dirección interna del servidor. Dependiendo de cómo sea tu conexión a la internet, esto puede implicar abrir pasos en los firewall y/o configurar un NAT inverso en los routers. Esto se hace de forma distinta en cada marca y modelo, por lo que dudo que encuentres un tutorial genérico, tendrás que leer el manual de tu router y/o firewall.

    4) Desde los puestos que hay en internet, usar una cadena de conexión que contenga la dirección pública de tu router (aquella que antes mapeaste a la dirección privada del servidor SQL cuando configuraste el NAT inverso).

    5) Ojo con las credenciales. A no ser que los puestos remotos pertenecen al mismo directorio activo que el servidor SQL (que casi seguro no es el caso), tendrás que usar autenticación de SQL y no autenticación integrada. Cerciórate de que la has habilitado en el servidor, has creado una cuenta de SQL con los privilegios adecuados, y esa es la cuenta que se usa en la cadena de conexión.

    • Marcado como respuesta Formulaz5 sábado, 23 de junio de 2018 14:29
    sábado, 23 de junio de 2018 6:50
  • Bien, vamos a ver si podemos explicar primero qué es el NAT, y a continuación, que es el "inverso".

    En una típica instalación en la que tienes un ordenador en tu red "interna", las direcciones IP que se usan en esa red no son visibles desde el exterior. Se usa un rango de direcciones "privadas" tales como 192.168.x.x, que no se propagan a través de Internet porque los routers reconocen por el prefijo que son privadas. La ventaja es que se pueden reutilizar esas mismas direcciones en otras redes privadas, por lo que su uso contribuye a aliviar el consumo de direcciones IP v4, que están a punto de agotarse.

    Tu red privada se conecta a Internet a través de un router, que tiene en el lado exterior una dirección "publica" y en el lado interior una "privada" y hace la traducción entre ambas (NAT = Network Address Translation, traducción de direcciones de red). Para ello, tiene una tabla interna en la que recuerda cuál de las direcciones internas envió cada petición al exterior, de forma que cuando llega la respuesta (que llega a su dirección pública), puede saber gracias a esa tabla quién es el que hizo la petición, y enviar la respuesta a la dirección interna correcta. Observa que esto solo puede funcionar desde dentro hacia afuera, pero al revés no es posible porque nadie desde fuera puede enviar algo hacia una de las direcciones internas, ya que esas son direcciones privadas que se repiten en muchas redes y además no se propagan a través de la red pública.

    Entonces, ¿cómo se resuelve el problema de que alguien desde fuera pueda conectar a una dirección interna? Pues hay que configurar el router para ello, diciéndole que las conexiones entrantes dirigidas a determinado puerto TCP (tal como el 1433 usado por SQL Server) se deben redirigir a determinada dirección interna 192.168.x.x, que en este caso sería la de tu servidor SQL. Este proceso de traducción de dirección pública a dirección privada dependiendo del puerto es el que se denomina "NAT inverso".

    Lamentablemente, la forma de decirle al router que haga eso es diferente en cada marca y modelo de router, por lo que no podrás encontrar un tutorial genérico que valga para todos. Necesitarás leer el manual de tu router, y saber sus claves de acceso.

    Editado: Acerca del punto 4: como se infiere de lo anterior, los equipos que están en Internet y que quieren comunicar con el equipo interno, no pueden hacer uso ni les sirve para nada su dirección privada 192.168.x.x. Tienen que dirigir las peticiones hacia la dirección pública del router, que es la única que se propaga por Internet. En consecuencia, es esa dirección pública la que tienen que usar en su cadena de conexión.

    sábado, 23 de junio de 2018 16:12

Todas las respuestas

  • No tengo un enlace, pero te resumo los pasos:

    1) En el servidor SQL, abrir el acceso exterior a la base de datos. Para ello, habilitar el protocolo TCP desde SQL Server Configuration Manager.

    2) Abrir paso a SQL Server en el Firewall del servidor.

    3) Configurar la infraestructura de red para permitir acceso desde la red pública a la dirección interna del servidor. Dependiendo de cómo sea tu conexión a la internet, esto puede implicar abrir pasos en los firewall y/o configurar un NAT inverso en los routers. Esto se hace de forma distinta en cada marca y modelo, por lo que dudo que encuentres un tutorial genérico, tendrás que leer el manual de tu router y/o firewall.

    4) Desde los puestos que hay en internet, usar una cadena de conexión que contenga la dirección pública de tu router (aquella que antes mapeaste a la dirección privada del servidor SQL cuando configuraste el NAT inverso).

    5) Ojo con las credenciales. A no ser que los puestos remotos pertenecen al mismo directorio activo que el servidor SQL (que casi seguro no es el caso), tendrás que usar autenticación de SQL y no autenticación integrada. Cerciórate de que la has habilitado en el servidor, has creado una cuenta de SQL con los privilegios adecuados, y esa es la cuenta que se usa en la cadena de conexión.

    • Marcado como respuesta Formulaz5 sábado, 23 de junio de 2018 14:29
    sábado, 23 de junio de 2018 6:50
  • Gracias Alberto.

    No entiendo los pasos 3 y 4, esencialmente el 3. Pues no sé qué es un NAT inverso.

    He mirado tutoriales en YouTube, incluso los he seguido pero no me dan resultados, siempre aparece un mensaje de error o simplemente ni eso.

    En la mayoría de estos acuden a un gestor o software para esos fines, pero estos gestores tienen acceso a tu trafico y eso no me agrada.

    Tu respuesta esta bien, solo que debo indagar esos datos de los puntos 3 y 4. Es la mejor hasta ahora, ademas nunca me has ofrecido algo erróneo.

    Gracias.

    sábado, 23 de junio de 2018 14:33
  • Bien, vamos a ver si podemos explicar primero qué es el NAT, y a continuación, que es el "inverso".

    En una típica instalación en la que tienes un ordenador en tu red "interna", las direcciones IP que se usan en esa red no son visibles desde el exterior. Se usa un rango de direcciones "privadas" tales como 192.168.x.x, que no se propagan a través de Internet porque los routers reconocen por el prefijo que son privadas. La ventaja es que se pueden reutilizar esas mismas direcciones en otras redes privadas, por lo que su uso contribuye a aliviar el consumo de direcciones IP v4, que están a punto de agotarse.

    Tu red privada se conecta a Internet a través de un router, que tiene en el lado exterior una dirección "publica" y en el lado interior una "privada" y hace la traducción entre ambas (NAT = Network Address Translation, traducción de direcciones de red). Para ello, tiene una tabla interna en la que recuerda cuál de las direcciones internas envió cada petición al exterior, de forma que cuando llega la respuesta (que llega a su dirección pública), puede saber gracias a esa tabla quién es el que hizo la petición, y enviar la respuesta a la dirección interna correcta. Observa que esto solo puede funcionar desde dentro hacia afuera, pero al revés no es posible porque nadie desde fuera puede enviar algo hacia una de las direcciones internas, ya que esas son direcciones privadas que se repiten en muchas redes y además no se propagan a través de la red pública.

    Entonces, ¿cómo se resuelve el problema de que alguien desde fuera pueda conectar a una dirección interna? Pues hay que configurar el router para ello, diciéndole que las conexiones entrantes dirigidas a determinado puerto TCP (tal como el 1433 usado por SQL Server) se deben redirigir a determinada dirección interna 192.168.x.x, que en este caso sería la de tu servidor SQL. Este proceso de traducción de dirección pública a dirección privada dependiendo del puerto es el que se denomina "NAT inverso".

    Lamentablemente, la forma de decirle al router que haga eso es diferente en cada marca y modelo de router, por lo que no podrás encontrar un tutorial genérico que valga para todos. Necesitarás leer el manual de tu router, y saber sus claves de acceso.

    Editado: Acerca del punto 4: como se infiere de lo anterior, los equipos que están en Internet y que quieren comunicar con el equipo interno, no pueden hacer uso ni les sirve para nada su dirección privada 192.168.x.x. Tienen que dirigir las peticiones hacia la dirección pública del router, que es la única que se propaga por Internet. En consecuencia, es esa dirección pública la que tienen que usar en su cadena de conexión.

    sábado, 23 de junio de 2018 16:12
  • Gracias Alberto.

    Eres magnifico maestro. Me has dado tremenda cátedra de conexión y routers. Lo pensé una vez ese proceso, pero como no me dedico a eso, no lo consideré prioridad aprender. Ahora se presentó la necesidad y gracias a Dios, apareció un verdadero máster como tú.

    Nunca antes por estos medios había leído tan claro proceso y con una ortografía formidable.

    Gracias Alberto una vez mas.

    sábado, 23 de junio de 2018 16:31
  • Solo agregar que si no cuentas con IP pública (enlace dedicado) entonces puedes crear una VPN con Hamachi Logme-in es gratis hasta 5 nodos. Con eso tendrás varios puntos remotos unido en una sola red, como todos los nodos son de igual a igual entonces donde esté el SQL anotas su IP que le asigna Hamachi, la tratas como si fuera red local. No es tan rápido como un enlace dedicado pero te saca de apuros.

    • Editado JoséMiel domingo, 24 de junio de 2018 0:18
    domingo, 24 de junio de 2018 0:17