Cómo instalar y configurar archivos TCP/IP en Linux (Configuración de TCP/IP para Linux)

Incluso los no geeks probablemente hayan oído hablar de " TCP/IP ", pero ¿todos saben qué es o cómo configurarlo en un servidor Linux usando la línea de comandos(using the command line) ?

Ayuda a definir la terminología básica primero. Como mínimo, le permite desarrollar un marco sobre el cual construir su comprensión. TCP/IP no es una excepción. 

Esta sección sobre terminología no es una lista exhaustiva. Le dará una base sobre la cual comenzar su viaje para comprender las redes y cómo configurar archivos TCP/IPLinux

The *Nix World

¿Alguna vez te has preguntado qué significa *nix ? ¿Qué hay de cómo se relacionan Unix y Linux(Unix and Linux are related) (por no hablar de las diversas versiones de cada uno)?

*nix es un método para hacer referencia a Linux y/o Unix (o cualquier distribución) usando un comodín (el asterisco) para hacerlo. 

* Nix se desarrolló a fines de la década de 1960. AT& T Bell Labs desarrolló Unix aproximadamente al mismo tiempo. A través de varias iteraciones y desarrollos, también nació Linux .

El resultado de estas innovaciones paralelas es que una vez que aprende cómo realizar instalaciones en un servidor a través de la línea de comandos, ha aprendido una habilidad que probablemente sea compatible con muchas otras tareas en una variedad de servidores Unix o Linux

Páginas de manual: información al alcance de su mano(Man Pages – Information at Your Fingertips)

Al igual que Google , Linux tiene su propio conjunto de herramientas de búsqueda e investigación que permiten a los usuarios encontrar los recursos que necesitan. Esos recursos se conocen como "páginas man". Cuando inicia sesión en un servidor Linux (o sistema operativo basado en Linux ), puede abrir la aplicación de línea de comandos y escribir lo que le gustaría investigar, como escribir un término de búsqueda en un archivo de documentación interactivo.

Si elige un tema que desea investigar, como una utilidad, herramienta, demonio, secuencia de comandos de (daemon, script)Linux , puede buscarlo escribiendo "man" y luego la palabra. Aprenderá cómo hacer esto más adelante en este artículo.

Las páginas man son fáciles de usar. Simplemente(Just) comience a escribir un par de palabras y el sistema operativo Linux(Linux OS) comenzará a devolverle la información. Si no hay una página de manual para un tema en particular , Linux se lo dirá.

En su mayor parte, las páginas man son razonablemente precisas para la versión de software en la que aparecen. Por ejemplo, si ha iniciado sesión en un servidor Linux que tiene 10 años, la página del manual muestra información relativa a esa versión (y edad).

Las páginas man son fáciles de usar y precisas, pero hay un par de advertencias. Ilustremos esas advertencias a través de imágenes. 

En la imagen a continuación, la página del manual para ARP indica que ARP está obsoleto (en la sección de "notas") y que en su lugar se debe buscar ip neigh . Parecería, por esa notación, que uno puede querer escribir " man ip neigh " para acceder a la información sobre la herramienta/protocolo de reemplazo. 

Sin embargo, al escribir “ man ip neigh ” no se busca en la página man para “ip neigh”. En su lugar, buscará dos páginas man... una para "ip" y la otra para "neigh". 

Si bien es cierto que obtendrá una página de manual si escribe "man ip neigh", a menos que esté prestando mucha atención, puede pasar por alto que en realidad no es lo que estaba buscando. 

Puede agregar un guión (aunque eso no es lo que se muestra en la página de manual cuando se hace referencia a la herramienta de reemplazo)... Entonces, si agrega un guión y escribe "man ip-neigh" también funciona bien pero no es correcto o.

Puede intentar escribir " man ip-neighbour " (tenga en cuenta la ortografía británica). Cuando escriba esa frase en particular, verá la página de manual correcta para reemplazar la página de manual de ARP (o reemplazar el protocolo ARP ). La conclusión es esta: si no puede encontrar lo que necesita, intente usar diferentes combinaciones hasta que obtenga la página de manual deseada.

Como ejemplo, intente buscar la página de manual de la herramienta nslookup. Para ello, escriba "man nslookup". Cuando lo haga, verá una página de manual similar a la imagen/captura de pantalla a continuación. Aprenderá todo lo que le gustaría saber sobre la herramienta nslookup.

Después de que aparezca la página de manual en su pantalla, puede desplazarse hacia abajo, leer, aplicar, probar e incluso cerrar la página de manual (escribiendo la letra "q" y dejando que la página de manual se cierre automáticamente).

Si solicita una página de manual que no existe, Linux le informará que no hay entrada para esa página de manual y que pruebe con otra.

IPv4 e IPv6(IPv4 and IPv6)

Tanto IPv4 como IPv6 son técnicamente iguales, pero no nos parecen iguales a los humanos. Son un medio para identificar máquinas o dispositivos en una red de área local ( LAN ). Son privados en la forma en que identifican los dispositivos en la LAN .

IPv4 usa números separados por puntos/puntos. La mayoría de nosotros estamos familiarizados con el tipo de direcciones IP que vemos en las computadoras conectadas a nuestras redes privadas que usan el formato IPv4 .

Las computadoras en una red también tienen una dirección IPv6 , pero se ve diferente. IPv6 se compone de caracteres alfanuméricos separados por dos puntos ( : ). 

Entonces, ¿cuáles son las diferencias entre IPv4 e IPv6 ? Piense(Think) en ello como un nombre de red. Uno es como el primer nombre y el otro es el apellido. Ambos nombres apuntan a la misma persona (o en este caso, una computadora). Así como generalmente tenemos un nombre diferente en comparación con nuestro apellido, el "nombre" de IPv4(IPv4 “) será diferente del "nombre" de IPv6(IPv6 “) , aunque ambos apunten a la misma máquina.

Carla Schroeder ha escrito un artículo útil y fácil de leer sobre IPv4 e IPv6(useful article about IPv4 and IPv6) .

Acceso raíz en un servidor Linux (y su y sudo)(Root Access on a Linux Server (and su and sudo))

Para muchas de las tareas que deben completarse, se requiere acceso de root (también conocido como administrador o superusuario). Esto se debe a que muchas de estas utilidades y aplicaciones son lo suficientemente sensibles como para restringirlas por razones de seguridad. 

Una solución alternativa para iniciar sesión como superusuario o activar el acceso de superusuario (su) es anteponer un comando con "sudo" para decirle a la máquina Linux que ese comando en particular debe ejecutarse como superusuario/raíz, pero que los comandos posteriores no (a menos que también antepuesto con la directiva "sudo"). 

En los casos en que se use "sudo" y se anteponga al comando, Linux solicitará la contraseña su para autenticar la identidad y los permisos del superusuario.

Protocolos de red(Networking Protocols)

hay muchos protocolos diferentes a considerar cuando se habla de Linux . Los dos protocolos principales de este artículo son TCP e IP.

Protocolo de control de transmisión (TCP)(Transmission Control Protocol (TCP))

El Protocolo de control de transmisión(Transmission Control Protocol) , más conocido como TCP , es un protocolo utilizado para la transmisión de paquetes, tal como lo describe su nombre.

Vea a continuación una explicación de varias herramientas, incluida la herramienta de Linux llamada Traffic Control (tc). 

TCP indica al sistema operativo Linux cómo se deben mover los paquetes de un lugar a otro. (Linux)También controla el tráfico de la red y dirige la transmisión de paquetes de información (como carpetas de datos(data) que se mueven de un lugar a otro). 

Es por eso que el protocolo se llama  Protocolo de control de transmisión(Transmission Control Protocol) (TCP). 

Protocolo de Internet (IP)(Internet Protocol (IP))

El Protocolo de Internet(Internet Protocol) se conoce comúnmente por su acrónimo, IP.

En el caso de la IP tienes un área más amplia ( Internet ) para transmitir paquetes. Es como tener una supercarretera más ancha, más larga y más transitada... llamada Internet. Mientras que TCP controla el movimiento de paquetes a través de una red, IP controla el movimiento de paquetes a través de Internet.

Protocolo ICMP(ICMP Protocol)

ICMP significa Protocolo de mensajería de control de Internet(Internet Control Messaging Protocol) . Si bien es un protocolo que está disponible en la mayoría de las distribuciones de Linux , es posible que no esté disponible en todas las distribuciones de Linux . Esto se evidenció por la falta de una página Man dentro de una instalación actual de Centos .

A primera vista, puede parecer que este protocolo en particular no es tan esencial, pero en realidad lo es. ICMP es responsable de proporcionar mensajes de error si/cuando un paquete no llega correctamente a su destino. ICMP es esencial para recibir actualizaciones de estado sobre la entrega (o recepción) de los paquetes de información que se transmiten.

Protocolo de diagrama de usuario (UDP)(User Diagram Protocol (UDP))

El Protocolo de diagrama de usuario(User Diagram Protocol) ( UDP ), al igual que el Protocolo de control de transmisión(Transmission Control Protocol) ( TCP ), es un protocolo para la transmisión de paquetes de información de un punto a otro. En el caso de TCP , como parte del proceso/transmisión, hay una verificación de la entrega exitosa de los paquetes, lo que lo hace más confiable que UDP .

En el caso de UDP , no existe un proceso de verificación, por lo que no sabrá si los paquetes se transmitieron o recibieron correctamente y sin errores. Como tal, es un protocolo bastante fácil de utilizar, pero no es verificable ni se puede autenticar. 

Configuración de Linux(Linux Configuration)

Hay varios archivos de configuración disponibles en el sistema operativo  Linux .

Por ejemplo, si está ejecutando un servidor Apache en su máquina Linux , los archivos de configuración de Apache son importantes. (Apache)Esos archivos le permiten al servidor web Apache saber qué está pasando con el dominio y, más específicamente, con el sitio que está alojado en ese servidor.

A veces, el archivo de configuración se etiqueta como httpd.conf. A veces está etiquetado como apache.conf. O podría ser una etiqueta/nombre completamente diferente. Puede encontrar los archivos de configuración en una ubicación en un servidor, y otras veces están en una ubicación completamente diferente en otro servidor.

Afortunadamente, existen comandos útiles que pueden ayudar a localizar archivos de configuración específicos. Por ejemplo, puede escribir lo siguiente para ubicar el archivo de configuración " httpd.conf ", si existe:

find / -name “httpd.conf”

La primera palabra, "buscar", permite que Linux sepa qué comando/utilidad está usando, que en este caso es la utilidad "buscar". El segundo componente de la línea de comando es el "/" que le permite a la utilidad de búsqueda saber que debe buscar la ruta comenzando desde el nivel raíz del servidor.

Si estaba buscando en una ubicación más específica, es posible que tenga algo como "/ etc" para que Linux sepa que debe comenzar en el directorio etc y seguir esa ruta. Al proporcionar una ruta/ubicación específica, puede acelerar potencialmente el proceso, porque Linux no tiene que buscar en lugares que son redundantes.

La opción “ -name ” le permite a (-name)Linux saber lo que está buscando en el nombre del archivo o directorio. Es útil incluir el nombre entre comillas y también puede usar un asterisco (*) como comodín al buscar.

Algunos ejemplos de archivos de configuración y directorios en el directorio/ruta “/etc” incluyen: 

  • pam.d: un directorio que contiene utilidades relacionadas con los módulos de autenticación. “Su” y “sudo” se encuentran allí, como ejemplo.
  • sysconfig : un directorio que incluye funciones de la computadora, como administración de energía, mouse y más. 
  • resolv.conf : un archivo que ayuda en la funcionalidad del servidor de nombres de dominio, si la máquina Linux se usa en esa capacidad.
  • servicios(services) : este archivo contiene las conexiones disponibles (es decir, puertos abiertos) disponibles en la máquina Linux .

Si se pregunta si algún archivo, ruta o utilidad está obsoleto o en desuso, use las páginas de manual para verificar. Esta es una forma útil de controlar lo que está actualizado y lo que ha cambiado.

Comprender el sistema de archivos de Linux(Understanding the Linux File System) 

En muchas distribuciones de Linux(Linux distributions) , los archivos de configuración se encuentran en el directorio de scripts de red en la ruta " etc/sysconfigSi no están ubicados allí, es probable que haya una ubicación/ruta similar. Los archivos que están presentes en este caso particular se muestran en la siguiente captura de pantalla.

Como verá en la siguiente captura de pantalla, hay dos archivos de configuración. Cada uno de ellos está etiquetado de acuerdo con sus respectivas interfaces (es decir, ifcfg-eth0).

Los archivos de configuración están precedidos por " ifcfg " que reemplaza el comando ifconfig(ifconfig command) (además de convertirse en parte del nombre del archivo de la interfaz). Dicho esto, ahora también se ha reemplazado un poco, ya que ifcfg no es compatible con IPv6 .

Las dos referencias de interfaces ( ifcfg-eth0 e ifcfg-lo ) se refieren a tipos específicos de interfaces. Los desarrolladores de Linux(Linux) fueron útiles en esta área, proporcionando definición y dirección en forma de nombres de archivo. En el caso de que la interfaz termine en " eth0 ", es una interfaz que está conectada a través de "ethernet" o tiene capacidad de ethernet.

El uso de las letras " eth " te indica la dirección correcta. El número que sigue a "eth" proporciona el número del dispositivo. Entonces, el próximo dispositivo ethernet puede ser algo como “ ifcfg-eth1 ” y así sucesivamente.

El nombre de archivo que termina en "lo" se refiere a una interfaz de "bucle invertido". También se le conoce como " localhost ". Esta es una conexión de red que técnicamente no es una conexión de red real. Simplemente permite que los procesos se comuniquen en el dispositivo sin comunicarse a través de la red. Piense en "virtual" cuando piense en esta interfaz en particular.

Todas las distribuciones de Linux son capaces de tener un bucle invertido (o localhost) y, por lo general, están configurados para uno de forma predeterminada. Usan una interfaz que termina en "-lo". La dirección IP del host local suele ser 127.0.0.1. En muchos casos, la interfaz virtual de loopback se puede usar para probar conexiones y descartar otros posibles problemas de red.

Los archivos(The Files)

Hay diferentes formas de editar archivos de configuración (así como verlos). Un método es utilizar el " editor vi(vi editor) " al que se accede mediante el comando " vi " seguido del nombre del archivo. En este caso, cuando uno escribe " vi ifcfg-eth0 " (sin las comillas) puede ver la información de red para esa interfaz en particular (eth0).

Sin embargo, sería más recomendable hacerlo de la manera tradicional y seguir las instrucciones de configuración de red que se encuentran en la página de manual de ifcfg.

Esto también puede ser más fácil para la persona no técnica. El uso del editor vi requiere un poco de atención a los detalles, por lo que si está orientado a los detalles (o si ya es programador o administrador de sistemas), el editor vi puede ser una solución óptima cuando trabaja con archivos de configuración de Linux .

Al acceder a las páginas del manual, podemos revisar la información sobre el script ifcfg que reemplazó al script ifconfig (como se muestra en la captura de pantalla anterior de la página del manual). Además, al mirar la lista de interfaces en la distribución de Linux , notamos los comandos ifup y ifdown. Esos también se pueden revisar en sus páginas de manual.

En la siguiente imagen se muestra una captura de pantalla de la página del manual. Como verá en la página de manual, hay archivos de configuración de Linux adicionales (y las rutas para llegar a esos archivos) que se pueden consultar (y modificar) en la instalación y configuración de los archivos TCP/IPLinux .

Si usa un editor de texto de línea de comandos como el editor vi para ver el archivo de configuración, notará algunas opciones definidas. Por ejemplo, al observar la interfaz de red, es posible que vea palabras en mayúsculas, seguidas de un signo igual (=) y luego otra palabra. 

Por ejemplo, puede haber una directiva que sea " ONBOOT " y puede decir "ONBOOT=yes" como ejemplo de una opción de configuración. Hay varios otros puntos de configuración y opciones también. Por ejemplo, otro es NETMASK

Si ve la directiva de configuración, " REDES(NETWORKING) ", debe ir seguida de un "sí". Si va seguido de “no”, puede representar un problema porque eso indicaría que la interfaz de red no está activada para la conexión en red. 

Aquí hay un proceso paso a paso para corregir la situación que acabamos de describir:

  1. Haga una copia del archivo de configuración, para estar seguro. Hay algunas maneras de hacer esto. Uno de los más fáciles es con la ventana de comandos.

    Escriba: cp ifcfg-eth0 ifcfg-eth0_20200101

    Luego, en la siguiente línea, escriba: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    Esto mueve la copia del archivo que acaba de hacer a un directorio que está usando para las copias de seguridad.
  2. Ahora que ha realizado una copia de seguridad del archivo de configuración, es hora de realizar cambios en ese archivo de configuración. Si está utilizando el editor vi, debe escribir lo siguiente:

    vi ifcfg-eth0

    Después de hacerlo, el archivo se abrirá en la aplicación de comando/terminal (similar a la forma en que se abre una página de manual cuando la activa).

    Una vez que el archivo de configuración esté abierto, buscará la línea que incluye " NETWORKING=no " y eliminará esa línea o la cambiará a "NETWORKING=yes". Esto se puede hacer con el " cw” directiva en el editor vi. Al escribir una barra diagonal, le está diciendo al editor vi que está buscando algo. En este caso, le hace saber al editor que está buscando "REDES" y cuando lo encuentra (dirigiendo el mouse a esa ubicación) puede usar la tecla de flecha derecha para moverse a la palabra "no".

    Cuando llegue a la palabra "no", deténgase en la "n" y escriba " cw ", lo que le permitirá cambiar el "no" por "sí". El "cw" significa cambiar palabra y Linux le permite cambiar la palabra completa de una palabra ("no") a otra ("sí"). Si solo desea cambiar una letra, puede usar una "r" para reemplazar una letra o carácter.

    Las capturas de pantalla muestran este proceso a continuación.
     
  3. Después de guardar el archivo de configuración (es decir, escribir esc para salir del modo INSERTAR(INSERT) y luego hacer doble Z para guardar el archivo), es hora de reiniciar el servicio o la computadora. Esto se puede hacer de varias maneras diferentes. Un método para reiniciar la computadora es escribir la siguiente línea de comando:

    shutdown -r now

    El comando de apagado le dice a la máquina Linux que se apague. (Linux)La opción -r le dice al comando que no es solo un apagado, sino un reinicio y que lo haga ahora.

    Sugerencia:(Tip:) si desea saber cuándo la computadora o el servidor completó el reinicio, escriba "ping" y luego la dirección IP pública de la computadora/servidor (o un nombre de dominio de un sitio alojado en el servidor Linux ).

    Al usar el comando ping, verá que el servidor no es "pingable" (lo que sucede durante el reinicio) y luego, cuando el servidor se reinicia con éxito, el ping responderá con una respuesta positiva, lo que indica un reinicio exitoso.

Las siguientes son algunas imágenes que ayudan a ilustrar los pasos de la lista anterior.

Paso 1:

Paso 2:

Consejo:(Tip:) tenga en cuenta que nada en el mundo del servidor es singular. Por ejemplo, puede cambiar la configuración de una interfaz en particular (en este caso, eth0), pero esa puede ser solo una interfaz en una red y puede verse afectada (o afectar) a otro servidor.

Entonces, en el ejemplo anterior, al reiniciar el servidor, los dispositivos de red también se reiniciarán. Esta no es la única opción para esta interfaz, pero esta interfaz se vería afectada por un comando para reiniciar. 

/etc/hosts File(s)

El /etc/hosts puede o no existir. Si existe, puede o no ser utilizado en la configuración. Por ejemplo, puede tener un sistema diferente que maneje las configuraciones del host, en lugar de administrar el archivo directamente. Además, el archivo de hosts en sí varía. Por ejemplo, IPv4 e IPv6 manejan la configuración de manera diferente, como puede ver en la imagen a continuación.

Configuration Files; Locations/Paths; Terms; and More

Algunos nombres de archivos útiles adicionales y ubicaciones de archivos son:

  • /etc/sysconfig/network-scripts/ (ruta del archivo de configuración)
  • /etc/sysconfig/network-scripts/ifcfg-eth0 (archivo de configuración)
  • /etc/hosts (archivo de configuración)
  • /etc/resolv.conf (archivo de configuración con información del servidor de nombres)

En muchos casos, el software del sistema o del servidor crea los archivos de configuración automáticamente. Además, si se usa DHCP , hay otros aspectos de la configuración de red que se calculan sobre la marcha, ya que en ese caso no se usan direcciones IP estáticas.

Los siguientes comandos de línea de comandos (CL) se usaron (o se usan) en la mayoría de las distribuciones de Linux. Donde están obsoletos o en desuso, se enumera el comando de reemplazo.

  • route ( obsolete / deprecated ): se usaba para mostrar y editar rutas. Reemplazado por ruta ip(ip route) .
  • hostname : Se utiliza para mostrar o manipular y editar el nombre de host de la máquina. 
  • netstat : vea conexiones de red, tablas de enrutamiento, estadísticas de interfaz, membresías de multidifusión, etc.
  • arp : ( obsolete / deprecated ) solía usarse para mostrar información de IPv4 ; específicamente la memoria caché del vecino de la red. IPv6 se ha convertido en la dirección de red, reemplazando la colección IPv4 de cuatro números separados por puntos. A la luz de estos cambios, este comando obsoleto ha sido reemplazado por ip neigh .
  • ip : IP no solo significa "protocolo de Internet" y la WAN (red de área amplia) definitiva, sino que también es una utilidad que permite al administrador del sistema o al usuario de la computadora ver los parámetros TCP/IP y configurarlos como necesario.
  • tc : esto significa "control de tráfico" y es una utilidad para ayudar a administrar el tráfico entrante y saliente en la máquina Linux

Herramientas de configuración: GUI vs. Línea de comando (CL)(Configuration Tools: GUI Vs. Command Line (CL))

Para proporcionar un punto de referencia, las siguientes tres imágenes muestran un mecanismo de interfaz gráfica de usuario ( GUI ) para manejar la configuración de redes, incluido TCP/IP

La primera imagen es la GUI de Apple Mac(Apple Mac GUI) ( System Preferences > Networking ) y las dos imágenes siguientes son las del sistema operativo Windows(Windows Operating System) (aunque varía de una versión a otra). Se accede a través del Panel de control de Microsoft(Microsoft Control Panel) y Conexiones de red(Network Connections) , como puedes ver en las capturas de pantalla.

Ventajas y desventajas de la GUI frente al editor de texto o la línea de comandos (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Si bien muchas personas prefieren las interfaces gráficas de usuario ( GUI ) debido a su facilidad de uso, presentación visual y simplicidad general, es útil comprender los archivos de configuración (en este caso, relacionados con las redes) para que pueda solucionar y corregir cualquier problema. 

Es posible que desee tomar la GUI primero, pero ayuda estar completamente informado... por si acaso. Además, hay algunos sistemas operativos que no necesariamente tienen una GUI (o aún no tienen una), así que de nuevo; es útil estar preparado.

En la siguiente sección, cubriremos los archivos de configuración y cómo acceder a ellos, actualizarlos, así como la administración de los archivos y las utilidades.

Herramientas, utilidades, secuencias de comandos y demonios de la línea de comandos (CL) de Linux(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Hay muchas herramientas disponibles para las distribuciones de Linux . Nuevamente(Again) , al igual que otros comandos, existen similitudes (y diferencias) entre cómo se usan esas herramientas en las diferentes distribuciones. En algunos casos, las herramientas están disponibles pero deben instalarse primero, y el proceso de instalación suele variar.

La herramienta de línea de comandos a menudo se denomina shell y, en los primeros días, terminal . Hay otros términos para ello, pero en general, es una aplicación que permite al usuario acceder a los sistemas operativos escribiendo comandos en una ventana.

Veamos un par de ejemplos. El primero es del sistema operativo Windows y probablemente les resulte familiar a los usuarios de Windows . La herramienta se abre escribiendo CMD (como se muestra en las capturas de pantalla a continuación). 

La segunda captura de pantalla es la de una aplicación llamada Terminal que viene preinstalada en la mayoría de las computadoras Apple .

NSLookup (nslookup)

En el caso de nslookup , ns significa servidor de nombres(nameserver) y la parte de búsqueda(lookup) del comando es una "búsqueda" de información. Entonces, lo que el nombre de esta herramienta nos dice es que buscará información generalmente disponible a través de un servidor de nombres.

NSLookup es una herramienta útil. En este caso, lo estamos usando para buscar información sobre eBay. Para hacerlo, escribimos "nslookup ebay.com" y se nos presenta información similar a la que se muestra en la imagen a continuación.

El comando se muestra en la parte superior de la captura de pantalla (después de la información privada borrosa). Luego, el resultado de esa solicitud (el nslookup ) se muestra debajo, con información como el Servidor(Server) (la dirección IP pública), la dirección IP(IP address) específica , etc. 

Control de tráfico (tc)(Traffic Control (tc))

Otra herramienta es la herramienta "Control de tráfico" (también conocida como "tc"). Es una herramienta que permite programar y procesar paquetes de datos. 

El comando le dice cómo(how) se mueven los paquetes a través de una red. Ese aspecto incluye las respuestas a preguntas como(how) el tiempo, la velocidad, los dispositivos y más. Aquí hay una representación de línea de comando (CL) del uso de Traffic Control (tc):

Si bien para algunos puede parecer un "galimatías", cada palabra en la línea de comando representa algo importante. Aquí está el listado:

  • tc : Esta es la herramienta, en este caso “Control de tráfico” (también conocido como “tc”). Esto le dice a la aplicación/software de la línea de comandos qué herramienta de Linux usar.
  • qdisc : esta abreviatura significa disciplina de colas(queuing discipline) y es otra forma de describir un programador simple.
  • add : Dado que estamos construyendo una configuración (sí, técnicamente un archivo), le estamos diciendo a la herramienta que estamos agregando(adding) a los controles.
  • dev eth0 : "dev" se refiere al "dispositivo", lo que le permite a la herramienta saber que estamos a punto de definir el dispositivo. El "eth0", en este caso, es la referencia al dispositivo. Notará que esto es similar a lo que aparece en una interfaz gráfica de usuario ( GUI ) para una etiqueta de dispositivo.
  • root : Esto le dice a la herramienta que estamos modificando el tráfico saliente desde el nivel raíz o salida.
  • netem : esta palabra representa la frase, "emulador de red". Si bien puede que no sea la red de hardware, está emulando lo mismo. Esto es similar a cómo el software Parallels emula el software de Windows para computadoras Apple . Por supuesto, es una pieza de software completamente diferente, pero es un software de emulación de la misma manera que netem está emulando una red. En este caso, netem representa una WAN (red de área amplia) en lugar de una LAN (red de área local). 
  • retraso(delay) : esta palabra le dice a la herramienta tc que estamos modificando el componente de "retraso" de la transacción.
  • 400ms : ya le hemos dicho a la herramienta que estamos afectando el retraso, pero ahora necesitamos definir cuánto estamos afectando el retraso. En este caso, es por 400 milisegundos. 

Gerente de Redes(Network Manager)

El propósito de Network Manager es simplificar y automatizar la configuración de su red. Para los usuarios de DHCP , Network Manager puede obtener una dirección IP, reemplazar las rutas predeterminadas y cambiar automáticamente los servidores de nombres.

La herramienta nmtui para usar Network Manager está disponible en la mayoría de las distribuciones de (Manager)Linux , aunque no en todas . Además, tenga en cuenta que algunas herramientas están "disponibles" y aún no están disponibles. En otras palabras, hay algunas herramientas y demonios que deben instalarse y no necesariamente vienen preinstalados en la distribución de Linux en cuestión.

Otros temas de redes(Other Networking Topics)

Hay muchos aspectos de las redes y TCP/IP que son particularmente fascinantes, especialmente cuando se trata de una distribución de Linux . No(Don) olvide que tiene páginas de manual (también conocidas como páginas man) disponibles dentro de la instalación de Linux . Entonces, si bien esto puede parecer una especie de lista no relacionada de lo que no debe hacer, siempre puede usar una página de manual para averiguar qué debe hacer.

Linux como enrutador(Linux as the Router)

En estos días, la mayoría de las personas usan hardware dedicado a la tarea de enrutamiento (es decir, enrutador) para administrar la tarea de enrutamiento de la red(manage the network route task) .

Muchas veces, eso se debe a que los enrutadores son parte del paquete de paquetes/contratos de Internet para el hogar o la oficina. Por lo general, se atrapa al cliente pagando una tarifa de alquiler/arrendamiento por mes (o anualmente) o teniendo que comprar el enrutador. 

Independientemente de cómo se maneje, hay poca necesidad de que Linux funcione como un enrutador a pesar de que es capaz de funcionar como tal. Los escenarios descritos anteriormente crean una situación casi de pseudodesuso para Linux , pero eso no significa que Linux esté completamente fuera del juego. Es posible configurar un servidor Linux como enrutador de hardware (y software posterior) si es necesario.

Ruta IP (Anteriormente “Ruta”)(IP Route (Formerly “Route”))

La siguiente imagen muestra una captura de pantalla de la página de manual de "Ruta" y las directivas que son posibles con esa herramienta. 

SNORT: un sistema de detección de intrusos(SNORT – An Intruder Detection System)

Snort Software es un (Snort Software)sistema de detección de intrusos(Intrusion Detection System) ( IDS ) de código abierto desarrollado originalmente por Martin Roesch y adquirido desde entonces por Cisco Systems(Martin Roesch and since acquired by Cisco Systems) . Opera sobre la base de reglas que utilizan las capas TCP/IPDefinir esas reglas identifica intrusiones para proteger una red.

How to Set Up Linux > TCP/IP Settings for Linux

Los siguientes mini tutoriales lo ayudarán con algunas tareas comunes que puede encontrar en el mundo de Linux

Tenga en cuenta que los tiempos cambian rápidamente, por lo que es útil usar sus páginas de manual y búsquedas en Google para verificar los siguientes pasos y asegurarse de que no haya otras herramientas que puedan hacer el trabajo mejor. Al momento de escribir este artículo, ese no es el caso.

Tutorial 01: Asignación de una dirección IP estática a una máquina Linux(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

La primera pregunta que debe hacerse es si la computadora/servidor necesita o no una dirección IP estática (una que no cambie) o una dirección IP modificable (como DHCP – Protocolo de configuración dinámica de host(DHCP – Dynamic Host Configuration Protocol) ). Si esta es su computadora personal (no un servidor), lo más probable es que esté usando DHCP para su acceso a Internet.

Lo que eso significa es que no tiene que meterse con la asignación de una dirección IP estática a su computadora. Su proveedor de servicios de Internet ( ISP ) y cualquier hardware proporcionado/alquilado calcula automáticamente una dirección IP sobre la marcha para permitirle conectarse a Internet. En otras palabras, si no necesita una dirección IP estática, una que cambie dinámicamente está bien para su computadora que no es servidor.

Si tiene un servidor y necesita que otros puedan acceder a él (es decir, fuera de su hogar; una WAN/internet ; no LAN), necesitará una dirección IP estática para que el dominio que está utilizando esté asignado a él. a través del servidor de nombres de alojamiento asignado al dominio, o accesible directamente a través de la dirección IP estática.

Si nadie necesita acceder a su computadora o servidor fuera de su hogar, entonces una dirección IP cambiante (dinámica, no estática) está bien, porque nadie está usando una dirección IP estática.

Nota: Algunas personas han usado una dirección IP DHCP(DHCP IP) para acceso público (sí, incluso como servidor) pero,

  1. Requiere una persona muy técnica para hacerlo, por lo que no es tan común.
  2. Es mucho más difícil de mantener (debido a su naturaleza cambiante) que una dirección IP estática.

Si necesita una dirección IP estática, continúe y siga los pasos aquí. Si no, puedes saltarte esta sección.

Como verá, el comando (que se muestra arriba) incluye "sudo" al comienzo de la línea. Si bien es posible usar el comando "su" (superusuario) e iniciar sesión como superusuario, el uso de "sudo" solo ejecuta ese comando como superusuario.

El otro método, iniciar sesión como superusuario, permite que todas las tareas se completen como superusuario, lo que hace que sea más conveniente hacer lo que se debe hacer.

Sin embargo, junto con eso viene un riesgo de seguridad, por lo que es más seguro simplemente iniciar el comando con sudo y permitir que la aplicación solicite una contraseña (según sea necesario) para completar el comando como superusuario para esa tarea/comando.

La elección es suya y debe basarse en cualquier método que sea más fácil. Se accede al archivo representado por la siguiente captura de pantalla a través del siguiente comando:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Antes de usar ese comando, se verifica el número del dispositivo de red (eth0) para garantizar que sea correcto. Como recordará, las configuraciones de Linux se administran dentro del archivo de la interfaz, por lo que es esencial que el número de interfaz se verifique desde ese archivo antes de editar el archivo de configuración.

Otro aspecto del archivo de configuración a tener en cuenta es el uso de la palabra "estático". Dado que estamos agregando una dirección IP estática, es importante que el archivo de configuración sepa que ese es el caso. 

Las notas se agregaron en la captura de pantalla a continuación con fines ilustrativos, pero no deben incluirse en su archivo de configuración. Además, en algunas distribuciones de Linux , se requieren comillas. En este archivo de configuración en particular, no había comillas en el archivo de configuración creado automáticamente, por lo que la tendencia continuó y no se agregaron comillas.

La siguiente captura de pantalla muestra cómo aparecería realmente el archivo, con las notas y los espacios adicionales eliminados.

Se accede al siguiente (y último) archivo de configuración a editar escribiendo:

sudo vi /etc/resolv.conf

Dentro de ese archivo, los servidores de nombres se pueden agregar (o modificar). Esos servidores de nombres deben coincidir con el otro archivo de configuración que se acaba de modificar. En este caso, en /etc/sysconfig/network-scripts/ifcfg-eth0 (la captura de pantalla anterior).

El lenguaje que se utilizará es "servidor de nombres". Entonces, donde el archivo de configuración del dispositivo muestra DNS1=8.8.8.8 , el archivo resolv.conf debería mostrar el servidor de nombres 8.8.8.8(nameserver 8.8.8.8) .

La contraparte de DNS2=4.4.4.4 se mostraría como servidor de nombres 4.4.4.4(nameserver 4.4.4.4 ) en el archivo resolv.conf.

En pocas palabras, los pasos anteriores funcionan en la distribución de Red Hat Linux , pero no hay garantía de que funcione en el futuro, con los cambios tecnológicos que se produzcan. Esta es la razón por la cual las configuraciones deben probarse y verificarse.

Una vez que se hayan completado las configuraciones, reinicie la interfaz de red con el método preferido como se describe anteriormente. Esto aplicará los cambios. También es útil si se prueba la dirección IP estática. Puede hacerlo intentando conectarse a esa dirección IP estática pública desde otro dispositivo (preferiblemente en una red diferente).

También puede llamar a un amigo o asociado y pedirle que intente conectarse a la dirección IP estática desde otra ubicación geográfica (y una red diferente).

Tutorial 02: Alias ​​de IP de red(Tutorial 02: Network IP Aliasing)

Es posible asignar más de una dirección IP a una tarjeta de interfaz de red ( NIC ). Esto se denomina alias de IP de red(Network IP Aliasing) porque solo una IP sería real, por lo que las direcciones IP adicionales son alias para la misma tarjeta. Para asignar la dirección IP, use su método favorito para asignar la dirección IP como se describe en el Tutorial 01.

No es que tenga que ser estático, pero para tener múltiples direcciones IP asignadas usando Network IP Aliasing , uno tiene que asignar direcciones IP usando una IP estática.

Tutorial 03: Cambiar el nombre de host de la máquina Linux(Tutorial 03: Change Host Name of the Linux Machine)

Use los siguientes pasos para cambiar el nombre de host de su máquina Linux usando su editor preferido:

1. Modifique el archivo de configuración del nombre de host escribiendo lo siguiente en la aplicación de línea de comandos:

   sudo vi /etc/hostname

Dondequiera que vea el antiguo nombre de host en ese archivo de configuración, reemplácelo con el nuevo nombre de host.

2. Modifique el archivo de configuración de hosts escribiendo lo siguiente en la aplicación de línea de comandos:

   sudo vi /etc/hosts

Dondequiera que vea el nombre de host anterior en ese archivo, reemplácelo con el nombre de host recién elegido/designado de la misma manera que lo hizo con el archivo de configuración del nombre de host(hostname) en el paso uno anterior.

3. Reinicie el servidor o la computadora con Linux(Linux) . Un método para hacer esto (dependiendo de su distribución de Linux ) es escribir lo siguiente en la aplicación de línea de comandos:

   sudo shutdown –r now

Este reinicio es necesario para que los cambios surtan efecto.

Tutorial 04: Habilite y deshabilite su NIC(Tutorial 04: Enable and Disable Your NIC)

Una de las cosas más fascinantes que puede hacer a través de la línea de comandos en Linux es habilitar o deshabilitar su conexión Ethernet .

Para hacer esto, escriba el comando apropiado de estos dos:

   sudo ip link setup
   sudo ip link setdown

Con versiones anteriores de Linux , puede ejecutar ifconfigup o ifconfigdown, pero es posible que esos comandos estén en desuso u obsoletos en las distribuciones de Linux más nuevas . En ese caso, es preferible el comando ip más reciente.

Tutorial 05: habilitar el reenvío de red(Tutorial 05: Enable Network Forwarding)

Su sistema operativo Linux es capaz de conectar una variedad de redes y puede actuar como un enrutador. (Linux)Todo lo que necesita hacer es uncomment the net.ipv4.ip_fporward=1 line que le permitirá reenviar la dirección IP.

El archivo de configuración necesario normalmente se almacena en /etc/sysctl.conf :

Para obtener ejemplos sobre cómo configurarlo, consulte " How to enable IP forwarding on Linux (IPv4 / IPv6) ".

Si está configurando un servidor Linux usando DHCP (en lugar de una dirección IP estática), puede optar por una forma de reenvío de red. Esto no es común, pero se hace referencia aquí porque es factible y representa un caso en el que alguien puede estar inclinado a hacerlo.

Tutorial 06: Comandos Remotos Vía Shell(Tutorial 06: Remote Commands Via Shell)

En el caso de que necesite acceder a un servidor Linux y ese servidor no esté ubicado geográficamente en el mismo lugar que usted, es posible que deba usar comandos remotos para acceder a ese servidor Linux remoto . 

Para aquellos que son programadores o administradores de sistemas, la "conexión remota" a un servidor es algo normal. 

Una de las formas más populares de hacer esto es usar el comando " ssh ", que permite que la aplicación de la línea de comandos sepa que desea acceder de forma segura al servidor (ssh)Linux , incluso si lo hace a través de una conexión no segura. 

Además del uso del comando "ssh", debe proporcionar información de dónde se está conectando y cómo (entre otras opciones disponibles).

Puede usar un nombre de dominio para el acceso al servidor Linux o incluso una dirección IP estática pública. El nombre o la dirección IP le dice al comando ssh a qué está accediendo y dónde encontrarlo.

Otras opciones pueden incluir el nombre de usuario que se utilizará para iniciar sesión en el servidor remoto. Sin esa opción definida, se puede solicitar pero también es una opción para definirlo al mismo tiempo que el comando ssh.

Por ejemplo:

   ssh username myserver.com

La contraseña también se puede configurar en el comando, pero se recomienda, por razones de seguridad, que la ingrese en el momento de la conexión con el servidor remoto. 

¿Por qué? Si la contraseña se escribe en el comando, en texto sin formato, la siguiente persona que use la misma computadora puede acceder a ella y tendrá acceso a la contraseña.

Por razones de seguridad adicionales, es posible que desee acceder al servidor Linux a través de un puerto específico. Al designar un puerto que se puede usar, puede bloquear otros puertos y evitar intentos de piratas informáticos o ataques de DOS (denegación de servicio). 

Hay muchos puntos de configuración diferentes para ssh. Algunos de estos se enumeran en shellhacks.com .

Tutorial 07: Herramientas de monitoreo de red(Tutorial 07: Network Monitoring Tools)

Un componente importante de la gestión de una red es verificar que todo funcione y siga funcionando. Puede hacerlo a través de la supervisión de la red. Las herramientas que se adaptan al monitoreo de la red varían pero, en última instancia, logran metas y objetivos similares.  

Una de esas herramientas de monitoreo de red es Cacti . Cacti   es una herramienta de monitoreo de red de código abierto. Cacti monitorea la red y proporciona representaciones gráficas de lo que se ha registrado. Esto ayuda a los usuarios (especialmente a los novatos) a identificar dónde puede haber problemas.

El front-end puede acomodar a muchos usuarios y, a veces, los servicios de alojamiento lo utilizan para mostrar información de ancho de banda en tiempo real y otros datos en los siguientes gráficos.

Los datos se pueden introducir en Cacti a través de cualquier script o comando externo. Cacti reunirá los datos a través de un trabajo cron y completará su base de datos MySQL antes de presentarla como un gráfico de usuario front-end.

Para manejar la recopilación de datos, puede proporcionar a cactus las rutas a cualquier secuencia de comandos/comando externo junto con cualquier dato que el usuario necesite “completar”. Luego, Cacti(Cacti) recopilará estos datos en un trabajo cron y completará una base de datos MySQL .

Cacti es una herramienta útil para los administradores de red que desean monitorear el uso de la red y proporcionar imágenes fáciles de entender para los consumidores. Cacti se puede descargar de forma gratuita en cacti.net . El sitio web incluye documentación para instalar y configurar la herramienta de monitoreo de red.

Las alternativas a Cacti que podría probar incluyen Solarwinds NPM , PRTG y Nagios . Solarwinds admitirá SNMP , así como ICMP/Ping , WMI , Netflow , Sflow , Jflow e IPFIX , por nombrar algunos. Las plantillas, los gráficos y las alertas preconstruidos lo ayudan a comenzar a monitorear su red rápidamente.

PRTG proporciona hasta cien sensores de forma gratuita. Tiene características similares a Solarwinds , además de alertas y aplicaciones flexibles para teléfonos inteligentes(Smartphones) , tabletas, ipads.

Nagios tiene todas las herramientas que encontrará en Cacti , pero requiere un poco más de configuración. Hay muchos complementos para elegir. Tiene una sólida reputación como una de las herramientas de monitoreo y administración de redes más antiguas. Pero tendrás que ensuciarte las manos con el mantenimiento de sus archivos de configuración.



About the author

Soy técnico de Windows 10 y he estado ayudando a personas y empresas a aprovechar el nuevo sistema operativo durante muchos años. Tengo un gran conocimiento sobre Microsoft Office, incluido cómo personalizar la apariencia y las aplicaciones para diferentes usuarios. Además, sé cómo usar la aplicación Explorer para explorar y encontrar archivos y carpetas en mi computadora.



Related posts