Habitualmente, los ISP (Internet Service Provider) asignan en cada conexión una dirección IP dinámica. Esta dirección está activa para nosotros exclusivamente durante la sesión establecida con el ISP desde el momento de la conexión hasta la desconexión. Esta dirección IP nos permite, por supuesto, poder acceder a toda la red.
Por otra parte, al utilizar un Sistema Operativo como Linux, disponemos en nuestra máquina de todos los servidores utilizados en Internet. Una vez configurados (cuestión que se escapa del ámbito del presente documento) podríamos disponer realmente de un site conectado a Internet. Pero... necesitamos una dirección IP estática que no tenemos.
No obstante, y gracias a las facilidades presentes en nuestra máquina Linux, podríamos solventar ese problema y conectar nuestra máquina con sus servidores a la red a través de una dirección IP dinámica. Para ello, hay que cumplir con unos cuantos requisitos. A saber:
Para hacer accesible a la red nuestro equipo Linux a partir de una dirección IP dinámica, preparamos una página Web en donde incluyamos como hiperlink la dirección IP Dinámica suministrada por nuestro ISP en formato URL. Por ejemplo, podemos preparar un hiperlink a nuestro servidor Ftp en la forma:
ftp://ddd.ddd.ddd.ddd
en donde ddd.ddd.ddd.ddd representa nuestra famosa dirección IP Dinámica.
Un hiperlink a nuestro servidor Web Apache tendría la forma:
http://ddd.ddd.ddd.ddd
Debido a la naturaleza dinámica de nuestra dirección IP,
debemos sustituir LOCALMENTE las direcciones ddd.ddd.ddd.ddd
presentes en nuestra página, por el valor real de nuestra
dirección IP para esa sesión. Una vez modificaca nuestra
página local, la enviaremos vía Ftp a nuestro ISP.
Como quiera que este procedimiento puede resultar mas complicado explicarlo que ponerlo en funcionamiento, ahí va un caso real con las condiciones de partida:
Para ello, lo primero que debemos preparar en nuestro equipo es un par de páginas Web: la primera, indicando la presencia de nuestro servidor en la red, con los hiperlinks hacia nuestro equipo, y la segunda indicando nuestra ausencia de la red. Estas páginas podrían tener el siguiente aspecto:
El esqueleto para la primera página sería el siguiente:
<HTML>
<HEAD>
<TITLE>Este es el enlace a mi servidor Linux</TITLE>
</HEAD>
<BODY>
<P>Bienvenido a mi servidor Linux.
<BR>
Para acceder a mi servidor Web, pulsa <A HREF=http://--IP-->aqui</A>
<BR>
Para acceder a mi servidor FTP, pulsa <A HREF=ftp://--P-->aqui</A>
</BODY>
</HTML>
Y para la segunda página:
<HTML>
<HEAD>
<TITLE>Este es el enlace a mi servidor Linux</TITLE>
</HEAD>
<BODY>
<P>Bienvenido a mi servidor Linux.
<BR>
En este momento no estoy conectado y mi servidor no está activo.
</BODY>
</HTML>
La primera página la llamamos ipd_on.html y la segunda ipd_off.html y las dejamos en nuestro directorio /home/httpd/html.
Hay que hacer notar en la primera página la presencia de las
máscaras --IP--
en el lugar que debe ocupar la
dirección IP. Estas máscaras se sustituirán
por las direcciones IP reales una vez conocidas.
El siguiente paso consiste en la preparación del programa ncftp para la transferencia ftp automática. (Se asume una versión 2.x.x para el ncftp). El procedimiento a realizar es el siguiente:
$ ncftp -u nuestro.isp.es
NcFTP bookmark-file version: 6
Number of entries: 1
nuestro,nuestro.isp.es,Usuario,Password,,/dir/de/tu/pagina/web,[etc]
macro .open.ejemplo
put /home/httpd/html/miipd.html
exit
end
Con esto hemos terminado con la preparación de una transferencia
automática ftp de la página miipd.html a
nuestro ISP. Esta conexión la hemos llamado ejemplo.
A partir de este momento, para la transferencia autoática de nuestra
página miipd.html no tenemos mas que usar el comando:$ ncftp -Lf ejemplo
Finalmente, debemos preparar nuestro proceso de conexión ppp con nuestro ISP para que la transferencia se haga de forma automática. Los pasos a seguir son los siguientes:
chat
y el
pppd
. Una vez realizada la conexión, se ejecuta el
programa /etc/ppp/ip-up
(este programa se encuentra en ese
directorio en la distribución Red Hat de Linux. En
otras distribuciones se puede encontrar en un directorio distinto).
#!/bin/bash
#--- Ejemplo ip-up / ip-down.
PROG=$(basename $0)
IPD_ON=/home/httpd/html/ipd_on.html
IPD_ACTUAL=/home/httpd/html/milinux.html
logger -sp local1.info -t $PROG $1: $4 $5 $2 $3 PPID=$PPID 2>/dev/console
case $PROG in
ip-up)
rm -f $IPD_ACTUAL
cat $IPD_ON | sed -e s/--IP--/$4/g > $IPD_ACTUAL
ncftp -Lf ejemplo &>/dev/console
/etc/rc.d/init.d/sendmail.init start
;;
ip-down)
/etc/rc.d/init.d/sendmail.init stop
;;
esac
Tal como se observa en el programa, en el arranque del ppp (ip-up)
y una vez establecida la conexión se elimina la copia local de la
página milinux.html. A continuación, con el comando
cat $IPD_ON | sed -e s/--IP--/$4/g > $IPD_ACTUAL
Las líneas que hacen referencia al sendmail no son estrictamente necesarias para este proceso.
Con esto, una vez conectados a nuestro ISP tendríamos activa nuestra p�gina milinux.html con los hiperlinks apuntando correctamente a nuestros servidores Ftp y Web.
cp /home/httpd/html/ipd_off.html /home/httpd/html/milinux.html
ncftp -Lf ejemplo
kill -INT `cat /var/run/ppp0.pid`
Como se observa, primero se copia la página ipd_off.html
sobre milinux.html, se transmite y finalmente, se cierra el
enlace ppp.
En resumen: este procedimiento, tal como ha sido descrito, nos permite disponer de una página, de nombre milinux.html conteniendo desde el momento de nuestra conexión los hiperlinks hacia los servidores Ftp y Web configurados en nuestra máquina, y a partir de la desconexión con la misma página indicando nuestra ausencia de la red, siendo la actualización y transmisión de estas páginas un proceso totalmente automático.
Lo único que resta es dotar a nuestra primera página personal de un hiperlink que nos apunte a la página milinux.html.