Publicado el 14 de Mayo del 2020
580 visualizaciones desde el 14 de Mayo del 2020
122,7 KB
11 paginas
Creado hace 17a (16/10/2007)
Práctica 2 Redes de Computadores
Área de Ingeniería Telemática
Uso de la red en Linux
Objetivo
Familiarizarse con el uso de aplicaciones y servicios de red en Linux.
Cambiando el PATH
En la siguiente sección utilizará el comando ifconfig, y la shell probablemente le dirá que
no puede encontrarlo. Esto es así porque la shell no busca comandos en todos los directorios, sino
sólo en los que tiene configurados para ello, y su ordenador no está configurado para que busque en
el directorio /sbin que es donde está dicho comando. Si quiere, puede modificar los directorios en
los que la shell busca comandos y aprender a configurarlo correctamente, tal y como se detalla a
continuación, o bien, utilizar directamente el camino absoluto del comando: /sbin/ifconfig.
Hasta ahora cuando ha utilizado un comando, la shell se ha encargado de encontrar el
programa adecuado en el disco y lanzar el programa correspondiente. Esto se debe a que los
programas que hemos usado son muy comunes y estaban almacenados en los directorios en que
típicamente se guardan los comandos de UNIX (/bin,/usr/bin)
Puede probar el comando which que le indica dónde ha encontrado la shell un comando
concreto.
$ which date
$ which cat
Podemos indicar a la shell la localización del programa que queremos ejecutar indicando el
camino al comando en lugar del comando
$ /bin/cat /etc/services
$ cat /etc/services
tiene el mismo efecto que
con la unica diferencia que la shell no busca el comando en el disco duro
sino que va directamente a /bin a buscarlo
Pero aún en el caso en que la shell deba buscar el fichero del comando, no hace una
búsqueda por todo el disco sino que simplemente mira en una lista de directorios en los que
comúnmente están los comandos. Esta lista se almacena en una variable de entorno del shell que se
denomina PATH. Puede ver el valor de esa variable con el siguiente comando. (La sintaxis para
acceder a las variables en la shell es poner un símbolo $ delante del nombre de la variable que será
sustituida por su valor)
$ echo $PATH
/usr/local/bin:/bin:/usr/bin
Página 1 de 11
Práctica 2 Redes de Computadores
Área de Ingeniería Telemática
Observe que el contenido de la variable es una serie de directorios separados por :. La shell
busca comandos sólo en esos directorios y lo hace en el orden en que aparecen en la variable.
Modificando la variable conseguirá que busque en otros directorios. Por ejemplo es probable que en
las prácticas con la red, quiera acceder a comandos que estén en el directorio /sbin. Puede añadir el
directorio /sbin a la variable PATH como se indica a continuación (tenga en cuenta que las variables
se manejan de forma diferente en las diferentes tipos de shell, las instrucciones que siguen sólo son
aplicables a las shells de tipo bash)
Asi se da valor a una variable de la shell
veamos si funciona
Asi se da valor a una variable que sera heredada por los procesos hijos
asi podemos modificar el PATH
$ A=1
$ echo "A=$A"
$ export A=1
$ export PATH=$PATH:/sbin
$ echo "PATH=$PATH"
Compruebe que una nueva shell lanzada desde ésta recibe la variable PATH modificada
Compruebe también que la variable sólo se propaga a los procesos descendientes de la shell
en la que la hemos cambiado. Si, por ejemplo, abre un terminal nuevo, no tendrá la variable.
Para modificar la variable PATH de forma que afecte a cualquier nueva shell que abra
deberá modificar el fichero de arranque de la shell. Cuando se lanza bash lee una serie de ficheros
entre los que se encuentra el fichero .bashrc en su directorio home y ejecuta los comandos de esos
ficheros. El fichero .bashrc es el fichero apropiado para poner modificaciones a la variable PATH.
Puede editarlo y colocar ahí la línea que modifique la variable. Compruebe que todas las shells que
abre ahora tienen la variable modificada.
¿Qué necesito para estar en red?
Un ordenador que vaya a funcionar en red necesita una dirección para que la red pueda
dirigir hacia él los datos que le envían el resto de ordenadores. Como hemos visto esta es la
dirección IP. De momento debemos saber que un ordenador para estar conectado a Internet necesita
una dirección IP. Para ver la dirección IP de su ordenador puede usar el comando ifconfig.
$ ifconfig
eth0
lo
Mask:255.255.0.0
Metric:1
HWaddr 00:11:2F:42:0C:1B
Bcast:10.1.255.255
MTU:1500
Link encap:Ethernet
inet addr:10.1.1.11
UP BROADCAST RUNNING MULTICAST
RX packets:463154 errors:0 dropped:0 overruns:0 frame:0
TX packets:238027 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69571693 (66.3 Mb)
TX bytes:40092460 (38.2 Mb)
Interrupt:10 Base address:0xd800
Link encap:Local Loopback
inet addr:127.0.0.1
UP LOOPBACK RUNNING
RX packets:23546 errors:0 dropped:0 overruns:0 frame:0
TX packets:23546 errors:0 dropped:0 overruns:0 carrier:0
Mask:255.0.0.0
MTU:16436
Metric:1
Página 2 de 11
Práctica 2 Redes de Computadores
Área de Ingeniería Telemática
collisions:0 txqueuelen:0
RX bytes:3350286 (3.1 Mb)
TX bytes:3350286 (3.1 Mb)
El comando ifconfig le muestra información sobre los diferentes interfaces del ordenador
conectados a la red. A lo largo del curso veremos varios tipos de interfaces posibles. De momento
puede observar que su ordenador tiene dos interfaces:
eth0 es una conexión a una red de área local Ethernet y es la verdadera conexión de red de
ese ordenador.
lo es un interfaz ficticio llamado interfaz de loopback todo lo que se envía por ese interfaz
se vuelve a recibir en el ordenador. Es típico de los sistemas UNIX tener este interfaz y vale
para enviarse datos a si mismo incluso cuando el ordenador no esta conectado a la red. En
los sistemas UNIX muchas partes del sistema operativo funcionan como servicios de red, de
ahí que el interfaz de loopback sea muy útil. Pero de momento no se preocupe por él.
Así pues su ordenador tiene un interfaz conectado a una red Ethernet y en dicho interfaz
utiliza la dirección IP que se ve en el campo inet addr:. Compruebe cuál es su dirección IP. Esa
dirección es suficiente para identificar a su ordenador en Internet. En nuestro caso, al estar la red del
Laboratorio separada de Internet (es una Intranet) la dirección sólo le identifica entre los
ordenadores del dominio del Área de Telemática (o sea este laboratorio[Telemática 2] y el de
arriba[Telemática 1]). Pero para todos los efectos funciona igual que Internet.
Pruebe el comando ping. El comando ping es una utilidad que le permite comprobar si
existe conectividad de red entre dos máquinas. Para ello la máquina que lanza el comando ping
envía paquetes del protocolo ICMP que el sistema operativo de la máquina de destino está obligada
a responder al origen. El comando ping recibe estos paquetes y nos los muestra indicándonos
también el tiempo que tardan en ir y volver y contando los que se pierden. Mire la dirección IP que
tiene su vecino de mesa y haga ping a su ordenador y al del vecino.
$ ping direccion_IP_de_mi_vecino
$ ping mi_direccion_IP
Observe la diferencia de tiempos. Pruebe con otros vecinos. ¿Cómo hace ping para saber
que los paquetes se pierden?
Por otra parte probablemente habrá observado que en Internet los usuarios no manejan
direcciones IP para referirse a otras máquinas. Por ejemplo, no reconocerá que la dirección IP
64.233.183.99 pertenece al buscador más popular, sino que lo recordará más bien con el nombre de
www.google.com. Esto es así porque existe un servicio que nos permite dar nombres a las
direcciones IP para recordarlas más fácilmente. Este sistema se llama Sistema de Nombres de
Dominio o DNS. A pesar de su utilidad este sistema es simplemente un servicio sobre Internet.
Cuando nosotros usamos un nombre como www.google.com, nuestro ordenador envía mensajes a
ciertos servidores a los que conoce por su dirección IP para preguntarles cuál es la dirección IP
asociada a www.google.com. Estos ordenadores la buscan en sus tablas de direcciones y se la
envían. Seguidamente nuestro ordenador utiliza la dirección IP correspondiente para comunicarse
con el buscador.
Página 3 de 11
Práctica 2 Redes de Computadores
Área de Ingeniería Telemática
Es decir que desde el punto de vista de la red todo se hace con direcciones IP, los nombres
son un simple añadido que se traduce a dirección IP a la menor oportunidad.
En el laboratorio de telemática está disponible el servicio de nombres. Puede probarlo con
los comandos host o nslookup que son prácticamente equivalentes.
$ host tlm11.net.tlm.unavarra.es
$ host tlm11
$ host 10.1.1.11
búscame la direccion IP de tlm11.net.tlm.unavarra.es
búscame la direccion IP de tlm11 en el dominio en el que estoy
búscame el nombre para esta dirección IP
o bien
$ nslookup tlm11.net.tlm.unavarra.es
$ nslookup tlm11
$ nslookup 10.1.1.11
En general,
todos los comandos que utilizan direcciones de red aceptan nombres o
direcciones IP por igual. Pruebe por ejemplo el ping utilizando nombres.
También puede averiguar el nombre de su ordenador utilizando el comando hostname.
Ahora que ya sabemos que es estar en la red y como se llaman otros ordenadores, probemos
algún servicio.
Acceso remoto y transferencia de ficheros
¿Cuáles cree que fueron las primeras aplicaciones de la red? Antes del correo electrónico,
mucho antes del web, lo realmente interesante de tener ordenadores en red era poder acceder
remotamente a otros ordenadores (recordemos que estábamos en un mundo de grandes ordenadores
centrales y muchos usuarios) y por supuesto poder transferir ficheros entre ordenadores.
El servicio de acceso remoto por excelencia se llama telnet. Para utilizarlo debe usar el
comando telnet y decirle qué ordenador debe de usar de forma remota. Por ejemplo intente
conectarse para acceder remotamente al ordenador jupiter. Todos estos comandos deberían
funcionar.
$ telnet jupiter.net.tlm.unavarra.es
$ telnet jupiter
$ telnet 10.1.1.230
Compruebe que puede hacer login en dicho ordenador con su cuenta. ¿Cómo puede
comprobar que está en otro ordenador? Observe la direc
Comentarios de: Uso de la red en Linux (0)
No hay comentarios