GNU/Linux >> Tutoriales Linux >  >> Linux

Aprenda los conceptos básicos de redes que todo administrador de sistemas necesita saber

Uno de los dominios más importantes del administrador de sistemas es la red.

Si bien comprender todo lo que hay que saber sobre las redes es un gran tema, hay mucho que aprender de la pila de redes de su humilde computadora Linux.

Aprender los comandos básicos de red puede ayudarlo a comprender cómo un dispositivo sabe a qué red conectarse, cómo encontrar una impresora compartida o un recurso compartido de archivos, o la red más grande de todas, Internet.

Este artículo cubre los aspectos básicos de la administración de redes mediante código abierto.

[ También puede disfrutar leyendo: 5 comandos de solución de problemas de red de Linux]

¿Qué es una red?

En informática, una red es una colección de dos o más computadoras que pueden comunicarse.

Para que las redes faciliten la comunicación entre dispositivos, las máquinas en la red deben poder encontrarse entre sí.

Los sistemas encargados de hacer esto posible son TCP e IP.

Protocolo de control de transmisión (TCP)

La comunicación requiere un medio de transporte para los mensajes entre ellos, y las computadoras se comunican mediante señales digitales transmitidas por cables Ethernet, ondas de radio o microondas.

Las especificaciones para esto se definen formalmente como el protocolo TCP.

Protocolo de Internet (IP)

Las computadoras en una red se identifican a sí mismas y entre sí con direcciones IP, como 10.0.0.1 o 192.168.0.8.

Por lo general, también se asignan a nombres de host, como laptop y desktop o darkstar o penguin o el nombre que le des a cada máquina.

Las especificaciones para esto se definen formalmente como el protocolo IP.

Redes mínimas

La red más simple posible es una red de un solo nodo.

Esto puede parecer una trampa, pero de hecho, es una red válida en el sentido de que una computadora necesita saber cómo dirigirse a sí misma.

Cada computadora se considera a sí misma como el localhost nodo, con una dirección IP solo interna de 127.0.0.1.

Puedes verificar esto con el ping comando:

$ ping -c 1 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.031 ms

El localhost la designación se define en el /etc/hosts archivo:

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Tener una dirección IP interna es importante porque servicios importantes, como el servidor de impresión CUPS y el sistema de gestión de servidores Cockpit, proporcionan interfaces a través de conexiones TCP/IP. Para acceder a ellos desde la máquina en la que se están ejecutando, puede usar localhost más el número de puerto (por ejemplo, localhost:631 o 127.0.0.1:631 ) en un navegador web.

Creando una red básica

Si bien una red de un solo nodo es útil para algunas tareas, una red generalmente se refiere a más de una computadora.

Linux y la pila TCP/IP hacen mucho trabajo para simplificar las redes, pero cuando la configuración automatizada no es lo suficientemente buena para obtener la configuración que necesita su organización, depende de usted como administrador del sistema comprender cómo crear configuraciones de red.

Para empezar, comience de manera simple e intente crear una red de dos computadoras.

Para eliminar la configuración automática y poder acostumbrarse a construir una red usted mismo, intente usar un cable Ethernet especialmente conectado llamado cable cruzado .

Un cable cruzado conecta las señales de transmisión provenientes de una computadora a los receptores apropiados en otra computadora.

Sin un enrutador entre las computadoras, toda la administración de la red debe realizarse manualmente en cada máquina, lo que lo convierte en un buen ejercicio introductorio para los conceptos básicos de redes.

Al usar un cable cruzado para conectar dos computadoras, elimina cualquier controlador de red externo para ofrecer orientación, de modo que ninguna computadora haga nada para crear o unirse a una red.

En esta sencilla configuración, usted es la máxima autoridad en redes.

Para crear una red, primero debe asignar una dirección IP a cada computadora.

El bloque reservado para direcciones IP autoasignadas es 169.254.x.x.

Ver sus interfaces de red en Linux

Para crear una red, necesita interfaces de red.

El puerto Ethernet generalmente se designa con el término eth más un número que comienza con 0 , pero algunos dispositivos se notifican con términos diferentes.

Puede descubrir las interfaces en una computadora con la ip comando:

$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
    link/loopback 00:00:00:00:00:00 brd ...
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    link/ether dc:a6:32:be:a3:e1 brd ...
3: wlan0: <BROADCAST,MULTICAST> ...
    link/ether dc:a6:32:be:a3:e2 brd ...

En este caso, eth0 resulta ser el nombre de interfaz correcto.

Sin embargo, verá en0 o enp0s1 o similar en algunos casos, por lo que es importante verificar siempre el nombre de un dispositivo antes de usarlo.

Asigne una dirección IP estática en Linux

Normalmente, una dirección IP se asigna dinámicamente desde un servidor DHCP dedicado o un enrutador que ejecuta un servidor DHCP incorporado.

El trabajo del servidor DHCP es transmitir ofertas de direcciones a través de su red.

Cuando una computadora se conecta a una red, solicita una dirección.

El servidor DHCP le asigna uno y registra a qué dispositivo de la red, identificado por su dirección de control de acceso a medios (MAC), se le ha asignado qué dirección.

Así es como las computadoras saben cómo encontrarse entre sí a través de una red.

Sin embargo, en el caso de esta red simple, no hay un servidor DHCP que distribuya direcciones IP o registre dispositivos, por lo que debe crear una dirección IP usted mismo.

Para asignar una dirección IP a una computadora, use el ip comando:

$ sudo ip address add 169.254.0.1 dev eth0

Y nuevamente en la otra computadora, esta vez incrementando la dirección IP en 1:

$ sudo ip address add 169.254.0.2 dev eth0

Ahora cada computadora tiene un medio de transporte (el cable cruzado) y una forma de ser encontrado en la red (una dirección IP única).

El problema es que ninguna computadora sabe que es miembro de una red.

Configuración de una ruta de red en Linux

Normalmente, un enrutador externo define las rutas que debe tomar el tráfico de red para llegar del punto A al punto B.

Esto se llama una tabla de enrutamiento , y es esencialmente un "mapa de la ciudad" para su red.

Para la red simple que ha creado, aún no existe una tabla de enrutamiento.

Puedes verificar esto con la route comando en una o ambas computadoras:

$ route
Kernel IP routing table
Destination | Gateway | Genmask | Flags|Metric|Ref | Use | Iface
$ 

Alternativamente, puede usar la ip comando:

$ ip route
$ 

De cualquier manera, no hay resultados significativos porque actualmente no hay una ruta definida.

Pero puedes agregar una ruta con la ip comando:

$ sudo ip route \
add 169.254.0.0/24 \
dev eth0 \
proto static

Este comando agrega una ruta a un rango de direcciones que comienza en 169.254.0.0 y termina en 169.254.0.255 sobre eth0 interfaz.

Establece el protocolo de enrutamiento en static para indicar que la ruta fue creada por usted, el administrador, como una anulación intencional de cualquier enrutamiento dinámico.

Verifique su tabla de enrutamiento con la route comando:

$ route
Kernel IP routing table
Destination | Gateway | Genmask       | ... | Iface
link-local  | 0.0.0.0 | 255.255.255.0 | ... | eth0

O usa la ip comando para una vista diferente:

$ ip route
169.254.0.0/24 dev eth0 proto static scope link 

Haz ping a tu vecino

Su red ahora tiene:

  • Un medio de transporte
  • Un medio para abordar
  • Una ruta de red

Con esos componentes en su lugar, cada computadora puede llegar a hosts más allá de solo localhost .

Pruébalo con ping .

Por ejemplo, desde la computadora asignada la dirección 169.254.0.1:

$ ping -c1 169.254.0.2
64 bytes from 169.254.0.2: icmp_seq=1 ttl=64 time=0.233 ms

--- 169.254.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.244/0.244/0.244/0.000 ms

También puede ver los vecinos con los que ha interactuado:

$ ip neighbour
169.254.0.2 dev eth0 lladdr e8:6a:64:ac:ef:7c STALE

El conmutador de red

Si bien es excelente para transferencias de archivos sorprendentemente rápidas, no hay muchas otras necesidades para las redes cableadas de dos nodos.

Ahí es donde el hardware como un conmutador de red entra.

Un conmutador permite que se le conecten varios cables Ethernet y distribuye mensajes desde la computadora enviándolos al destino previsto, identificado por su dirección IP.

En muchas redes modernas de uso general, un conmutador físico para cables físicos no es práctico ni deseable, por lo que se usa un punto de acceso WiFi en su lugar, pero se aplican los mismos principios.

Enrutador

Las redes locales conectan muchos dispositivos en la práctica, y el número crece a medida que más dispositivos se vuelven conscientes de la red.

Cuando conecta una red a Internet (una red de redes interconectadas), ese número aumenta en órdenes de magnitud.

No es práctico configurar una red manualmente. Por lo tanto, las tareas diarias se asignan a nodos específicos en la red, y cada computadora ejecuta un demonio para completar la configuración de red recibida de servidores autorizados en la red.

Por lo general, cada tarea se asigna a un servidor dedicado independiente en una red grande para garantizar el enfoque y la capacidad de recuperación.

Estas tareas incluyen:

  • Servidor DHCP para asignar y rastrear direcciones IP a dispositivos que se unen a la red
  • Servidor DNS para convertir nombres de dominio registrados como redhat.com a direcciones IP como 209.132.183.105
  • Firewall para proteger su red del tráfico entrante no deseado o del tráfico saliente prohibido
  • Enrutador para dirigir de manera eficiente el tráfico en la red, servir como puerta de enlace a otras redes (como Internet) y realizar la traducción de direcciones de red (NAT) 

Gracias a proyectos de código abierto como VyOS, incluso puede ejecutar su propio enrutador de código abierto creado con hardware básico.

[ Hoja de referencia gratuita:obtenga una lista de utilidades y comandos de Linux para administrar servidores y redes. ] 

Terminar

Cuantos más esquemas de redes implemente en su laboratorio, mejor comprenderá todos los problemas que pueden surgir en el mundo real.

A veces, los problemas surgen de computadoras y dispositivos individuales; otras veces es hardware e infraestructura, y otras veces es un diseño no óptimo.

Practique la configuración de diferentes topografías de red, ya sea con máquinas virtuales o hardware real (o ambos), y conozca las herramientas de código abierto del oficio.

La creación de redes es un gran tema, pero las redes están en todas partes.

Invierte en aprenderlo ahora y te dará dividendos, de una forma u otra, más temprano que tarde.


Linux
  1. Aprenda los accesos directos del administrador de ventanas i3 Linux

  2. 3 habilidades que todo administrador de sistemas de Linux debe aportar

  3. 6 opciones de comandos de OpenSSL que todo administrador de sistemas debería conocer

  4. 7 comandos de red de Linux que todo administrador de sistemas debería conocer

  5. 17 comandos de Linux que todo administrador de sistemas debería conocer

Buenas alternativas a las páginas de manual que todo usuario de Linux necesita saber

VLAN para administradores de sistemas:conceptos básicos

Conceptos básicos de administrador de sistemas de Linux:iniciar NIC en el arranque

Aprenda diferentes opciones de red en VirtualBox

Cómo saber los grupos de un usuario de Linux

Los 20 mejores sitios web de juegos Linux que todo jugador debe conocer