GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar una dirección IP estática en RHEL 8 / CentOS 8 Linux

Hay muchos casos en los que podemos querer establecer una IP estática para una interfaz de red. En RHEL 8 / CentOS 8, las conexiones de red son administradas por el demonio NetworkManager, por lo que en este tutorial vemos cómo podemos realizar dicha tarea editando un archivo de interfaz directamente, usando una utilidad de línea de comando, nmcli , o a través de una interfaz de usuario de texto, nmtui .

En este tutorial aprenderás:

  • Cómo configurar una dirección IP estática editando directamente un archivo de interfaz
  • Cómo establecer una dirección IP estática usando la utilidad nmcli
  • Cómo configurar una dirección IP estática usando nmtui


El archivo de interfaz de red editado

Requisitos de software y convenciones utilizadas

Introducción

En Red Hat Enterprise Linux 8, las interfaces de red son administradas por NetworkManager daemon, por lo que para cambiar la configuración de una interfaz de red debemos interactuar de alguna manera con ella. En este tutorial, veremos cómo podemos configurar una dirección IP estática, una puerta de enlace y un servidor dns para una NIC utilizando tres métodos diferentes.

Identificando nuestra interfaz

Lo primero que queremos hacer es encontrar la interfaz que queremos modificar. Para listar todas las interfaces en nuestro sistema, podemos usar ip addr comando:

$ ip addr
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
      valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: enp1s0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.189/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3004sec preferred_lft 3004sec
    inet6 fe80::9ab6:ba48:1ddd:a8e1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
</broadcast,multicast,up,lower_up></loopback,up,lower_up>

En el resultado anterior, que es el resultado de ejecutar el comando en mi máquina virtualizada rhel8, podemos ver dos interfaces:lo y enp1s0 . La primera es una interfaz “virtual”, que es utilizada por el sistema para “hablar” consigo mismo. La segunda es la que nos interesa, y actualmente su dirección IPv4 es 192.168.122.189:queremos cambiarla.

Método 1:modificar manualmente el archivo de configuración de la interfaz

Para cada interfaz de red administrada por el demonio NetworkManager, se crea un archivo de configuración dentro de /etc/sysconfig/network-scripts directorio. El nombre del archivo está compuesto por ifcfg- prefijo más el nombre de la interfaz. Si inspeccionamos el archivo relacionado con nuestra NIC, podemos ver su configuración real:

$ cat /etc/sysconfig/network-scrIPts/ifcfg-enp1s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"

El BOOTPROTO la opción está establecida en dhcp :la opción establece el protocolo que se utilizará en el arranque para establecer la dirección IP de la interfaz. Las posibles opciones a utilizar son:

  • ninguno:no se debe utilizar ningún protocolo
  • bootp:usa el protocolo bootp
  • dhcp:utiliza el protocolo dhcp

Como queremos establecer una dirección IPv4 estática, queremos cambiar el valor de BOOTPROTO a none y configurar nuestra IP, prefijo de ruta, puerta de enlace y servidor dns de forma estática. Podemos lograr esto usando respectivamente el IPADDR , PREFIX , GATEWAY y DNS opciones Dado que se pueden especificar muchos servidores dns, el DNS La opción debe ser reportada junto con un número progresivo, a partir de 1. Después de las modificaciones necesarias, nuestro archivo debería verse
así:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
IPADDR=192.168.122.66
PREFIX=24
GATEWAY=192.168.122.1
DNS1=192.168.122.1

Establecemos nuestra IP estática en 192.168.122.66 y configure tanto nuestra puerta de enlace como el servidor dns en 192.168.122.1 . Ahora, para que nuestros cambios sean efectivos, debemos bajar y volver a subir la interfaz de red. Tenga en cuenta que esto interrumpirá las conexiones ssh existentes a través de dicha interfaz:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Ejecutando ip addr comando nuevamente podemos verificar que la IP ha cambiado:

IP addr|grep enp1s0|grep inet
inet 192.168.122.66/24 brd 192.168.122.255 scope global noprefix

Método 2:usar nmcli

Nmcli es una herramienta de línea de comandos utilizada para controlar NetworkManager. Al usarlo podemos, entre otras cosas, cambiar la configuración de red para una interfaz específica. En nuestro caso debemos usar nmcli con la connection subcomando con modify o el edit acción. El primero nos permite cambiar la configuración directamente, mientras que el segundo lanza el shell nmcli, donde podemos operar de forma interactiva.

Usando nmcli directamente

Para cambiar la dirección IP de la interfaz “enp1s0” con un comando directo nmcli, ejecutamos:

$ sudo nmcli connection modify enp1s0 IPv4.address 192.168.122.66/24

Tenga en cuenta que especificamos el prefijo de enrutamiento junto con la IP usando el llamado CIDR notación (Enrutamiento entre dominios de clases). Usamos una sintaxis similar para cambiar la puerta de enlace y la configuración de dns:

$ sudo nmcli connection modify enp1s0 IPv4.gateway 192.168.122.1
$ sudo nmcli connection modify enp1s0 IPv4.dns 192.168.122.1

Finalmente, configuramos el método en manual para evitar el uso de cualquier otro protocolo de arranque para la interfaz. Este comando establece la opción BOOTPROTO en ninguno en el archivo de configuración de la interfaz:

$ sudo nmcli connection modify enp1s0 IPv4.method manual

Uso de shell nmcli

Como mencionamos anteriormente, también podemos usar un método interactivo para realizar los mismos cambios. Para ingresar al nmcli shell usamos el edit acción, seguida del nombre de la interfaz que queremos editar:

$ sudo nmcli connection edit enp1s0
===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'enp1s0'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property descrIPtion.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, IPv4, IPv6, tc, proxy
nmcli>

El cursor parpadeante nos dice que el shell está aceptando comandos:podemos escribir help para obtener una lista de los disponibles, print para ver todas las propiedades de la conexión o describe seguido de una configuración y una de sus propiedades (representadas con una notación de punto), para obtener una descripción de este último. Por ejemplo:

nmcli>
nmcli> describe IPv4.address

=== [addresses] ===
[NM property descrIPtion]
Array of IP addresses.

[nmcli specific descrIPtion]
Enter a list of IPv4 addresses formatted as:
  IP[/prefix], IP[/prefix],...
Missing prefix is regarded as prefix of 32.

Example: 192.168.1.5/24, 10.0.0.11/24

Para cambiar la dirección de nuestra interfaz:

nmcli> set IPv4.address 192.168.122.66/24

El mismo principio se usa para cambiar las otras propiedades:

nmcli> set IPv4.gateway 192.168.122.1
nmcli> set IPv4.dns 192.168.122.1
nmcli> set IPv4.method manual

Para guardar las modificaciones que hicimos, necesitamos emitir un último comando:

nmcli> save
Connection 'enp1s0' (d5f41bf4-de0a-43b3-b633-7e2ec6212e58) successfully updated.

Para salir del intérprete de comandos nmcli simplemente escriba quit y presiona enter:

nmcli> quit

Nuevamente, para que los cambios sean efectivos, debemos volver a cargar la interfaz con el mismo comando que usamos antes.

Método 3:usando nmtui

Además de cambiar los parámetros de una interfaz de red modificando su archivo manualmente o usando la utilidad nmcli, también podemos controlar NetworkManager usando una interfaz de usuario de texto. Para lanzarlo simplemente invocamos nmtui en nuestra terminal:

$ sudo nmtui


La interfaz de usuario de texto nmtui

Seleccionamos Edit a connection y luego el nombre de la interfaz que queremos manipular; luego procedemos a cambiar los valores deseados. Por ejemplo:



Edición de la configuración de conexión con nmtui

Una vez que estemos satisfechos, seleccionamos OK y pulsamos enter:volveremos al menú de selección de interfaz. Esta vez seleccionamos back y luego elige quit salir. Para aplicar la configuración necesitamos volver a cargar la interfaz de conexión:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Conclusiones

En este tutorial vimos tres métodos que podemos usar para configurar una dirección IP estática en Red Hat Enterprise Linux 8. Vemos qué opciones debemos cambiar y qué debemos agregar en el archivo de configuración de la interfaz al editarlo manualmente, y cómo realizar la mismos cambios usando nmcli y nmtui, que son respectivamente una utilidad de línea de comandos y una interfaz de usuario de texto:ambos se usan para controlar el demonio NetworkManager.


Cent OS
  1. Cómo instalar y configurar R en el sistema RHEL 8/CentOS 8 Linux

  2. CentOS/RHEL 5:Cómo configurar la vinculación de interfaz (formación de equipos NIC)

  3. CentOS/RHEL 4:cómo configurar la vinculación de interfaz (equipo de NIC)

  4. Cómo configurar la interfaz en “Modo Promiscuo” en CentOS/RHEL

  5. Cómo configurar interfaces en modo promiscuo en CentOS/RHEL 7 (persistentemente)

Cómo configurar la dirección IP estática en CentOS 8 / RHEL 8

Cómo establecer una dirección IP estática en CentOS Linux

Cómo configurar una dirección IP estática en Alpine Linux

Cómo configurar IP estática en CentOS 8 (CLI)

Cómo configurar la dirección IP estática de la red en RHEL/CentOS 8/7

Cómo configurar la dirección IP estática en el sistema Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software Todo el software mencionado en este tutorial está incluido en una instalación mínima de RHEL 8 o CentOS 8.
    Otro Permiso para ejecutar el comando con privilegios de root.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios