Cómo configurar y administrar conexiones de red con la herramienta ‘nmcli’
Como administrador de Linux, tiene varias herramientas para configurar sus conexiones de red, como: nmtui. su NetworkManager. con GNOME. interfaz gráfica de usuario y, por supuesto, nmcli. (herramienta de línea de comandos del administrador de red).
Configurar la conexión de red Ethernet usando la herramienta nmcli
He visto a muchos administradores usando n mtui. por simplicidad. Sin embargo, usar nmcli. le ahorra tiempo, le da confianza, puede usarlo en scripts y es la primera herramienta a usar para solucionar problemas de red de su servidor Linux y recuperar rápidamente su funcionalidad.
Al ver muchos comentarios pidiendo ayuda sobre nmcli. decidí escribir este artículo. Por supuesto, siempre debe leer detenidamente las páginas de manual (es la ayuda número uno para usted). Mi objetivo es ahorrarle tiempo y mostrarle algunas sugerencias.
La sintaxis de nmcli es:
# nmcli [OPCIONES] OBJETO COMANDO
Donde OBJECT es uno de: general, networking, radio, connection, device, agent.
freestar.config.enabled_slots.push
Un buen punto de partida sería comprobar nuestros dispositivos:
# nmcli dev status. TIPO DE DISPOSITIVO ESTADO CONEXIÓN docker0 puente conectado docker0 virbr0 puente conectado virbr0 enp0s3 ethernet conectado enp0s3 virbr0-nic ethernet desconectado-lo loopback no administrado-
Como podemos ver en la primera columna hay una lista de nuestros dispositivos de red. Tenemos una tarjeta de red con el nombre enp0s3. En su máquina podría ver otros nombres.
El nombre depende del tipo de tarjeta de red (si está integrada, tarjeta pci, etc.). En la última columna vemos nuestros archivos de configuración que utilizan nuestros dispositivos para conectarse a la red.
Es sencillo entender que nuestros dispositivos por sí mismos no pueden hacer nada. Necesitan que hagamos un archivo de configuración para decirles cómo lograr la conectividad de red. También llamamos a estos archivos “perfiles de conexión”. Los encontramos en el directorio /etc/sysconfig/network-scripts.
# cd/etc/sysconfig/network-scripts/# ls Salida de muestra ifcfg-enp0s3 ifdown-isdn ifup ifup-plip ifup-tunnel ifcfg-lo ifdown-post ifup-aliases ifup-plusb ifup-wireless ifdown ifdown-ppp ifup-bnep ifup-post init.ipv6-global ifdown-bnep ifdown-rutas ifup-eth ifup-ppp funciones de red ifdown-eth ifdown-sit ifup-ib ifup-rutas funciones de red-ipv6 ifdown-ib ifdown-Team ifup-ippp ifup-sit ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
Como puede ver aquí, los archivos cuyo nombre comienza con ifcfg-(configuración de interfaz) son perfiles de conexión. Cuando creamos una nueva conexión o modificamos una existente con nmcli. o nmtui. los resultados se guardan aquí como perfiles de conexión.
Ι se mostrará Ustedes dos de mi máquina, uno con configuración DHCP y otro con IP estática.
# cat ifcfg-static1 # cat ifcfg-Myoffice1
Comprobar la configuración de red ion
Nos damos cuenta de que algunas propiedades tienen valores diferentes y otras no existen si no es necesario. Echemos un vistazo rápido a los más importantes.
- TIPO, aquí tenemos el tipo de Ethernet. Podríamos tener wifi, team, bond y otros.
- DEVICE, el nombre del dispositivo de red que está asociado a este perfil.
- BOOTPROTO, si tiene valor “ dhcp ” entonces nuestro perfil de conexión toma la IP dinámica del servidor dhcp, si tiene el valor “ none ” entonces no toma ninguna IP dinámica y probablemente cuando asigne una IP estática.
- IPADDR, es la IP estática que asignamos a nuestro perfil.
- PREFIX, la máscara de subred. Un valor de 24 significa 255.255.255.0. Puede comprender mejor la máscara de subred si escribe su formato binario. Por ejemplo, los valores de 16, 24, 26 significan que los primeros 16, 24 o 26 bits respectivamente son 1 y el resto 0, definiendo exactamente cuál es la dirección de red y cuál es el rango de ip que se puede asignar.
- GATEWAY, la puerta de enlace IP.
- DNS1, DNS2, dos servidores dns que queremos usar.
- ONBOOT, si tiene el valor “sí”. significa que al arrancar nuestra computadora leerá este perfil e intentará asignarlo a su dispositivo.
Ahora, sigamos adelante y verifiquemos nuestras conexiones:
# nmcli con mostrar
Mostrar conexiones de red activas
La última columna de dispositivos nos ayuda a comprender qué conexión es ” UP “ y corriendo y cuál no. En la imagen de arriba puede ver las dos conexiones que están activas: Myoffice1. y enp0s8.
Sugerencia. si desea ver solo las conexiones activas, escriba:
# nmcli con show-a
Sugerencia. puede use la función de autocompletar presionando Tab. cuando use nmcli, pero es mejor usar un formato mínimo del comando. Por lo tanto, los siguientes comandos son iguales:
# nmcli connection show # nmcli con show # nmcli c s
Si verifico las direcciones IP de mis dispositivos:
# ip a
Comprobar la IP del servidor Dirección
Veo que mi dispositivo enp0s3 t ook la IP 192.168.1.6. del servidor dhcp, porque el perfil de conexión Myoffice1 que está arriba tiene una configuración dhcp. Si abro “arriba” mi perfil de conexión con el nombre static1, entonces mi dispositivo tomará la IP estática 192.168.1.40. como se define en el perfil de conexión.
# nmcli con down Myoffice1; nmcli con up static1 # nmcli con show
Veamos la dirección IP nuevamente:
# ip a
Comprobar la dirección IP estática de la red
Podemos hacer nuestro primer perfil de conexión. Las propiedades mínimas que debemos definir son tipo. ifname. y con-name.
- tipo-para el tipo de conexión.
- ifname-para el nombre del dispositivo que se asigna a nuestra conexión.
- con-name-para el nombre de la conexión.
Hagamos una nueva conexión ethernet con el nombre Myhome1, asignado al dispositivo enp0s3:
# nmcli con add type ethernet con-name Myhome1 ifname enp0s3
Verifique su configuración:
# cat ifcfg-Myhome1
Crear nueva conexión de red
Como puede ver, tiene BOOTPROTO = dhcp, porque no proporcionamos ninguna dirección IP estática.
Pista. Podemos modificar cualquier conexión con el comando “nmcli con mod“. Sin embargo, si modifica una conexión DHCP y la cambia a estática, no olvide cambiar su “ipv4.method” de “auto” a “manual”. De lo contrario, terminará con dos direcciones IP: una del servidor dhcp y la estática.
Hagamos un nuevo perfil de conexión Ethernet con el nombre static2, que se asignará al dispositivo enp0s3, con IP estática 192.168.1.50. máscara de subred 255.255.255.0 = 24. y puerta de enlace 192.168.1.1.
# nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1
Comprueba su configuración:
# cat ifcfg-static2
Crear nueva conexión Ethernet
Modifiquemos el último perfil de conexión y agreguemos dos servidores dns.
# nmcli con mod static2 ipv4.dns“ 8.8.8.8 8.8.4.4 ”
Pista. Hay algo aquí a lo que debes prestar atención: las propiedades para la dirección IP y la puerta de enlace tienen nombres diferentes cuando agregas y cuando modificas una conexión. Cuando agrega conexiones, usa “ip4” y “gw4”, mientras que cuando las modifica, usa “ipv4” y “gwv4”.
Ahora veamos este perfil de conexión:
# nmcli con down static1; nmcli con up static2
Como puede ver, el dispositivo enp0s3 ahora tiene la dirección IP 192.168.1.50.
# ip a
Verificar la dirección IP de la nueva conexión de red
Sugerencia. Hay muchas propiedades que puede modificar. Si no los recuerda de memoria, puede ayudarse escribiendo “nmcli con show” y luego el nombre de la conexión:
# nmcli con show static2
Verificar la dirección IP de la nueva conexión de red
Puede modificar todos estas propiedades escritas en minúsculas.
Por ejemplo:. cuando baja un perfil de conexión, el NetworkManager. busca otro perfil de conexión y lo muestra automáticamente . (Lo dejo como ejercicio para comprobarlo). Si no desea que su perfil de conexión se conecte automáticamente:
# nmcli con mod static2 connection.autoconnect no
El último ejercicio es muy útil: creó un perfil de conexión pero desea que lo utilicen usuarios específicos . ¡Es bueno clasificar a sus usuarios!
Permitimos que solo el usuario stella. use este perfil:
# nmcli con mod static2 connection.permissions stella
Sugerencia. si desea otorgar permisos a más de un usuario, debe escribir user: user1, user2 sin espacio en blanco entre ellos:
# nmcli con mod static2 connection.permissions usuario: stella, john
Permitir conexiones de red a los usuarios
Si inicia sesión como otro usuario, no puede ” subir “ este perfil de conexión:
# nmcli con show # nmcli con up static2 # ls/etc/sysconfig/network-scripts
Habilitar conexión de red
Un mensaje de error dice que la conexión ‘static2’ no existe. incluso si vemos que existe. Esto se debe a que el usuario actual no tiene permisos para abrir esta conexión.
Conclusión. no dude en usar nmcli. Es fácil y útil.