Servicios de redes en Linux: Conectividad y comunicación en la red

Servicios de redes en Linux: Conectividad y comunicación en la red

¿Es necesario tener conocimientos de redes para aprobar la certificación LPI de Linux?

Para aprobar el examen lpi de Linux no es necesario tener conocimientos avanzados sobre cuestiones de redes, pero si es un requisito entender que es lo que necesita un equipo Linux para poder conectarse a una red.

¿Qué es una dirección IP?

Cuando una computadora se conecta a una red esta pasa a tener una dirección IP (Internet Protocol). Esta dirección IP es un número de identificación como si fuese un número telefónico.

¿Qué es una subnet mask (mascara de red)?

Otro componente de la red es la mascara de red (subnet mask), esta dirección provee una descripción mas detallada de la red a la que la computadora esta conectada.

¿Qué es un gateway (puerta de enlace)?

Si se desea que la computadora se conecte a una red de Internet requiere ademas de una puerta de enlace (gateway), el gateway tiene la misma dirección IP que el router que es responsable de establecer la comunicación con otras redes.

¿Qué es el DNS Domain Name Server (servidor de nombre de dominio)?

Cuando abrimos un sitio web, no memorizamos su dirección IP sino mas bien su nombre. Para poder convertir este nombre en la dirección IP existen los llamados Servidores DNS (Domain Name Server) que se encargan de resolver los nombres de dominio en direcciones IP. Si usamos la analogía del teléfono de casa, el DNS sería el directorio telefónico que mantiene una relación de los nombres de las personas y el número telefónico de cada uno de ellas.

¿Cómo funcionan en conjunto la dirección IP, subnet, gateway y DNS?

Para entender mejor estos conceptos si imaginamos que una red local es aquella que conecta todos los equipos de una oficina. Cuando se realiza una comunicación ya se enviando archivos o impresiones por ejemplo, esto sucede dentro de la propia red local (subnet). Cualquier comunicación fuera de esta red local, tiene que pasar a través del gateway, un ejemplo sería revisar el correo electrónico que esta alojado en un sitio web como gmail.com. Para lograr esto la computadora primero se conecta a un servidor DNS que convierte el dominio gmail.com en una dirección IP, establece entonces una comunicación entre este servidor web y la computadora que intenta comunicarse con el.

¿Qué es una MAC Address?

Hay dos direcciones adicionales que una computadora conectada a una red utiliza. La dirección ip local que cada computadora tiene 127.0.0.1. La otra es la dirección MAC Address que es única para cada dispositivo de conexión a la red, por ejemplo 00:01:4A:D1:5C:21.

¿Para qué sirven los ruteadores?

Los ruteadores (routers) mantienen también una lista de direcciones IP a las cuales deben enviar la información.

¿Cómo visualizar la configuración de red en Linux?

El siguiente comando nos permite ver los valores de configuración de red que nuestro equipo tiene configurado.

ip addr show

El primer valor a la vista es el local loopback, cualquier equipo que este utilizando el protocolo IP tiene asignada esta dirección.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

Después tenemos nuestra dirección IP, esta es la que utiliza nuestro equipo para comunicarse con otros conectados a la red y es también la dirección que el router utiliza para solicitar y enviar tráfico a otras redes a nombre de nuestro equipo.

3: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 5c:87:9c:27:58:9e brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.49/24 brd 192.168.50.255 scope global dynamic noprefixroute wlp0s20f3
       valid_lft 84042sec preferred_lft 84042sec

Dentro de esta información podemos encontrar la dirección de la MAC Address 5c:87:9c:27:58:9e de nuestro adaptador de red.

Otra forma de solicitar esta información es utilizando el comando ifconfig.

ifconfig

Al ejecutar este comando nos mostrara la información de la mascara de red, IP local y puerta de enlace.

wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.50.49  netmask 255.255.255.0  broadcast 192.168.50.255
        inet6 fe80::146a:125c:948e:f7df  prefixlen 64  scopeid 0x20<link>
inet (dirección IP versión 4)
192.168.50.49
netmask (mascara de red)
255.255.255.0
broadcast (puesta de enlace)
192.168.50.255
inet6 (dirección IP versión 6)
fe80::146a:125c:948e:f7df

Las direcciones IPv4 son mas cortas, pero debido a que el rango que tienen es mucho mas corto, una nueva versión llamada IPv6 ha aparecido como solución a largo plazo para prevenir que el número de ips disponibles en Internet se agote.

Para poder acceder a redes mas allá de la nuestra, necesitamos conocer el gateway (puerta de enlace) de salida de nuestra red. Este dispositivo se encarga de enrutar el trafico desde nuestro equipo a otras redes fuera de nuestra red local.

Para revisar la puerta de enlace utilizamos el comando ip route show.

ip route show

Otro posible comando es el comando route.

route

Una forma mas es utilizar el comando netstat -r.

netstat -r

Para saber cual es el servidor dns utilizado por nuestro sistema podemos visualizar el archivo resolv.conf.

less /etc/resolv.conf

Para conocer los servidores de dominio asociados a un dominio en específico, podemos usar el comando host.

$ host google.com

google.com has address 108.177.122.102
google.com has address 108.177.122.113
google.com has address 108.177.122.139
google.com has address 108.177.122.101
google.com has address 108.177.122.138
google.com has address 108.177.122.100
google.com has IPv6 address 2607:f8b0:4002:c09::8b
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.

Aquí podemos ver las direcciones IP asociadas al dominio google.com.

Para verificar la conectividad de alguna de estas direcciones IP, podemos utilizar el comando ping para ver si obtenemos alguna respuesta, para realizar 3 peticiones al primer servidor asociado con Google utilizamos el comando ping de esta manera.

$ ping -c 3 108.177.122.102

PING 108.177.122.102 (108.177.122.102) 56(84) bytes of data.
64 bytes from 108.177.122.102: icmp_seq=1 ttl=44 time=35.8 ms
64 bytes from 108.177.122.102: icmp_seq=2 ttl=44 time=34.3 ms
64 bytes from 108.177.122.102: icmp_seq=3 ttl=44 time=33.3 ms

--- 108.177.122.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 33.371/34.532/35.836/1.011 ms

Si no especificamos -c 3 el comando ping continuará enviando peticiones al servidor de forma indefinida hasta que utilicemos CTRL+C para cancelar las peticiones.