Portada del sitio > Internet > Servidor con ubuntu-server > Instalar un servidor con ubuntu-server (V)

Segunda época

Instalar un servidor con ubuntu-server (V)

Parte V - Salida a Internet

Martes 17 de julio de 2007, por Dani

En el artículo anterior Configuración de Apache dejamos apache configurado y una página de prueba visible desde cualquier ordenador de nuestra red local.

Antes de crear páginas con cierta calidad debemos asegurarnos que podemos darles salida a Internet, es decir, que otras personas puedan verlas desde cualquier lugar con acceso a Internet.

[*Conceptos previos*]

Para ello nuestro router debe estar configurado en modo multipuesto. De esa forma, el router tendrá, además del cable de conexión a la red eléctrica, un cable conectado a la línea telefónica (ADSL por ejemplo) y varios cables (uno por ordenador) conectados a cada uno de nuestros ordenadores en red. Si el router es wifi o mixto no necesitaría los cables router-ordenador en los casos de un portátil u otro ordenador que disponga de tarjeta de red inalámbrica.
En ese caso todos los ordenadores conectados al router tienen la misma preferencia y cuando un ordenador realiza una petición a Internet (por ejemplo solicita una web), pasa por el router, que es quien la solicita a Internet, la respuesta de Internet (la página pedida en nuestro caso) le llega al router y este la pasa al ordenador que hizo la petición.

El caso contrario es el que debemos configurar. Si es una persona de Internet quien solicita nuestras páginas, la solicitud pasa por el router y éste debe saber a qué ordenador le pasa la petición, es decir el router debe saber en qué ordenador de nuestra red local está el servidor (el encargado de servir las páginas web).

Los ordenadores de nuestra red local se identifican con las IPS internas (192.168.2.x) y debemos recordad que el servidor lo tenemos en la IP 192.168.2.20. Bastaría con darle esta IP al router.

Por tanto .. al router hay que decirle que las peticiones de páginas web las pase a 192.168.2.20. Sin embargo puede que no interese que pase al servidor otras peticiones que no sean web. Por ejemplo si usamos un programa P2P (tipo aMule) o algún programa de mensajería instantánea (tipo MSN) no deberíamos dejar que esas transferencias pasen al servidor (pues las solemos hacer con nuestro ordenador particular, que es distinto al servidor). La manera de distinguir los diferentes servicios (web, FTP, P2P, etc.) es por el puerto que usan. Normalmente:

 web: puerto 80
 FTP: puerto 21
 correo: puerto 25
 etc.

En definitiva .. al router hay que decirle que las peticiones al puerto 80 (web) las redirija al servidor 192.168.2.20. Es decir, hay que redireccionar puertos en el router, también llamado mapear puertos o NAT (Network Address Translation).

¿Cómo se redireccionan los puertos?

Cada router es un mundo. Consulta el manual de tu router o busca ayuda en páginas como www.adslayuda.com, www.bandaancha.st, etc. (en esas páginas encontrarás manuales para casi todos los routers)

¿Qué url tienen que teclear los que quieran acceder a nuestras páginas?

Deberían teclear nuestra IP pública o externa de la forma: http://x.x.x.x

Recordemos los conceptos de IPs fijas y dinámicas, dominios, etc.
Debemos distinguir entre las IPS internas de nuestra red local, que son números muy parecidos o iguales de una red a otra, y las IPs externas o públicas que son únicas: cada ordenador conectado a Internet tiene una IP única (no puede haber dos iguales).
Dentro de estas IPs públicas podemos distinguir entre fijas y dinámicas. Actualmente los proveedores de Internet suelen dar IPS dinámicas (cambian con cada conexión) y para conseguir una IP fija hay que pagar un poco más.

Averiguando nuestra IP

Tanto si tenemos IP fija o dinámica podemos averiguar nuestra IP pública actual en el enlace http://www.internautas.org/w-locali...).
Supongamos que nuestra IP es 200.200.200.200. Cualquier persona que quiera acceder a nuestras páginas tendrá que teclear http://200.200.200.200
Como los números suelen ser difíciles de recordar, se suelen usar urls con letra del tipo "midominio.com" que los servidores DNS traducirán a números. Por ejemplo las siguientes direcciones son la misma:
 http://lubrin.org
 http://217.127.159.76

En resumen

Una vez que tengamos claros todos los conceptos anteriores, para la salida a Internet necesitamos:

 Redireccionar el puerto 80 en el router hacia el servidor
 Conocer cuál es nuestra IP pública

Probando

Es imposible comprobar nuestra salida a Internet desde dentro de nuestra red local, pues la petición de página al router debe llegarle desde fuera. Debemos ir a un ordenador fuera de nuestra red local y teclear http://200.200.200.200 para comprobar si se ven nuestras páginas. Otra opción sería pedirle a otra persona que lo haga por nosotros y una tercera sería usar navegación anónima.

Cuando hacemos navegación anónima nuestras peticiones van al servidor de navegación anónima, que es el que se encarga de hacer la petición web y de recibir la página o resultado y finalmente enviárnolas.

Si al servidor anónimo le pedimos nuestra propia página, entonces será el anónimo quien haga la petición a nuestro router y por tanto vendrá de fuera y así comprobaremos si nuestro server tiene salida a Internet.

Hay muchos servidores de navegación anónima, por ejemplo http://www.megaproxy.com/

Próximo artículo: Dominios. IP Fija o Dinámica

Mensajes

  • sigue asi, soy noob y me estan viniendo de coña algunos de tus articulos ;)

  • Felicidades por tu articulo y muchas gracias ya que este me ayudara a montar un servidor web, ftp y tambien estoy queriendo montar un servidor mail para interno de la empresa, ya tengo el permiso para migrar todas las maquinas con el dever de ponerles el servidor mail y web soy noob en servidores y habia buscado varios tutoriales el tuyo esta muy bien explicado y entendible gracias de nuevo y espero que este tu proyecto siga asi

  • En caso de que no tengamos la posibilidad de tener IP fija en nuestra conexion a internet, podemos usar servidores como dyndns o no-ip?
    Esos nombre también los podemos usar para la conexion con ssh?
    Excelentes articulos, felicitaciones y adelante!
    Álvaro

  • Hola, actualmente tengo dos PC’s uno con Ubuntu, que prentendía utlizar como servidor de mi web, pero tuve problemas con los caracteres locales. En el otro PC ocupo Windows XP (Vergonzosamente) porque las aplicaciones gráficas aún no las he podido suplir con las aplicaciones para Ubuntu. Mi pregunta básicamente es si es posible tener la máquina que actúa como servidor como puente de Red, es decir compartir la conección para internet. No tengo Router, antiguamente tenía los dos PC’s con windows XP y el que se conectaba directamente al modem del proveedor de internet, tiene dos tarjetas de Red. Puedo hacer lo mismo con Ubuntu Server?

    Ver en línea : Mi Sitio Web...

    • El problema de los caracteres se soluciona instalando los locales:
      # apt-get install locales gettext

      tal y como digo en Parte IV - Configuración de apache. Además en el ejemplo de ese capítulo (la primera página de prueba) lo que suelo probar es justo los caracteres. Reproduzco aquí la imagen de ese capítulo:


      Tu configuración es idónea para usar el ordenador con dos tarjetas de red, no como puente, sino como router. Es algo avanzado .. pero tendrías el mejor router que existe: Linux. Puedes conseguir info del tema buscando en google por "linux como router" (ponlo entre comillas).

  • Hola:

    Gracias por tu ayuda. Estoy en lo mismo que los otros compañeros. En mi caso intentando instalar en un servidor los tipicos servicios de web, correo ftp, etc. para varios dominios.
    Quisiera hacer una puntualización. Existe tanto en Linux como en Windows un fichero llamado "hosts" al que acude el ordenador, en primera instancia, cuando le pides una direccion web. /etc/hosts en según que distros de Linux o c:\windows\system32\drivers\ en windows (2000/XP) Allí aparece normalmente
    esto

    127.0.0.1 localhost

    Esto hace que si en el navegador de nuestro servidor escribimos "http://localhost" aparezca nuestra pagina web. La que tengamos en nuestro servidor apache (la misma que veran los de fuera).
    Si ademas colocamos la ip interna del servidor podremos ver la misma pagina web de antes.
    Así si tú servidor tiene la IP 192.168.1.1 tendras que escribir:

    192.168.1.1 www.xxx.yyy

    guardas el fichero (ojo, editarlo con un procesador de textos sencillo tipo nano,gedit en Linux o "bloc de notas" en windows
    Así si en el navegador escribes

    http://www.xxx.yyy

    aparecera la pagina de inicio que sirve tu servidor web.

    puedes tener tantos como quieras

    192.168.1.1 www.qqq.ddd

    192.168.1.1 www.midominio.com

    etc, etc, etc.......

    Que si luego escribes en tu navegador, del servidor o de cualquiera de la red interna, este dominio aparecerá la página de tu servidor. Esto lo tienes que hacer en cada uno de tus ordenadores de la red interna. Un peñazo si son muchos. Hay otros sistemas (BIND, el servidor DNS) pero no me atrevo a comentarlos por mi poca pericia en ellos.

    Si además en Apache configuras hosts virtuales, cada entrada iria a la web que hubieras preparado para cada dominio.

  • hola, hay alguna forma que aberiguar la ip publica fija de me servicio de internet
    o solo ellos la pueden dar. que hago la necesito para montar mi servidor web
    gracias

    • Saludos

      he instalado todo lo que se necesita para tener un servidor apache en mi computador, tengo ubuntu como SO, he instalado ddclient, previamente he creado un subdominio en dyndns con el que configure mi ddclient, he liberado el puerto 80 de mi router Zyxel 650, la pagina de configuracion del router la he redireccionado a otro puerto, y supuestamente con este cambio el puerto 80 estaria libre para mi web que ya fue guardada en el directorio raiz /var/www/html.
      aun mi web no se puede ver a traves de internet.
      Pregunto si algo me falta??

      saludos
      jc el bravo

      Ver en línea : http://lubrin.org/spip.php?page=for...

    • deseo instalar ubuntu y no hay forma, lo instalo a medias con lo que tengo internet pero sin java y no consigo conectarme con nadie para jugar a ajedrez, damas, back gamon etc...

    • para instalar ubuntu primero debes considerar si tu hardware es el indicado, en segundo lugar , descarga ubuntu de sitios oficiales, no uses paginas no oficiales. si todo esta bien entonces podras instalar sin ningun problema el ubuntu.
      saludos

    • ¿Intentaste ver el sitio desde tu propio IP? Si es así, no lo verás nunca. Intenta desde otro ordenador que no esté en la misma red que el tuyo... Sé que esta respuesta es un poco básica pero el error que menciono es muy común.

    • Si pex, he probado desde otras maquinas, ojo que son maquinas de otras redes con conexion a internet, en ambos casos me pide usuario y contraseña. Por eso mi pregunta, es decir, lo que puedo comprobar es que si se comunican a traves de internet con mi servidor otras maquinas pero no aparece mi web sino les pide usuario y contraseña y eso es algo que solo pasa cuando yo quiero ingresar a mi servidor desde mi pc local. La pregunta es: Alguien sabe como hacer que mi web se vea y no la solicitud de usuario y contraseña??

      nota: ya he configurado mi router para desbloquear el puerto 80 (router Zyxel 650), ademaás de haber cambiado la pagina de configuracion del router para que salga a traves de un puerto distinto y no por el puerto 80.

      Alguien puede ayudarme??’

    • No tiene por qué pedir usuario y contraseña ni desde local, ni desde el exterior.

      Si pide usuario y contraseña es porque no accede al servidor sino al router.

      ¿Has mapeado el router? Es decir, ¿has redireccionado el puerto 80 a la IP local donde tienes apache?

    • Sigo con las cosas más simples. ¿Estás seguro que donde van tus páginas no hay un archivo .htaccess? En algún caso, como en Xampp, se pone por defecto. Si está, bórralo y listo.

    • bueno, mi web esta guardada en el directorio raiz en: var/www/html, y solo he cambiado algunos escritos del archivo default, como por ejemplo: DocumentRoot, le puse nombre al servidor usando ServerName, pero nada mas.
      Derrepente falta algo por cambiar pero la verdad no se.
      y con respecto a lo que dices sobre que no deberia pedir usuario y contraseña tienes razon, ya que solo deberia mostrar mi web.

      como datos adicionales te puedo decir que en ubuntu instale el apache2, php5, myxsql, y algunas librerias, tengo una ip dinamica por lo que tuve que crear una cuenta en dyndns, instale el ddclient en donde hice la configuracion necesaria para que haya actualizacion de mi ip cosa que si lo hace.
      Despues ingrese a mi router zyxel 650 en donde desvie a otro puerto la web de configuracion de mi router y abri el puerto 80 con mi ip de la pc donde esta el servidor.
      en cuanto a la configuracion de apache no hice grandes cosas solo le di nombre a mi servidor y dentro de el directotio var/www/html he alojado mi web.

      cuando coloco localhost en mi pc aparece mi web y cuando coloco mi dominio creado en dyndns en una pc fuera de mi red pero que tiene conexion a internet me pide usuario y contraseña, lo que indica que esta ingresando al router y no a mi web.

      Que cambios debo hacer en cuanto a la configuracion de apache para poder mostrar mi web???
      saludos

    • HOla denuevo me falto decir que si hice el mapeo de puertos el cual indica que el puerto 80 esta abierto

    • Si la web funciona en local, debe funcionar desde Internet.

      Cualquier petición de internet de web (puerto 80) llega a tu router el cual debe redirigirla a la IP local donde tengas el servidor.

      Una cosa es tener el puerto 80 abierto (que siempre lo está por defecto sin tocar nada) y otra cosa es mapearlo, redirigir las peticiones a tu IP local.

      Si desde Internet se accede a tu router está claro que no está redirigiendo hacia tu IP local donde tienes apache.

      ¿Puedes aportar una captura de pantalla donde se vea el mapeo de puertos .. ?

    • SALUDOS Y GRACIAS POR LAS RESPUESTAS,

      Bueno, lo que paso a decir es que dentro del nat DE mi router esta configurado como dice el manual,(mi router es de la marca zyxel 650), en donde coloco el numero de puerto que deseo abrir y la direccion ip de la pc que usare de host, ejemplo: 192.168.1.56), es el unico cambio que he realisado dentro del nat que segun veo no hay nada mas que hacer.
      Recien he realizado unas pruebas con una pc que tiene internet pero esta fuera de mi lan y aparece una ventana donde indica que el servidor(indicando el nombre de mi servidor: ejemplo miservidor.mo-ip.org), necesita o pide usuario y contraseña, pero ojo que no es la misma que la de mi router ya que hice la prueba ingresando el usuario y la contraseña de mi router y boto error.
      Por otro lado creo que ubuntu tiene un programa llamado Nmap que se utiliza para mapear puertos, lo instale y ejecute y dentro de la informacion que me mostro decia: PORT 80 Open.
      Supongo que esto indica que esta abierto.

      quisiera saber si dentro de la configuracion de apache hay alguna sentencia que he olvidado activar o desactivar para redireccionar a mi web las peticiones.

      saludos

    • Entonces lo más difícil está hecho:
      El router envía correctamente las peticiones al servidor.

      Ahora tienes que comprobar que la configuración de apache es correcta. Básicamente sería:

       Comprobar que apache escucha por el puerto 80 (si no has tocada nada .. está por defecto)
       DocumentRoot /var/www/html/

      Tan sólo tienes que mirar el capítulo 4

      Para probar si funciona bien:
       crea una carpeta en /var/www/html/prueba
       crea un fichero /var/www/html/prueba/index.html
       comprueba que accedes al mismo desde local: http://localhost/prueba/index.html
       comprueba si accedes desde Internet: http://tuweb/prueba/index.html

    • Hola,
      Soy nuevo instalando un servidor apache en Ubuntu, mi servidor funciona de manera local ya que me muestra mi web hasta instale un programita que me bota unas estadisticas sobre las visitas a mi servidor pero de manera local.
      Tengo un router zyxel 650 al que ya configure para que el puerto 80 este abierto. Realice un escaneo de puertos y me indica que mi puerto esta abierto. Uso un dominio creado en dyndns, instale ddclient.

      Quiero ver mi web a traves de internet pero sigo sin conseguirlo a pesar de las cosas que estoy mencionando.
      Si hay algo que configurar y que es importante por favor diganme, necesito tener mi servidor.

      De antemano gracias

      JCEL BRAVO

    • Saludos,
      necesito que me ayuden los bravos instlando servidores-
      Tengo mi servidor web apache ya instalado y funcionando además de mysql, php y phpmyadmin, todo funciona a nivel local pero cuando quiero entrar a veb,( mi pagina) desde una pc fuera de mi lan me pide usuario y contraseña....alguien sabe que debo desactivar para que no me pida estas cosas.
      Aclaro que mi router es zyxel 650H y tiene el puerto 80 abierto ya que le hice la respectiva mapeada a el ip de mi servidor y a demas de quitarle filtros. escaneé los puertos online y figura como abierto el puerto 80, y la pagina de configuracion del router que salia por el puerto 80 ahora sale por el puerto 8080.

      Urgente ayudenme .

    • todo lo que me pides que haga ya lo hice y normal, todo funciona a nivel local, pero al solicitar mi dominio como por ejemplo: miweb.dyndns.org, en el navegador desde otra pc fuera de mi lan me pide usuario y contraseña, como desactivo esto o que debo revisar para desactivar esta peticion??????

      Saludos

    • Hola, cómo estás? Tengo exactamente el mismo problema, lo pudiste resolver? Saludos.

    • Hola,

      Si efectivamente ya lo resolvi, el problema que tenia era que mi web no tenia salida a internet, me pedia usuario y contraseña por que mi direccion IP publica no se actualizaba.

      Lo resolvi utilizando el ddclient pero tuve que reconfigurarlo de la siguiente manera:

      Pid =/var/run/ddclient.pid
      protocol=dyndns2
      use=web, if=eth0
      server=member.dyndns.org
      login= "tu usuario"
      password= "tu clave"
      "tu dominio"

      Recuerda que yo uso un dominio dinamico en dyndns, sustituye en login, password y dominio los datos correctos.
      Alamos

    • Si lo resolvi

      Mi pagina no tenia salida a internet por que no actualizaba mi ip dinamica. Lo resolvi reconfigurando ddclient de la siguiente manera:

      Pid=/var/run/ddclient.pid

      Protocol=dyndns2

      use=web, if=eth0

      Server= member.dyndns.org

      Login= "tu usuario dyndns"

      Password="tu clave dyndns"

      "tu dominio dinamico"

      Sólo aclararte que yo tengo dominio dinámico (dyndns), si tu tienes el dominio dinamico de dyndns, debes reemplazar login, password y tu dominio por los datos correctos, el resto dejalo igual.
      Para comprobar si funciona, lo que tienes que hacer es ingresar a la web de dyndns y verificar si la IP dinamica se actualiza.
      En este enlace puedes verificar tu ip dinamica (si es que tienes ip dinamica):
      http://www.adslayuda.com/ip.html

      Si el numero IP que aparece ahi es el mismo que el que muestra la web de dyndns, entonces ya deberia verse tu web en internet.

      Utiliza esta direccion para navegar hacia tu web pero de manera anonima desde tu red local:

      http://www.megaproxy.com/freesurf/

      Sólo coloca tu dominio y marca surf, si todo esta correcto tendria que aparecer tu web.

      Alamos

¿Un mensaje, un comentario?

moderación a priori

Este foro es moderado a priori: su contribución sólo aparecerá una vez validada por un/a administrador/a del sitio.

¿Quién es usted?
Su mensaje

Para crear párrafos, deje simplemente líneas vacías.

Añadir un documento