Está en la página 1de 142

1

5
6

10
❖ Los dispositivos de red son los únicos dispositivos de Linux
que, junto con el teclado y el sistema de vídeo, no necesitan de
un nodo de dispositivo para establecer comunicación con las
aplicaciones. En su lugar, las aplicaciones que utilizan las
capacidades de la red realizan llamadas directamente al
sistema con el fin de indicar qué es lo que desean transmitir o
recibir.
❖ Pero en Linux, el acceso a una red está disponible incluso si no
hay dispositivos físicos destinados específicamente a tal efecto.
Por ello, en lugar de dispositivos de red, se hablará de ahora en
delante de interfaces de red. Y se comienza viendo una interfaz
que está presente en cualquier sistema Linux,
independientemente de si dispone de dispositivos de red o no:
la interfaz de loopback.
La más
A utilizada

D
❖ Loopback es una interfaz de red especial, que permite a un
ordenador enviarse datagramas a sí mismo. En general, se
puede utilizar la interfaz de loopback para acceder en modo
cliente a los servicios ofrecidos en un mismo ordenador.
❖ Quizá lo más interesante sea conocer cuál es su configuración
IP, ya que la dirección IP de la interfaz de loopback no podrá
ser utilizada por ninguna otra interfaz del sistema.
❖ Aunque habitualmente se entiende que la dirección 127.0.0.1
es la dirección de la interfaz de loopback, lo cierto es que,
atendiendo a la clase de red a la que pertenece (clase A), se
puede comprobar que la interfaz de loopback realmente
controla todas las direcciones comprendidas entre 127.0.0.1 y
127.255.255.254, ambas inclusive.
❖ Otra de las interfaces habituales en los sistemas Linux es la
interfaz eth. Esta interfaz está asociada a tarjetas de red con
tecnología Ethernet, la más popular en redes de área local.
Puesto que en un mismo equipo puede existir más de una
tarjeta de red instalada, Linux utiliza diferentes identificadores
para cada tarjeta de red. Así, le asigna el nombre eth0 a la
interfaz asociada a la primera tarjeta de red, eth1 a la interfaz
asociada a la segunda tarjeta de red, y así sucesivamente.
❖ Para que un equipo disponga de acceso a Internet mediante un
módem o un adaptador RDSI, requiere de una capa intermedia que
actúe como interfaz de red, con dirección IP propia. Esta capa tiene
que ser capaz de negociar con el otro extremo de la comunicación
ciertos parámetros relativos a ella. Se debe recordar que una
comunicación mediante un módem, o mediante un adaptador RDSI,
tan solo tiene dos extremos, mientras que en una comunicación en una
red de área local puede haber muchos usuarios compartiendo un
mismo medio físico o cable.
❖ Entre los parámetros de la comunicación que se van a negociar se
encuentran las direcciones IP asignadas a cada uno de los usuarios;
los protocolos de compresión que podrán usarse en la comunicación;
la información de autenticación (generalmente un nombre de usuario y
una clave de acceso); la lista de servidores DNS; y otra serie de
parámetros asociados a la capa IP.
❖ Destinada a aquellas tarjetas para redes en anillo.
❖ La numeración de las tarjetas, al igual que en ethernet, es
llevada a cabo por el propio Kernel. Esta numeración, a pesar
de ser siempre la misma (es decir, tr0 se asignará siempre a
la misma tarjeta, tr1 también, etc.), dependerá de muchos
factores, como el tipo de tarjeta y el tipo de bus al que se
encuentra conectada. Por ejemplo, en caso de que todas las
tarjetas de red de un equipo sean exactamente iguales y se
encuentren conectadas a un bus PCI, su numeración
dependerá del slot del bus en el que cada una se encuentre.
❖ Interfaz virtual para realizar pruebas con IP versión 6.

❖ eth4:5, eth4:6, ..
Los alias IP son una forma obsoleta de administrar múltiples direcciones
IP / máscaras por interfaz. Las herramientas más recientes, como
iproute2, admiten múltiples direcciones / prefijos por interfaz, aunque
los alias aún son compatibles con versiones anteriores de Linux.

❖ eth4.0, eth4.1, eth4.3, vlan0, ..


❖ se crean para dividir una red de capa 2 en una única red virtual. Los
controladores de todas las tarjetas de red participantes deben ser
compatibles con IEEE 802.1Q y configurarse en consecuencia. Este
estándar permite hasta 4096 VLAN (12 bits).
❖ br0, br-lan, ..
Se utilizan para hacer que múltiples interfaces de red virtuales o
físicas actúen como si fueran solo una interfaz de red (casi lo
opuesto a las VLAN). También se puede usar para VPN e
interfaces puenteadas. El puente Ethernet de Linux se puede usar
para conectar múltiples dispositivos Ethernet juntos. La conexión
es completamente transparente: los hosts conectados a un
dispositivo Ethernet ven los hosts conectados a los otros
dispositivos Ethernet directamente.

❖ pppoe-dsl, pppoa-dsl, tun0, vpn1, ..


❖ utilizado para enviar paquetes a través de un protocolo de
tunelización como GRE, IPsec PPPoE, etc.
❖ imq0, teql3, ..
utilizado para cambiar el orden de los paquetes de red salientes
o los paquetes de red entrantes.

wlan0, wlan0_1, ath3, ath_monitor, ..


Siempre hay una interfaz de red física para cada WNIC llamada
interfaz maestra. La interfaz maestra es invisible. Luego,
dependiendo del modo de funcionamiento inalámbrico para el que
está configurada la interfaz maestra, se crean interfaces ad hoc
(IBSS), gestionadas, AP, WDS, mesh point, monitor, red virtual
inalámbrica con diferentes propiedades. Esto se hace
automáticamente de forma predeterminada. Cuando se carga el
controlador WNIC, siempre habrá una interfaz maestra y (al
menos) una interfaz virtual.
❖ La mayoría de las distribuciones de Linux incluyen la configuración TCP/IP en el
proceso de instalación. Aunque esto está bien para una estación de trabajo
sencilla, no proporciona ayuda si es necesario reconfigurarlo o si se dispone de
múltiples adaptadores en el sistema. Esta es la razón por la que se estudiará la
configuración TCP/IP manual.
❖ La configuración TCP/IP manual requiere realizar varios pasos:
▪ Configurar el nombre de host.
▪ Configurar el adaptador.
▪ Asignar las direcciones IP.
▪ Definir la información para el enrutamiento.
▪ Configurar la resolución de nombres.
❖ Todo lo anterior puede hacerse totalmente a mano, editando varios archivos de
configuración y ejecutando algunos comandos. Pero la mayoría de las
distribuciones también incluyen herramientas fáciles de usar para hacerlo. De
forma adicional, también se pueden utilizar herramientas genéricas de
configuración como Webmin.
❖El nombre de host de un sistema
es un nombre único, y es utilizado
por las aplicaciones dentro del
sistema. Este nombre se utiliza,
por ejemplo, en el correo de salida,
y por lo tanto debería ser el
nombre que el administrador de la
red ha asignado.
❖El nombre de host se establece usando el
comando hostname. Este comando también
es el que se usa para pedirle al sistema su
nombre de host.
❖Si se desea configurar el nombre de host de
forma permanente en un sistema, es
necesario registrarlo en el archivo de
configuración adecuado que elige cada
distribución.
Permite configurar un nombre
único de host para la máquina.

# hostname
[OPCIONES][NOMBRE_HOST]

# hostname
Sebulba
# hostname Anakin
# su -
❖ Cuando Linux arranca, normalmente autodetecta la mayoría de
los adaptadores y los configura automáticamente.
❖ Para configurar los adaptadores manualmente, se necesita
saber como se ha compilado el soporte para ese adaptador en
particular:
▪ Para adaptadores cuyo soporte está compilado dentro del mismo kernel:
hay que aportar la información a Linux en el momento del arranque, bien en
el prompt de Grub grub> o como una sentencia options en el archivo
/boot/menu/menu.lst.
▪ Para adaptadores cuyo soporte se proporciona como un módulo del kernel:
hay que añadir la información en el archivo /etc/modprobe.conf.
❖ La mayoría de las distribuciones compilan el soporte para los
adaptadores ethernet como módulos.
❖ Cuando se utilizan las herramientas de configuración de la
distribución, este trabajo lo hace la distribución.
❖ Como se ha comentado en el apartado dedicado a los dispositivos e interfaces de red, cada
una de las interfaces tendrá unos parámetros de funcionamiento propios, que no deberán
interferir con los parámetros del resto de interfaces de red del sistema. Los parámetros que
se deberán configurar para cada interfaz son:
▪ Dirección IP. Dependiendo de la interfaz y de los servidores a los que se tenga acceso a través de
esa interfaz, es posible que esta dirección se determine automáticamente.
▪ Máscara de red. Al igual que la dirección IP, es posible que la máscara de red pueda determinarse
automáticamente.
▪ Dirección de red. Si se tiene una dirección IP y la máscara de la red asociada a esa interfaz, se
puede calcular cuál es la dirección de red. Por ello, generalmente no será necesario indicar la
dirección de red; el sistema puede calcularla.
▪ Dirección de broadcast. Al igual que la dirección de red, si se tiene una dirección IP y la máscara
de red asociada a la interfaz, también se puede calcular cuál es su dirección de broadcast. Tan solo
en casos muy específicos será necesario cambiar el valor que el sistema calcule automáticamente.
▪ Gateway por defecto. Si el equipo Linux está conectado a más de una red a través de una misma
interfaz, o a Internet, será necesario especificar cuál es el equipo que proporciona este acceso. A
esto se le conoce como Gateway por defecto.
▪ Nombre de la interfaz. Este nombre no está referido al identificador de la interfaz (eth0, ppp0, etc.),
sino al nombre con el que el equipo reconocerá la dirección IP asociada a la interfaz. Este nombre
debe ser diferente para cada una de las direcciones IP del equipo.
▪ Nombre del dominio. El nombre del dominio se establece de forma global para todas las interfaces
de red, ya que sirve para determinar a qué dominio pertenece la máquina (no la interfaz).
❖ El comando ifconfig (interface configuration) es la orden que permite
configurar por parte de root la interfaz o interfaces de red durante la fase de
arranque del sistema. Los usuarios distintos de root lo pueden invocar también
con fines informativos. Para ello, deben especificar la ruta completa del
comando (/sbin/ifconfig), pues por defecto, éste no está en el path de los
usuarios sin privilegios administrativos.
❖ El comando ifconfig, por tanto, configura o muestra los parámetros de la
interfaz de red para una red determinada.
❖ Si una máquina va a utilizar más de un adaptador de red para TCP/IP, por
ejemplo, si se comporta como router, entonces el comando ifconfig hay que
usarlo una vez para cada adaptador.
❖ Si se quiere hacer que los cambios queden permanentes, habrá que añadirlos
en los archivos de configuración que se leen en el arranque del sistema.
❖ Hay otros dos comandos adicionales que son muy útiles para activar o
desactivar un adaptador de red: ifup e ifdown, con el único argumento del
nombre del dispositivo.
❖ Sin argumentos, ifconfig despliega información
acerca de la configuración y funcionamiento actuales
de las interfaces de red activas (sólo interfaces
configuradas), con la opción –a se muestran todas
las interfaces de red (configuradas y sin configurar).
❖ Si al ejecutarse, se da como argumento el nombre
de alguno de los interfaces de red disponibles (Ej.: $
ifconfig eth0) sólo se muestra información sobre
esta interfaz.
❖ El comando ifconfig permite configurar un interfaz
”en caliente” o de manera dinámica, sin embargo, los
cambios sobre dicha interfaz se pierden tras reiniciar
el sistema.
❖ En general, no será necesario configurar la máscara
de subred y la dirección de broadcast cuando se
utilice direccionamiento con clase (classful) y se
tenga una IP conocida que el sistema pueda
gestionar.
❖ En caso de utilizar subnetting, (subredes) si será
necesario indicar los valores oportunos para la
interfaz de red.
❖ Información que se proporciona acerca de cada interfaz:
▪ Nombre de la interfaz: lo, eth0, eth1 ... enp0s3, enp0s8…
▪ Sobre el nivel de Enlace: protocolo de nivel de enlace (Ej.: Ethernet 100Mbps),
dirección a nivel de enlace (Ej.: dirección Ethernet 00:40:90:80:00:6F ).
▪ Sobre el nivel de Red: protocolo de nivel de red (Ej.: inet > protocolo IPv4, inet6 >
protocolo IPv6), información sobre el direccionamiento a nivel de red, dirección IP
asociada a la interfaz, dirección de broadcast y máscara de subred (Ej.: addr:
138.100.58.51 Bcast: 138.100.59.255 Mask: 255.255.252.0).
▪ Estado de la interfaz y facilidades que admite: UP (Interfaz activa), DOWN (interfaz
no activa), BROADCAST (Admite paquetes tipo broadcast), MULTICAST (Admite
servicio multicast)...
▪ Tamaño máximo de la unidad de datos de protocolo (MTU).
▪ Información sobre los paquetes trasmitidos (TX): número de paquetes enviados,
número de paquetes erróneos trasmitidos, cuántos han sido desechados o cuántos
sobrepasaban el tamaño máximo permitido.
▪ Información sobre los paquetes recibidos (RX): número de paquetes recibidos,
número de paquetes erróneos recibidos, cuántos han sido desechados o cuántos
sobrepasaban el tamaño máximo permitido.
▪ Datos sobre hardware: número de interrupción y dirección de comienzo de los
puertos de E/S (Interrupt: 5, Base address: 0x300).
Permite configurar por parte
del usuario root las
interfaces de red.

# ifconfig [DEVICE] [IP]


[netmask MASK] [broadcast
BROADCAST] [up | down]

# ifconfig eth0 up
# ifconfig eth0 192.168.25.3
netmask 255.255.255.0
broadcast 192.168.25.255 up
Mostrar dispositivos de red y su
configuración (ifconfig)
• ifconfig

Mostrar dispositivos de red y su


configuración (ip)
• ip addr show
• ip link show
• ip addr ls
Activar una interfaz de red
(ifconfig)
• ifconfig eth0 up

Activar una interfaz de red (ip)

• ip link set eth0 up


Desactivar una interfaz de red
(ifconfig)
• ifconfig eth0 down

Desactivar una interfaz de red


(ip)
• ip link set eth0 down
Establecer una dirección IP sobre
una interfaz (ifconfig)

• ifconfig eth0 192.168.1.1 netmask 255.255.255.0

Establecer una dirección IP sobre


una interfaz (ip)

• ip address add 192.168.1.1/24 dev eth0


• ip addr add 192.168.1.153/255.255.255.0 dev enp0s3
Eliminar una dirección IP de una
interfaz (ifconfig)
• No se puede

Eliminar una dirección IP de una


interfaz (ip)
• ip address del 192.168.1.1/24 dev eth0
• ip addr del 192.168.0.10/24 dev enp0s3
❖ Linux proporciona soporte para adaptadores de redes wireless conforme con el
estándar 802.11. Estos adaptadores generalmente se configuran como
cualquier otro adaptador ethernet (incluso el nombre de dispositivo “eth0”),
pero requieren unos cuantos parámetros extra. Los tres parámetros más
importantes son:
▪ La velocidad del enlace: Existen varios valores, siendo 54 Mbps el más común. Se
deberá escoger la velocidad correcta para cada red. La mayoría de los adaptadores
configuran la velocidad del enlace de forma automática si se establece este parámetro
como “auto”.
▪ El SSID (Service Set IDentifier): Esta cadena de caracteres se utiliza para identificar
la red a la que se quiere conectar. Normalmente se trata de un nombre simbólico (32
caracteres como máximo) que se refiere a la organización o departamento que explota
la red. Todos los adaptadores de red, puntos de acceso y otras piezas de
infraestructura que pertenecen a una red deberían tener el mismo SSID.
▪ Las claves de encriptación WEP/WPA que se van a usar: Los protocolos wireless
originalmente no integraban ningún aspecto de seguridad, lo que se traducía en que
cualquiera que estuviera próximo a la red tenía acceso ilimitado.
❖ El comando iwconfig (interface wireless configuration) es la orden que
permite configurar por parte de root la interfaz o interfaces de red durante la
fase de arranque del sistema. Los usuarios distintos de root lo pueden invocar
también con fines informativos. Para ello, deben especificar la ruta completa del
comando, (/sbin/iwconfig) pues por defecto, éste no está en el path de los
usuarios sin privilegios administrativos.
❖ El comando iwconfig, por tanto, configura o muestra los parámetros de la
interfaz de red para una red determinada.
❖ Si una máquina va a utilizar más de un adaptador de red para TCP/IP, por
ejemplo, si se comporta como router, entonces el comando iwconfig hay que
usarlo una vez para cada adaptador.
❖ Si se quiere hacer que los cambios queden permanentes, habrá que añadirlos
en los archivos de configuración que se leen en el arranque del sistema.
❖ Hay otros dos comandos adicionales que son muy útiles:
▪ iwlist: Lista información de las redes wireless que son alcanzables desde un
adaptador.
▪ iwspy: Muestra la calidad y potencia de la señal en transmisión.
Permite configurar por parte
del usuario root las
interfaces de red
inalámbricas.

# iwconfig [OPCIONES][DEVICE]

# iwconfig eth1 rate auto


essid “ESCOLAPIOS-WIFI” enc
“1234567890”
❖ Con la técnica de IP Aliasing o asignación de alias IP, se
pueden asignar múltiples direcciones IP a un solo adaptador.
Aunque en la mayoría de los casos esto no es necesario, en
otros, esto puede ser muy útil. Algunos ejemplos:
▪ Ciertas situaciones (como restricciones en direcciones IP) pueden
requerir que varias redes lógicas (múltiples y diferentes rangos de
direcciones IP) se definan como una única red física. Para poder
comunicarse entre ellas, uno o más sistemas necesitarán que se
establezcan dos direcciones IP, una para cada rango de
direcciones sobre un mismo adaptador. Este sistema, de esta
manera, actuará como router entre las dos redes lógicas.
▪ La situación arriba indicada es especialmente útil cuando una
organización se encuentra en proceso de transición de un rango IP
a otro. Cuando esto ocurre, se da típicamente un período de
tiempo en el que ambos rangos de IP se usan simultáneamente.
▪ Otra situación en la que se usan los alias con frecuencia es para
clusters de alta disponibilidad. En estos clusters, cada sistema consta
de una dirección IP permanente, llamada la dirección de servicio. Esta
dirección se asigna de forma estática a cada sistema y se utiliza para
tareas de mantenimiento y pruebas. Además de ésta, se asigna al
cluster, en su conjunto, una dirección IP llamada de producción. El
sistema que está activo en producción obtiene esta dirección IP
asignada como un alias y es así como recibe la carga. Si el sistema de
producción falla, solamente se trata de añadir la dirección IP alias al
sistema de backup, y la carga de forma transparente pasará a este
otro sistema.
▪ Un último uso para los alias de direcciones IP es en escenarios de
pruebas. Por ejemplo, se supone que se están probando protocolos de
enrutamiento. Si no se tuvieran alias de direcciones IP, se necesitaría
disponer de cantidades considerables de hardware de red (hubs,
adaptadores, cables, routers). Con alias IP, sólo se necesita configurar
múltiples redes lógicas sobre una red física para realizar nuestras
pruebas.
❖ Configurar alias en Linux es realmente sencillo. Si se
quiere configurar un alias sobre eth0, sólo hay que
configurar el dispositivo eth0:0 como si fuera un
dispositivo separado. Esto activa el primer alias. El
segundo alias, obviamente será eth0:1, y así
sucesivamente. El máximo número de alias que se
pueden definir es de 255:

▪ # ifconfig eth0:0 …
▪ # ifup eth0:0
Añadir una interfaz virtual
(ifconfig)
• ifconfig eth0:1 10.0.0.1/8

Añadir una interfaz virtual (ip)

• ip address add 10.0.0.1/8 dev eth0 label


eth0:1
• ip addr add 192.168.1.20/24 dev enp0s3 label
enp0s3:1
❖ Una vez configurada la dirección IP y la máscara de
subred, se debería poder establecer comunicación
con cualquier sistema situado en la misma red local.
Si se quiere establecer comunicación con alguien
situado fuera de la misma red local, es necesario
configurar la dirección IP del router que conecta la
red local con el mundo exterior. Este es el llamado
router por defecto, y a la ruta para alcanzarlo
(esencialmente su dirección IP) se le llama ruta por
defecto.
❖ La ruta por defecto se configura con el comando route, que
también se usa para mostrar la tabla de enrutamiento.
❖ De nuevo, para hacer estos cambios permanentes, hay que
añadir la direcciones IP de las rutas por defecto a los
correspondientes archivos de configuración de cada una de las
distribuciones Linux.
❖ La mayoría de las distribuciones también permiten configurar
una ruta por defecto en un archivo específico de dispositivo.
Esto es útil en portátiles, donde se usan diferentes adaptadores
para diferentes localidades, y cada localidad tiene un gateway
distinto.
❖ Si se tienen múltiples routers en la red, o si el sistema es un
router en sí mismo, será necesario establecer un enrutamiento
más avanzado.
Permite mostrar la tabla de
rutas o configurar nuevas
rutas para el equipo.

# route [add][default][-net
DIR_IP_RED] [netmask MASK][gw
DIR_IP][dev INTERFAZ_SALIDA]

# route add default gw


129.33.151.1
Comprobar la información de
enrutamiento (route)

• route

Comprobar la información de
enrutamiento (ip)

• ip route show
• ip route show get 192.168.1.1
Agregar una ruta estática (route)

• route add default gw 192.168.1.150


• route add –net 172.16.32.32 gw
192.168.1.150

Agregar una ruta estática (ip)

• ip route add default via 192.168.1.150/24


• ip route add 172.16.32.32 via
192.168.1.150/24 dev enp0s3
Eliminar una ruta estática (route)

• route del default gw 192.168.1.150


• route del –net 172.16.32.32 gw
192.168.1.150

Eliminar una ruta estática (ip)

• ip route del 192.168.1.150/24


• ip route del 172.16.32.32
❖Ejercicio 1) Ejecutar el comando ifconfig (Ej.:
$ ifconfig). ¿Cuántos interfaces de red están
activos? ¿Cuáles son sus nombres?.
❖Ejercicio 2) Visualizar sólo información sobre
el estado de la interfaz de red eth0. ¿Cuál es
su dirección Ethernet? ¿Y su dirección IP?
¿Cuál es el número de paquetes enviados?
¿Y recibidos?.
❖ El comando ping se suele utilizar para comprobar de forma
rápida si se puede establecer conexión entre dos equipos. Su
nombre se ha tomado de la operación de sonar que consiste en
localizar un objeto. El programa fue escrito por Mike Muuss. El
comando ping se basa en una funcionalidad, llamada echo,
que proporciona el protocolo ICMP (Internet Control Message
Protocol).
❖ La funcionalidad echo de ICMP consiste en que una entidad
ICMP emisora envíe un pequeño paquete de datos a un
determinado equipo, cuando la entidad ICMP correspondiente
al equipo de destino recibe el paquete, simplemente se lo
reenvía a la entidad emisora.
❖ El valor del campo “Tipo del mensaje ICMP” será 0 para un
mensaje echo request (petición de echo) o 8 para un mensaje
echo response (respuesta de echo). En los dos casos, el valor
del campo “Código” será 0. En las implementaciones de ping
sobre sistemas UNIX (como Linux) el campo “Identificador” de
la cabecera ICMP corresponde al ID del proceso emisor. El
“Número de Secuencia” comienza desde 0 y se va
incrementando en uno por cada nueva petición de echo.
❖ La primera línea de información que nos muestra el comando
ping proporciona el nombre y la dirección IP del equipo hacia
el que se ha hecho un ping, además de la cantidad de bytes de
datos que se envían en cada paquete, que suelen ser 56. Cada
una de las líneas que se van sucediendo después de la primera
corresponden a cada uno de los paquetes que se reciben en
respuesta a cada uno de los paquetes ICMP enviados.
❖ La implementación de ping con la que se está trabajando envía
una petición de echo (ICMP echo request) cada segundo,
cuando llega la correspondiente respuesta, (ICMP echo reply)
se genera una línea con la siguiente información; longitud en
bytes del paquete ICMP recibido (64 = 8 bytes de cabecera
ICMP + 56 de datos), la dirección IP del equipo emisor, el valor
del campo Número de Secuencia del paquete ICMP recibido, el
valor del campo TTL de la cabecera IP y el tiempo transcurrido
desde la emisión del paquete de petición correspondiente.
❖ Por último, la ejecución del comando ping se interrumpe con la
secuencia de teclas Ctrl+C, el programa termina mostrando una
pequeña estadística sobre el número de paquetes enviados y
recibidos durante la sesión.
Permite monitorizar a
cualquier usuario del sistema
si una máquina está activa o
no en la red.

# ping [MODIFICADORES] DIR_IP


| NOMBRE_HOST

# ping –c 5 www.yahoo.es
# ping –n www.cisco.com
# ping 192.168.25.254
❖ Ejercicio 1) Realizar un ping hacia alguno de los equipos del
aula (EJ.: $ping 10.1.1.254). Observar el retardo y el valor del
campo TTL.
❖ Ejercicio 2) Realizar un ping a yahoo.com (Ej.: ping
www.yahoo.com). Observar los cambios en los tiempos de
respuesta y en el valor del campo TTL. ¿Cuál ha sido el tiempo
de retardo mínimo? ¿Cuál ha sido el tiempo de retardo
máximo? ¿Cuál ha sido el tiempo medio de retardo? ¿Se ha
perdido algún paquete?.
❖ Ejercicio 3) Realizar un ping a una máquina que no exista (Ej.:
$ping teiX). Teniendo en cuenta que el equipo se ha sacado
físicamente de la red, observar que sucede cuando se hace un
ping a un equipo que no es accesible.
❖ Mediante este comando se puede ver la ruta que siguen los
paquetes IP para llegar a un determinado equipo. traceroute
utiliza tanto el protocolo ICMP como el contenido del campo
“TTL” de la cabecera de los datagramas IP, y funciona de la
siguiente forma:
▪ Lo primero que hace es enviar, al equipo destino, un datagrama IP
con el campo TTL a 1. El primer router por el que pase el
datagrama restará 1 al campo TTL, quedándose el campo a cero,
con lo que el datagrama será descartado. Además de descartar el
datagrama el router enviará un mensaje ICMP de tipo "tiempo
superado" (time exceeded) dirigido al equipo de origen. Mediante
el mensaje ICMP recibido se puede identificar al primer router que
forma parte de la ruta. A continuación, se envía un segundo
datagrama IP con TTL igual a 2 para identificar al segundo router.
Así sucesivamente hasta que se llegue al equipo de destino.
❖ Cada datagrama IP enviado por indicación del
programa traceroute encapsula un paquete UDP.
El puerto de destino de este paquete UDP
corresponde a un identificador de puerto que es muy
poco probable que se utilice (mayor que 30.000).
Cuando un paquete UDP va dirigido a un puerto que
no está activo, la entidad UDP del equipo destino
genera un mensaje ICMP de tipo “puerto no
disponible” (destination unreachable, código = 3)
dirigido al equipo de origen. Cuando se recibe un
mensaje ICMP de tipo “puerto no disponible”, quiere
decir que se ha llegado al equipo de destino.
❖ El formato del comando traceroute es: traceroute
NOMBRE_EQUIPO | DIR_IP del equipo que se desea tracear (Ej.: $
traceroute mi_maq o $ traceroute 10.1.1.254). La
información que proporciona es la siguiente:
▪ Una primera línea con el nombre y la dirección IP del equipo de
destino, número máximo de saltos a realizar y tamaño del paquete
que se envía (40 bytes = 20 cabecera IP + 8 cabecera UDP + 12
datos de usuario).
▪ Cada línea de las que aparezcan a continuación de la primera
representa un salto realizado para llegar al equipo destino y la
información que se muestra en cada una de estas líneas es:
número de salto (TTL), nombre y dirección IP del equipo al que se
llega después de ese salto y, a continuación, tres muestras de los
tiempos de retardo empleados en llegar a ese equipo. Por cada
salto, se envían tres paquetes UDP con el mismo TTL.
Permite a cualquier usuario
del sistema comprobar la ruta
para alcanzar una máquina.

# traceroute [MODIFICADORES]
DIR_IP | NOMBRE_HOST

# traceroute -n www.yahoo.es
# traceroute 192.168.25.254
❖ Ejercicio 1) Realizar un traceroute a aulavirtual-
escolapiosdegetafe.tk (Ej.: $ traceroute 80.25.253.4). ¿Cuantos
saltos son necesarios para llegar al aula virtual Moodle? ¿Por
cuantos equipos pasan los paquetes enviados desde nuestro
equipo antes de llegar al servidor Moodle?.
❖ Ejercicio 2) Realizar un traceroute a sanson.dit.upm.es (Ej.: $
traceroute sanson.eui.upm.es). ¿Cuántos saltos son necesarios
para llegar a sanson.dit.upm.es? ¿Por cuantos equipos pasan
los paquetes enviados desde nuestro equipo antes de llegar a
sanson.dit.upm.es?.
❖ Ejercicio 3) Realizar un traceroute a yahoo.com (Ej.: $
traceroute www.yahoo.com). ¿Cuantos saltos son necesarios
para llegar a www.yahoo.com? ¿Por cuantos equipos pasan los
paquetes enviados desde nuestro equipo antes de llegar a
www.yahoo.com?.
❖ Todos los ordenadores de una misma red comparten el mismo medio
físico, por lo que debe de existir un identificador único para cada
equipo o, mejor dicho, para cada tarjeta de red. Cuando se envían
datos en una red local, hay que especificar claramente a quien van
dirigidos. Esto se consigue mediante la dirección MAC (Medium
Access Control), un número compuesto por 12 dígitos hexadecimales
que identifica de forma única a cada dispositivo Ethernet. La dirección
MAC se compone, por tanto, de 48 bits. Los 24 primeros bits
identifican al fabricante del hardware y los 24 bits restantes
corresponden al número de serie asignado por el fabricante, lo que
garantiza que dos tarjetas no puedan tener la misma dirección MAC,
ya que direcciones MAC duplicadas causarían problemas en la red.
❖ El comando arp permite ver y modificar manualmente la tabla que
mantiene el módulo ARP (Address Resolution Protocol). En esta tabla
están las correspondencias entre las direcciones IP y las direcciones
hardware.
Permite visualizar y modificar
la tabla arp de una máquina.

# arp [MODIFICADORES]

# arp -a
# arp –d 192.168.30.30
Desconectar un dispositivo ARP
(ifconfig)
• ifconfig –arp eth0

Desconectar un dispositivo ARP


(ip)
• ip link set dev eth0 arp off
Añadir una entrada estática en la
caché ARP (ifconfig)
• arp –i eth0 –s 192.168.0.1 00:11:22:33:44:55

Añadir una interfaz virtual (ip)

• ip neigh add 192.168.0.1 lladdr


00:11:22:33:44:55 nud permanent dev eth0
❖Comando mediante el que se
puede obtener el estado de las
conexiones activas de red.
Utilizando este comando también
es posible ver la tabla de rutas del
equipo sobre el que se ejecuta e
información sobre las interfaces de
red.
Permite a cualquier usuario
del sistema comprobar las
conexiones activas de la
máquina.

# netstat [MODIFICADORES]

# netstat –an
# netstat -atun
❖ Ejercicio 1) Ver el estado de todos los sockets activos mediante el
comando netstat con el parámetro –n. Este ejercicio muestra por una
parte una tabla con todas las conexiones activas abiertas a través de
internet. Para cada entrada se especifica el protocolo empleado (tcp,
udp, raw...), el número de paquetes recibidos , el número de paquetes
enviados, dirección origen, dirección destino, estado del interface
(LISTEN, ESTABLISHED ...) y finalmente el usuario del socket. A
continuación de la primera tabla se muestra una segunda con
información sobre los sockets abiertos por el sistema para su uso
interno.
❖ Ejercicio 2) Obtener información sobre el estado de los interfaces del
sistema mediante netstat - i. ¿Cuál es el tamaño máximo de la unidad
de transmisión de datos para la interfaz lo? ¿Y para la eth0?
❖ Ejercicio 3) Obtener la tabla de rutas del sistema mediante netstat -r.
Repetir la operación pero añadiendo además el parámetro -n (Ej.:
netstat -rn). ¿Cuál es la diferencia respecto al caso anterior (sin el
parámetro - n)?
2

1 3
Ficheros
de
Configuración

5 4
❖ Si se desea configurar el nombre de host de forma
permanente en un sistema, es necesario registrarlo
en el archivo de configuración adecuado que elige
cada distribución.
❖ Red Hat Enterprise Edition, CentOS y Fedora
Core guardan los nombres de host en el archivo
/etc/sysconfig/network, aunque en las
últimas versiones de CentOS el nombre reside en el
fichero /etc/hostname. Cuando el sistema
arranca, este archivo se lee, y el comando
hostname es ejecutado para establecer el nombre
de host.
##################################################################################
# FICHERO: /etc/sysconfig/network
# DESCRIPCIÓN: Especifica información sobre la configuración de la red deseada.
# FORMATO: NETWORKING=respuesta donde respuesta es una de las siguientes:
# - yes: la red debe configurarse.
# - no: la red no debe configurarse.
# HOSTNAME=NombreHost donde NombreHost debería ser el FQDN
# (nombre de dominio calificado, del inglés Fully Qualified
# Domain Name), pero puede ser cualquier nombre que se desee.
# Atención: Por compatibilidad con software antiguo que alguien
# quiera instalar, el fichero /etc/HOSTNAME debe contener el mismo
# valor que aquí.
##################################################################################

NETWORKING=yes
HOSTNAME=CENTOS-CLIENT-SYS31.localdomain
GATEWAY=192.168.31.1
##################################################################################
# FICHERO: /etc/hostname
# DESCRIPCIÓN: Especifica el nombre local de la máquina.
# FORMATO: HOSTNAME=NombreHost, donde NombreHost debería ser el FQDN (nombre de
# dominio cualificado, del inglés Fully Qualified Domain Name), pero
# puede ser cualquier nombre que se quiera.
# NOTAS: Este archivo no admite que se realice ningún tipo de comentario.
##################################################################################

CENTOS-CLIENT-SYS31.localdomain
❖ Si se quiere hacer que los cambios en la
configuración TCP/IP de los interfaces de red
queden permanentes, habrá que añadirlos en los
archivos de configuración que se leen en el arranque
del sistema.
❖ Red Hat Enterprise Edition, CentOS y Fedora
Core guardan los parámetros TCP/IP en
/etc/sysconfig/networking/devices/ifcfg
-<dispositivo> o bien en
/etc/sysconfig/network-scripts/ifcfg-
<dispositivo>.
❖ Configurar alias en Linux es realmente sencillo. Si se quiere configurar un alias
sobre eth0, sólo hay que configurar el dispositivo eth0:0 como si fuera un
dispositivo separado. Esto activa el primer alias. El segundo alias, obviamente
será eth0:1, y así sucesivamente. El máximo número de alias que se pueden
definir es de 255 por interfaz. Se deberá crear un archivo independiente para
cada alias que se desee definir:

▪ /etc/sysconfig/network-scripts/ifcfg-eth0:0 …
▪ /etc/sysconfig/network-scripts/ifcfg-eth0:1 …
▪ /etc/sysconfig/network-scripts/ifcfg-eth0:n

❖ Las interfaces de red virtuales sirven para tener varias direcciones IP utilizando
una misma tarjeta de red, y así ofrecer servicios en cada una de estas
direcciones. Esto puede hacerse usando una técnica llamada "IP Aliasing", un
standard en las versiones 2.2.x, 2.4.x y 2.6.x del kernel.
##################################################################################
# FICHERO: /etc/sysconfig/network-scripts/ifcfg-enp0s3
# DESCRIPCIÓN: Especifica información sobre la configuración TCP/IP de un
# adaptador de red o alias concreto.
# NOTAS: Debe existir un fichero de configuración por cada dirección IP que posea
# la máquina.
##################################################################################
DEVICE=“enp0s3”
# Debe coincidir con el nombre de la interfaz física, si es un alias, se pone el
# nombre del alias.
ONBOOT=“yes” | “no”
BOOTPROTO=“static” | “none” | “dhcp”
IPADDR=“192.168.31.5”
NETMASK=“255.255.255.0”
NETWORK=“192.168.31.0”
BROADCAST=“192.168.31.255”
HWADDR=“00:0c:29:22:50:08”
❖ Los nombres de hosts simbólicos como
www.escolapiosdegetafe.es son fáciles de recordar,
mientras que recordar una dirección IP como 217.76.130.108
no lo es tanto. Esta es la razón por la que casi la mayoría de las
direcciones IP tienen un nombre de host asociado. Cada host
en una red IP deberá ser capaz de “resolver” (traducir) un
nombre de host a su dirección IP correspondiente. Hay
básicamente dos maneras de hacerlo:
▪ Añadiendo todos los nombres de host y direcciones IP que se
vayan a utilizar al archivo /etc/hosts.
▪ Configurando DNS, utilizando el archivo /etc/resolv.conf.
❖ El archivo /etc/hosts tiene la siguiente sintaxis:
<Dirección IP> <Nombre de Host> <Alias>
❖ Dos entradas que se deben incluir siempre en /etc/hosts son
loopback y la máquina local. Adicionalmente, se deberían incluir otras
máquinas de la red, especialmente si no se va a utilizar un DNS.
❖ Los alias se pueden crear también en este archivo situándolos a
continuación del nombre de host. Cada alias tendrá que ir separado por un
espacio en blanco. Los alias no pueden contener más de 255 caracteres y
deben estar contenidos en una línea.
❖ Si la resolución de nombres en una red va a realizarse únicamente
basándose en el archivo /etc/hosts, entonces cada /etc/hosts debe
contener una entrada por cada sistema de la red. Será necesario, además,
tener todos los archivos /etc/hosts de todos los sistemas sincronizados.
Este método de resolución de nombres se denomina resolución plana, y a
estas redes se las llama redes planas.
##################################################################################
# FICHERO: /etc/hosts
# DESCRIPCIÓN: Contiene el mapeo de nombres de equipos a direcciones IP.
# Tiene dos usos principales:
# 1) Cuando la red es pequeña y no existe servicio DNS.
# 2) Cuando quiero configurar alias de máquinas para que
# aunque tenga disponible DNS se puedan utilizar nombres
# cortos (máquinas a las que se accede a diario).
# FORMATO: <Dirección IP> <Nombre de host> <Alias>
# NOTAS: Para la resolución de nombres por defecto siempre se consulta 1º
# este fichero y a continuación los servidores DNS configurados en
# /etc/resolv.conf
##################################################################################

127.0.0.1 loopback localhost


192.168.31.5 CENTOS-CLIENT-SYS31 CENTOS-CLIENT-SYS31.localdomain
129.33.151.1 sys1.localdomain router
129.33.151.201 sys201.localdomain dns1
129.33.151.202 sys202.localdomain dns2
❖ Si se quiere realizar la resolución de nombres a través de un DNS, habrá que editar
el archivo /etc/resolv.conf.
❖ La línea de este archivo más importante es la línea nameserver, que identifica la
dirección IP del servidor DNS que se va a utilizar. Puede haber un total de tres líneas
nameserver en /etc/resolv.conf, y cada servidor de nombres será consultado
por orden hasta que se obtenga una respuesta.
❖ También se puede especificar una o más directivas search. Cuando se usa un DNS,
los nombres de host son denominados también como “Nombres de máquina
calificados por completo” (FQDN, Fully Qualified Domain Name), por ejemplo,
sys7.acme.com. Si se utiliza mucho un sistema del dominio acme.com, se hace
pesado teclear este nombre cada vez (y los nombres de dominio pueden ser mucho
más largos que acme.com, como por ejemplo, escolapiosdegetafe.es). Con la
directiva search acme.com en el archivo /etc/resolv.conf, el dominio
acme.com se añade automáticamente al nombre de host, cuando se realiza una
llamada a un sistema.
❖ Así, en lugar de teclear sys7.acme.com, bastaría con teclear sys7.
❖ Algunas veces también se utiliza el argumento domain. Este
argumento especifica al DNS el host local. Esto es especialmente
útil si el nombre de host de la máquina no se establece como FQDN
(esto ocurre mucho con ordenadores portátiles que se conectan a
varias redes).
❖ Sólo puede existir una sentencia domain. Si existe una, este
dominio también se buscará, como si se tratara de una directiva
search.
❖ Nota: Para indicar el orden de prioridad en la resolución de nombres
se utiliza el fichero /etc/host.conf, con la directiva order
hosts, bind para que primero intente resolver el nombre de host
en el fichero /etc/hosts, y en caso de no ser posible consulte al
DNS.
##################################################################################
# FICHERO: /etc/resolv.conf
# DESCRIPCIÓN: Contiene las direcciones IP de los servidores de nombres que
# pueden resolver consultas internas o externas DNS.
# FORMATO: <domain> <Nombre de dominio>
# <search> <Nombre de dominio>
# <nameserver> <Dirección IP servidor de nombres>
# NOTAS: domain se utilizará para establecer el sufijo FQDN principal de la
# empresa (solo puede existir un domain por fichero resolv.conf. Para
# añadir sufijos adicionales se utiliza search, que permite poner un
# número indeterminado de sufijos secundarios a los que consultar.
##################################################################################

domain escolapiosdegetafe.es
search escolapios.com
search escolapios.es
nameserver 80.58.61.250
nameserver 80.58.61.254
❖ Una vez configurada la dirección IP y la máscara de subred, se
debería poder establecer comunicación con cualquier sistema situado
en la misma red local. Si se quiere establecer comunicación con
alguien situado fuera de la misma red local, es necesario configurar la
dirección IP del router que conecta la red local con el mundo exterior.
Éste es el llamado router por defecto, y a la ruta para alcanzarlo
(esencialmente su dirección IP) se le llama ruta por defecto.
❖ De nuevo, para hacer estos cambios permanentes, hay que añadir las
direcciones IP de las rutas a configurar al archivo
/etc/sysconfig/network-scripts/route-<dispositivo>. La
mayoría de las distribuciones también permiten configurar una ruta por
defecto en un archivo específico de dispositivo. Esto es útil en
portátiles, donde se usan diferentes adaptadores para diferentes
localidades, y cada localidad tiene un gateway distinto.
##################################################################################
# FICHERO: /etc/sysconfig/network-scripts/route-enp0s3
# DESCRIPCIÓN: Contiene todas aquellas rutas estáticas configuradas de manera
# global para la máquina.
# FORMATO: ADDRESSn=<Dirección IP de la red/subred de destino>
# NETMASKn=<Máscara de red de la red/subred de destino>
# GATEWAYn=<Dirección IP del Siguiente salto>
##################################################################################

ADDRESS0=172.16.0.0
NETMASK0=255.255.0.0
GATEWAY0=192.168.31.1
❖ Finalmente, existe la posibilidad de realizar toda la configuración anteriormente
descrita a través de herramientas propias de cada distribución.
❖ En Red Hat Enterprise Edition, CentOS y Fedora Core esta herramienta se
ejecuta como system-config-network lanzando un asistente a continuación
para la configuración de los parámetros más importantes de los adaptadores
presentes en el sistema:
2

1 3
Ficheros
de
Configuración

5 4
❖ Si se desea configurar el nombre de host de forma
permanente en un sistema, es necesario registrarlo
en el archivo de configuración adecuado que elige
cada distribución.
❖ Debian, Ubuntu y MaX guardan los nombres de host
en el archivo /etc/hostname. Cuando el sistema
arranca, este archivo se lee, y el comando
hostname es ejecutado para establecer el nombre
de host.
##################################################################################
# FICHERO: /etc/hostname
# DESCRIPCIÓN: Especifica el nombre local de la máquina.
# FORMATO: HOSTNAME=NombreHost, donde NombreHost debería ser el FQDN (nombre de
# dominio cualificado, del inglés Fully Qualified Domain Name), pero
# puede ser cualquier nombre que se quiera.
# NOTAS: Este archivo no admite que se realice ningún tipo de comentario.
##################################################################################

DEBIAN-SERVER-SYS31.localdomain
❖ Si se quiere hacer que los cambios en la
configuración TCP/IP de los interfaces de red
queden permanentes, habrá que añadirlos en los
archivos de configuración que se leen en el arranque
del sistema.
❖ Debian, Ubuntu y MaX guardan los parámetros
TCP/IP en /etc/network/interfaces.
❖ Si se crean alias de red, la configuración de éstos
también deberá ser incluida en este fichero.
##################################################################################
# FICHERO: /etc/network/interfaces
# DESCRIPCIÓN: Especifica información sobre la configuración TCP/IP de todos
# los adaptadores de red y/o alias concretos.
# NOTAS: La configuración de cada dirección IP que posea la máquina va incluida
# en este fichero.
##################################################################################
allow-hotplug eth0
# Para dispositivos USB o interfaces que se enchufan y desenchufan. Se debería
# comentar esta linea en servidores.
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.31.1
netmask 255.255.255.0
network 192.168.31.0
broadcast 192.168.31.255
dns-search nicedomain.org
dns-nameservers 195.238.2.21 195.238.2.22 # Solo si resolvconf instalado
❖ Los nombres de hosts simbólicos como
www.escolapiosdegetafe.es son fáciles de recordar,
mientras que recordar una dirección IP como 217.76.130.108
no lo es tanto. Esta es la razón por la que casi la mayoría de las
direcciones IP tienen un nombre de host asociado. Cada host
en una red IP deberá ser capaz de “resolver” (traducir) un
nombre de host a su dirección IP correspondiente. Hay
básicamente dos maneras de hacerlo:
▪ Añadiendo todos los nombres de host y direcciones IP que se
vayan a utilizar al archivo /etc/hosts.
▪ Configurando DNS, utilizando el archivo /etc/resolv.conf.
❖ El archivo /etc/hosts tiene la siguiente sintaxis:
<Dirección IP> <Nombre de Host> <Alias>
❖ Dos entradas que se deben incluir siempre en /etc/hosts son
loopback y la máquina local. Adicionalmente, se deberían incluir otras
máquinas de la red, especialmente si no se va a utilizar un DNS.
❖ Los alias se pueden crear también en este archivo situándolos a
continuación del nombre de host. Cada alias tendrá que ir separado por un
espacio en blanco. Los alias no pueden contener más de 255 caracteres y
deben estar contenidos en una línea.
❖ Si la resolución de nombres en una red va a realizarse únicamente
basándose en el archivo /etc/hosts, entonces cada /etc/hosts debe
contener una entrada por cada sistema de la red. Será necesario, además,
tener todos los archivos /etc/hosts de todos los sistemas sincronizados.
Este método de resolución de nombres se denomina resolución plana, y a
estas redes se las llama redes planas.
##################################################################################
# FICHERO: /etc/hosts
# DESCRIPCIÓN: Contiene el mapeo de nombres de equipos a direcciones IP.
# Tiene dos usos principales:
# 1) Cuando la red es pequeña y no existe servicio DNS.
# 2) Cuando quiero configurar alias de máquinas para que
# aunque tenga disponible DNS se puedan utilizar nombres
# cortos (máquinas a las que se accede a diario).
# FORMATO: <Dirección IP> <Nombre de host> <Alias>
# NOTAS: Para la resolución de nombres por defecto siempre se consulta 1º
# este fichero y a continuación los servidores DNS configurados en
# /etc/resolv.conf
##################################################################################

127.0.0.1 loopback localhost


192.168.31.1 DEBIAN-SERVER-SYS31 DEBIAN-SERVER-SYS31.localdomain
❖ Si se quiere realizar la resolución de nombres a través de un DNS, habrá que editar
el archivo /etc/resolv.conf.
❖ La línea de este archivo más importante es la línea nameserver, que identifica la
dirección IP del servidor DNS que se va a utilizar. Puede haber un total de tres líneas
nameserver en /etc/resolv.conf, y cada servidor de nombres será consultado
por orden hasta que se obtenga una respuesta.
❖ También se puede especificar una o más directivas search. Cuando se usa un DNS,
los nombres de host son denominados también como “Nombres de máquina
calificados por completo” (FQDN, Fully Qualified Domain Name), por ejemplo,
sys7.acme.com. Si se utiliza mucho un sistema del dominio acme.com, se hace
pesado teclear este nombre cada vez (y los nombres de dominio pueden ser mucho
más largos que acme.com, como por ejemplo, escolapiosdegetafe.es). Con la
directiva search acme.com en el archivo /etc/resolv.conf, el dominio
acme.com se añade automáticamente al nombre de host, cuando se realiza una
llamada a un sistema.
❖ Así, en lugar de teclear sys7.acme.com, bastaría con teclear sys7.
❖ Algunas veces también se utiliza el argumento domain. Este
argumento especifica al DNS el host local. Esto es especialmente
útil si el nombre de host de la máquina no se establece como FQDN
(esto ocurre mucho con ordenadores portátiles que se conectan a
varias redes).
❖ Sólo puede existir una sentencia domain. Si existe una, este
dominio también se buscará, como si se tratara de una directiva
search.
❖ Nota: Para indicar el orden de prioridad en la resolución de nombres
se utiliza el fichero /etc/host.conf, con la directiva order
hosts, bind para que primero intente resolver el nombre de host
en el fichero /etc/hosts, y en caso de no ser posible consulte al
DNS.
##################################################################################
# FICHERO: /etc/resolv.conf
# DESCRIPCIÓN: Contiene las direcciones IP de los servidores de nombres que
# pueden resolver consultas internas o externas DNS.
# FORMATO: <search> <Nombre de dominio>
# <domain> <Nombre de dominio>
# <nameserver> <Dirección IP servidor de nombres>
# NOTAS: domain se utilizará para establecer el sufijo FQDN principal de la
# empresa (solo puede existir un domain por fichero resolv.conf. Para
# añadir sufijos adicionales se utiliza search, que permite poner un
# número indeterminado de sufijos secundarios a los que consultar.
##################################################################################

domain escolapiosdegetafe.es
search escolapios.com
search escolapios.es
nameserver 80.58.61.250
nameserver 80.58.61.254
❖ Este archivo de configuración se utiliza para pasarle al kernel
parámetros de configuración en tiempo de ejecución. En términos
más simples, sirve para configurar el kernel que se está ejecutando
o cambiar su comportamiento. Es equivalente a cambiar valores en
los archivos del directorio virtual /proc/sys.
❖ Para aplicar los cambios realizados en la configuración sobre el
kernel en ejecución se debe ejecutar el siguiente comando:

$sudo sysctl –p (En sistemas Ubuntu)


#sysctl –p (En sistemas Debian)

❖ También se pueden utilizar los editores nano, joe, vi/vim, o


emacs para editar directamente /etc/sysctl.conf.
##################################################################################
# FICHERO: /etc/sysctl.conf
# DESCRIPCIÓN: Contiene valores que se le pasan al kernel de Linux en tiempo de
# ejecución.
# FORMATO: <variable> = valor
##################################################################################

# Controls IP packet forwarding


net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1

❖ Una vez configurada la dirección IP y la máscara de subred, se
debería poder establecer comunicación con cualquier sistema situado
en la misma red local. Si se quiere establecer comunicación con
alguien situado fuera de la misma red local, es necesario configurar la
dirección IP del router que conecta la red local con el mundo exterior.
Este es el llamado router por defecto, y a la ruta para alcanzarlo
(esencialmente su dirección IP) se le llama ruta por defecto.
❖ De nuevo, para hacer estos cambios permanentes, hay que añadir las
direcciones IP de las rutas a configurar al archivo
/etc/network/interfaces. La mayoría de las distribuciones
también permiten configurar una ruta por defecto en un archivo
específico de dispositivo. Esto es útil en portátiles, donde se usan
diferentes adaptadores para diferentes localidades, y cada localidad
tiene un gateway distinto.
##################################################################################
# FICHERO: /etc/network/interfaces
# DESCRIPCIÓN: Contiene todas aquellas rutas estáticas configuradas de manera
# global para la máquina.
##################################################################################

auto eth0
iface eth0 inet static
address 10.9.38.76
netmask 255.255.255.240
network 10.9.38.64
broadcast 10.9.38.79
### ruteo estatico ###
post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.38.65
pre-down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.38.6
❖ Finalmente, existe la posibilidad de realizar toda la configuración anteriormente
descrita a través de herramientas propias de cada distribución.
❖ En Debian, esta herramienta se ejecuta como network-admin lanzando, a
continuación, un asistente para la configuración de los parámetros más
importantes de los adaptadores presentes en el sistema:
2

1 3
Ficheros
de
Configuración

5 4
❖ Si se desea configurar el nombre de host de forma
permanente en un sistema, es necesario registrarlo
en el archivo de configuración adecuado que elige
cada distribución.
❖ SuSE Linux Enterprise Server y OpenSuSE
guardan los nombres de host en el archivo
/etc/HOSTNAME. Cuando el sistema arranca, este
archivo se lee, y el comando hostname es ejecutado
para establecer el nombre de host.
##################################################################################
# FICHERO: /etc/HOSTNAME
# DESCRIPCIÓN: Especifica el nombre local de la máquina.
# FORMATO: NombreHost, donde NombreHost debería ser el FQDN (nombre de
# dominio cualificado, del inglés Fully Qualified Domain Name), pero
# puede ser cualquier nombre que se quiera.
# NOTAS: Este archivo no admite que se realice ningún comentario.
##################################################################################

OPENSUSE-CLIENT-SYS31.localdomain
❖Si se quiere hacer que los cambios en la
configuración TCP/IP de los interfaces de red
queden permanentes, habrá que añadirlos en
los archivos de configuración que se leen en
el arranque del sistema.
❖SuSE Linux Enterprise Server y
OpenSuSE guardan los parámetros TCP/IP
en /etc/sysconfig/network/ifcfg-
<dispositivo>.
❖ Configurar alias en Linux es realmente sencillo. Si se quiere configurar un alias
sobre eth0, sólo hay que configurar el dispositivo eth0:0 como si fuera un
dispositivo separado. Esto activa el primer alias. El segundo alias, obviamente
será eth0:1, y así sucesivamente. El máximo número de alias que se pueden
definir es de 255 por interfaz. Se deberá crear un archivo independiente para
cada alias que se desee definir:

▪ /etc/sysconfig/network/ifcfg-eth0:0 …
▪ /etc/sysconfig/network/ifcfg-eth0:1 …
▪ /etc/sysconfig/network/ifcfg-eth0:n

❖ Las interfaces de red virtuales sirven para tener varias direcciones IP utilizando
una misma tarjeta de red, y así ofrecer servicios en cada una estas direcciones.
Esto puede hacerse usando una técnica llamada "IP Aliasing", un standard en
las versiones 2.2.x, 2.4.x y 2.6.x del kernel.
##################################################################################
# FICHERO: /etc/sysconfig/network/ifcfg-eth0
# DESCRIPCIÓN: Especifica información sobre la configuración TCP/IP de un
# adaptador de red o alias concreto.
# NOTAS: Debe existir un fichero de configuración por cada dirección IP que posea
# la máquina.
##################################################################################
BOOTPROTO=‘static’
IPADDR=‘192.168.31.4/24’
NETMASK=‘’
NETWORK=‘’
BROADCAST=‘’
NAME=‘82540EM Gigabit Ethernet Controller’
USERCONTROL=‘no’
❖ Los nombres de hosts simbólicos como
www.escolapiosdegetafe.es son fáciles de recordar,
mientras que recordar una dirección IP como 217.76.130.108
no lo es tanto. Esta es la razón por la que casi la mayoría de las
direcciones IP tienen un nombre de host asociado. Cada host
en una red IP deberá ser capaz de “resolver” (traducir) un
nombre de host a su dirección IP correspondiente. Hay
básicamente dos maneras de hacerlo:
▪ Añadiendo todos los nombres de host y direcciones IP que se
vayan a utilizar al archivo /etc/hosts.
▪ Configurando DNS, utilizando el archivo /etc/resolv.conf.
❖ El archivo /etc/hosts tiene la siguiente sintaxis:
<Dirección IP> <Nombre de Host> <Alias>
❖ Dos entradas que se deben incluir siempre en /etc/hosts son
loopback y la máquina local. Adicionalmente, se deberían incluir otras
máquinas de la red, especialmente si no se va a utilizar un DNS.
❖ Los alias se pueden crear también en este archivo situándolos a
continuación del nombre de host. Cada alias tendrá que ir separado por un
espacio en blanco. Los alias no pueden contener más de 255 caracteres y
deben estar contenidos en una línea.
❖ Si la resolución de nombres en una red va a realizarse únicamente
basándose en el archivo /etc/hosts, entonces cada /etc/hosts debe
contener una entrada por cada sistema de la red. Será necesario, además,
tener todos los archivos /etc/hosts de todos los sistemas sincronizados.
Este método de resolución de nombres se denomina resolución plana, y a
estas redes se las llama redes planas.
##################################################################################
# FICHERO: /etc/hosts
# DESCRIPCIÓN: Contiene el mapeo de nombres de equipos a direcciones IP.
# Tiene dos usos principales:
# 1) Cuando la red es pequeña y no existe servicio DNS.
# 2) Cuando quiero configurar alias de máquinas para que
# aunque tenga disponible DNS se puedan utilizar nombres
# cortos (máquinas a las que se accede a diario).
# FORMATO: <Dirección IP> <Nombre de host> <Alias>
# NOTAS: Para la resolución de nombres por defecto siempre se consulta 1º
# este fichero y a continuación los servidores DNS configurados en
# /etc/resolv.conf
##################################################################################

127.0.0.1 localhost
192.168.31.4 OPENSUSE-CLIENT-SYS31 OPENSUSE-CLIENT-SYS31.localdomain
❖ Si se quiere realizar la resolución de nombres a través de un DNS, habrá que editar
el archivo /etc/resolv.conf.
❖ La línea de este archivo más importante es la línea nameserver, que identifica la
dirección IP del servidor DNS que se va a utilizar. Puede haber un total de tres líneas
nameserver en /etc/resolv.conf, y cada servidor de nombres será consultado
por orden hasta que se obtenga una respuesta.
❖ También se puede especificar una o más directivas search. Cuando se usa un DNS,
los nombres de host son denominados también como “Nombres de máquina
calificados por completo” (FQDN, Fully Qualified Domain Name), por ejemplo,
sys7.acme.com. Si se utiliza mucho un sistema del dominio acme.com, se hace
pesado teclear este nombre cada vez (y los nombres de dominio pueden ser mucho
más largos que acme.com, como por ejemplo, escolapiosdegetafe.es). Con la
directiva search acme.com en el archivo /etc/resolv.conf, el dominio
acme.com se añade automáticamente al nombre de host, cuando se realiza una
llamada a un sistema.
❖ Así, en lugar de teclear sys7.acme.com, bastaría con teclear sys7.
❖ Algunas veces también se utiliza el argumento domain. Este
argumento especifica al DNS el host local. Esto es especialmente
útil si el nombre de host de la máquina no se establece como FQDN
(esto ocurre mucho con ordenadores portátiles que se conectan a
varias redes).
❖ Sólo puede existir una sentencia domain. Si existe una, este
dominio también se buscará, como si se tratara de una directiva
search.
❖ Nota: Para indicar el orden de prioridad en la resolución de nombres
se utiliza el fichero /etc/host.conf, con la directiva order
hosts, bind para que primero intente resolver el nombre de host
en el fichero /etc/hosts, y en caso de no ser posible consulte al
DNS.
##################################################################################
# FICHERO: /etc/resolv.conf
# DESCRIPCIÓN: Contiene las direcciones IP de los servidores de nombres que
# pueden resolver consultas internas o externas DNS.
# FORMATO: <search> <Nombre de dominio>
# <domain> <Nombre de dominio>
# <nameserver> <Dirección IP servidor de nombres>
# NOTAS: domain se utilizará para establecer el sufijo FQDN principal de la
# empresa (solo puede existir un domain por fichero resolv.conf. Para
# añadir sufijos adicionales se utiliza search, que permite poner un
# número indeterminado de sufijos secundarios a los que consultar.
##################################################################################

domain escolapiosdegetafe.es
search escolapios.com
search escolapios.es
nameserver 80.58.61.250
nameserver 80.58.61.254
❖ Una vez configurada la dirección IP y la máscara de subred, se
debería poder establecer comunicación con cualquier sistema situado
en la misma red local. Si se quiere establecer comunicación con
alguien situado fuera de la misma red local, es necesario configurar la
dirección IP del router que conecta la red local con el mundo exterior.
Este es el llamado router por defecto, y a la ruta para alcanzarlo
(esencialmente su dirección IP) se le llama ruta por defecto.
❖ De nuevo, para hacer estos cambios permanentes, hay que añadir las
direcciones IP de las rutas a configurar al archivo
/etc/sysconfig/network/routes. La mayoría de las
distribuciones también permiten configurar una ruta por defecto en un
archivo específico de dispositivo. Esto es útil en portátiles, donde se
usan diferentes adaptadores para diferentes localidades, y cada
localidad tiene un gateway distinto.
##################################################################################
# FICHERO: /etc/sysconfig/network/routes
# DESCRIPCIÓN: Contiene todas aquellas rutas estáticas configuradas de manera
# global para la máquina.
# FORMATO: <Dirección IP de la red/subred de destino> <Dirección IP del
# Siguiente salto> <Máscara de red de la red/subred de destino>
# <Interfaz de salida>
# default <Dirección IP del Siguiente salto> - <Interfaz de salida>
##################################################################################

default 192.168.31.1 – eth0


❖ Finalmente existe la posibilidad de realizar toda la configuración anteriormente
descrita a través de herramientas propias de cada distribución.
❖ En SuSE Linux Enterprise Server y OpenSuSE esta herramienta se ejecuta
como yast/yast2, lanzando un asistente a continuación para la
configuración de los parámetros más importantes de los adaptadores presentes
en el sistema:
❖ El comando ifconfig permite verificar la configuración de las
interfaces locales. La siguiente transparencia muestra una
configuración correcta.
❖ Si una interfaz que se supone que está bien configurada no
aparece, se puede hacer una consulta específica de esa
interfaz con el comando ifconfig <interfaz>. Si no
aparece nada de información, lo más probable es que la
interfaz no esté configurada o no esté activada. Si se obtiene un
mensaje de error, entonces es el propio adaptador el que no se
ha configurado. (¿Se cargaron los módulos correctos?. ¿Se
especificaron las direcciones E/S y los IRQ correctos?. Se
puede ejecutar el comando dmesg para ver la salida del kernel,
y verificar si el kernel detectó y activó el dispositivo.)
❖ El comando route permite ver las tablas de enrutamiento.
Debería mostrar una salida como la de abajo.
❖ El comando arp muestra el contenido de la tabla caché ARP.
Deberían aparecer la lista de todas las direcciones IP y direcciones
MAC de los hosts presentes en la red local en la que se ha estado
conectado en los últimos 20 minutos aproximadamente.
❖ Si una dirección MAC sale marcada como “incompleta”, esto quiere
decir que la petición ARP fue enviada pero no se obtuvo respuesta. Es
posible que el host remoto no estuviera encendido o que se trate de un
problema en la red.
❖ Revisando las tablas caché ARP de varios hosts, y comparando las
direcciones MAC que pertenecen a una dirección IP específica, es
posible detectar direcciones IP duplicadas en la red.
❖ El comando arp puede usarse también para borrar entradas y añadir
entradas a la caché.
❖ Las entradas que se añaden manualmente, no serán borradas de
forma automática de la caché.
❖ Con el comando ping se puede verificar si el sistema está vivo y
responde a las peticiones ICMP de eco. También da una idea de la
calidad de la conexión entre dos sistemas.
❖ La salida del comando ping es continua y no finaliza, a no ser que se
interrumpa con Ctrl-C.
❖ Si un host no responde a un ping, normalmente se tratará de un error
de nivel de red o por debajo o bien de un problema de rutas. Se debe
intentar primero lanzar un ping al router.
❖ En el caso de hosts con un firewall (ciertos puertos están bloqueados
con filtros), puede estar configurado para no responder a los pings.
❖ El comando ping tiene opciones para aumentar el tamaño de los
paquetes que se envían, para aumentar o disminuir la frecuencia de
envío entre paquetes, y para registrar las rutas por las que el paquete
viaja.
❖ El comando host permite comprobar la resolución de nombres de
host. Al darle el nombre de host como argumento, el comando trata de
encontrar la dirección o direcciones IP que le o les corresponden.
Cuando se le da una dirección IP, el comando trata de encontrar el
nombre de host correspondiente.
❖ Hay que tener en cuenta que el comando host sólo funciona si hay
activo un DNS. Para redes planas donde sólo se utilice el archivo
/etc/hosts, no se podrá usar el comando host, y habrá que
consultar el contenido de /etc/hosts.
❖ Si no se resuelve el nombre de host, se puede intentar con el nombre
de máquina calificado al completo (FQDN), y chequear el archivo
/etc/resolv.conf. Si el nombre de host se puede resolver a una
dirección IP, pero no en el otro sentido, entonces el Servidor DNS no
está bien configurado y habrá que informar al administrador de red.
❖ Lo último que habrá que verificar son los servicios que ofrece la
máquina al exterior. Hay que recordar que cada servicio que se
está dando requiere de un puerto específico llamado “well-
known” o conocido públicamente.
❖ El comando netstat -a lista todos los puertos abiertos, tanto
las puertos del servidor (los que estén en estado LISTEN),
como cualquier conexión establecida hacia o desde cualquier
puerto (los que estén en estado CONNECTED).
❖ Si se quieren ver los números de puerto en lugar de los
nombres simbólicos de los puertos (tomados del archivo
/etc/services), hay que usar el comando netstat -an.
1. ¿Cuál es un buen comando para comenzar a probar si dos
hosts pueden comunicarse en una red?.
2. ¿Qué comando mostrará la configuración de las distintas
interfaces de red?.
3. ¿Cuál es el comando necesario para mostrar la caché ARP de
una máquina?.
4. ¿Cuál sería el comando necesario para añadir una puerta de
enlace predeterminada a mi máquina?.
5. ¿Qué comando muestra todas las conexiones TCP y UDP
activas de mi máquina con otras máquinas?.
6. ¿Qué comando muestra el nombre local de mi máquina?.

También podría gustarte