LinuxParty
Como administrador de Linux, puede utilizar varias herramientas para configurar sus conexiones de red, como nmtui, su NetworkManager con la interfaz gráfica de usuario y, por supuesto, nmcli (herramienta de línea de comandos del administrador de red).
He observado que muchos administradores prefieren usar nmtui por su simplicidad. Sin embargo, el uso de nmcli le ahorra tiempo, aumenta su confianza, permite la integración en scripts y es la herramienta principal para solucionar problemas de redes de servidores Linux, restaurando rápidamente su funcionalidad.
Habiendo notado numerosos comentarios que buscaban ayuda con nmcli, decidí escribir este artículo. Por supuesto, siempre debe leer atentamente las páginas de manual (son el recurso número uno para usted). Mi objetivo es ahorrarle tiempo y brindarle algunos consejos útiles.
Tal vez te interese:
- Configuración de una IP Estática en una Tarjeta de Red en Linux.
- Cómo configurar conexiones IP de red usando 'nmcli' en Linux
- Cómo configurar la tarjeta de Red Inalámbrica ( WiFi ) en Linux.
- Configurar dirección IP estática en RHEL 8 / CentOS 8 Linux
- 10 comandos "IP" útiles para configurar interfaces de red.
- Cómo cambiar dirección IP (modo gráfico), por qué querría hacerlo y cuándo no debería hacerlo.
Sintaxis del comando nmcli
La sintaxis de nmcli es:
nmcli [OPCIONES] OBJETO {COMANDO | help}
Donde OBJECT
es por lo general uno de estas cosas... redes, radio, conexión, dispositivo y agente.
Verifique el estado del dispositivo de red en Linux
Un buen punto de partida sería revisar nuestros dispositivos:
nmcli dev status DEVICE TYPE STATE CONNECTION docker0 bridge connected docker0 virbr0 bridge connected virbr0 enp0s3 ethernet connected enp0s3 virbr0-nic ethernet disconnected -- lo loopback unmanaged --
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, es posible que vea nombres diferentes.
El nombre depende del tipo de tarjeta de red (si está integrada, una 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í solos, no pueden hacer nada. Necesitan que creemos un archivo de configuración para instruirles sobre cómo lograr la conectividad de red. Estos archivos también se llaman 'perfiles de conexión' y 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-routes ifup-eth ifup-ppp network-functions ifdown-eth ifdown-sit ifup-ib ifup-routes network-functions-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 con nombres que comienzan 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.
Les mostraré dos de ellos desde mi máquina, uno con una configuración dhcp y otro con IP estática.
cat ifcfg-static1 cat ifcfg-Myoffice1
Verificar la configuración de la red
Nos damos cuenta de que algunas propiedades tienen valores diferentes y otras no existen si no son necesarias.
Echemos un vistazo rápido a los más importantes.
TYPE
– aquí tenemos el tipo Ethernet . También podríamos tener WiFi, equipo, bond y otros.DEVICE
– el nombre del dispositivo de red asociado con este perfil.BOOTPROTO
– si tiene el valor “dhcp” , entonces nuestro perfil de conexión obtiene una IP dinámica del servidor DHCP. Si tiene el valor “none” , entonces no utiliza una IP dinámica y probablemente le asignamos 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 anotando su formato binario. Por ejemplo, los valores de 16 , 24 y 26 significan que los primeros 16 , 24 o 26 bits, respectivamente, están configurados en 1 y el resto en 0. Esto define la dirección de red y el rango de direcciones IP que pueden ser asignado.GATEWAY
– la IP de la puerta de enlace.DNS1
,DNS2
– dos servidores DNS que queremos utilizar.ONBOOT
– si tiene el valor “sí” , significa que al arrancar nuestra computadora leerá este perfil e intentará asignarlo a su dispositivo.
Verifique la conexión de red en Linux
Ahora, sigamos adelante y verifiquemos nuestras conexiones:
nmcli con show
Mostrar conexiones de red activas
La última columna de dispositivos nos ayuda a comprender qué conexión está ' ACTIVA ' y funcionando y cuál no. En la imagen de arriba, puede ver las dos conexiones activas: Myoffice1 y enp0s8 .
Sugerencia : si desea ver solo las conexiones activas, escriba:
nmcli con show -a
Sugerencia : puede usar el comando de autocompletar Tab
cuando usa nmcli , pero es mejor usar el formato mínimo del comando.
Por tanto, los siguientes comandos son iguales:
nmcli connection show nmcli con show nmcli c s
Verificar la dirección IP en Linux
Si reviso las direcciones IP de mis dispositivos:
ip a
Verifique la dirección IP del servidor
Veo que mi dispositivo enp0s3
tomó la IP 192.168.1.6 del servidor dhcp porque el perfil de conexión Myoffice1
que está activo tiene una configuración dhcp.
Si llevo “up”
mi perfil de conexión con el nombre, static1
entonces mi dispositivo tomará la IP estática 192.168.1.40 tal como está definida en el perfil de conexión.
nmcli con down Myoffice1 ; nmcli con up static1 nmcli con show
Volvamos a ver la dirección IP:
ip a
Verifique la dirección IP estática de la red
Podremos realizar nuestro primer perfil de conexión. Las propiedades mínimas que debemos definir son type , ifname y con-name :
type
– para el tipo de conexión.ifname
– para el nombre del dispositivo que está asignado a nuestra conexión.con-name
– para el nombre de la conexión.
Crear una nueva conexión Ethernet en Linux
Hagamos una nueva conexión ethernet con el nombre Myhome1
asignado a un dispositivo enp0s3
:
"nmcli con agregar tipo ethernet con-name Myhome1 ifname enp0s3"nmcli con add type ethernet con-name Myhome1 ifname enp0s3
Comprueba su configuración:
cat ifcfg-Myhome1
Crear una nueva conexión de red
Como puede ver BOOTPROTO=dhcp
, es así porque no proporcionamos ninguna dirección IP estática.
Pista : Podemos modificar cualquier conexión con el “nmcli con mod“
comando. Sin embargo, si modifica una conexión dhcp y la cambia a estática, no olvide cambiarla “ipv4.method”
de “auto”
a “manual”
. De lo contrario, terminará con dos direcciones IP: una del servidor dhcp y la estática.
Creemos un nuevo perfil de conexión Ethernet con un nombre static2
, que se asignará a un 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 una nueva conexión Ethernet
Modificar servidores DNS en Linux
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”
Sugerencia : Hay algo aquí a lo que debe prestar atención: las propiedades para la dirección IP y la puerta de enlace tienen nombres diferentes cuando agrega y cuando modifica una conexión. Cuando agregas conexiones usas “ip4”
y “gw4”
, mientras que cuando las modificas usas “ipv4”
y “gwv4”
.
Activar la conexión Ethernet en Linux
Ahora abramos este perfil de conexión:
nmcli con down static1 ; nmcli con up static2
Como puede ver, el dispositivo enp0s3
ahora tiene una dirección IP de 192.168.1.50 .
ip a
Verificar la dirección IP de la nueva conexión de red
Sugerencia : hay muchas propiedades que puedes modificar. Si no los recuerdas de memoria puedes ayudarte escribiendo “nmcli con show”
y luego el nombre de la conexión:
nmcli con show static2
Verifique la dirección IP de la nueva conexión de red
Puedes modificar todas estas propiedades escritas en minúsculas.
Por ejemplo: cuando baja un perfil de conexión, 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: creaste un perfil de conexión pero quieres que lo utilicen usuarios específicos. ¡Es bueno clasificar a tus usuarios!
Establecer permisos de conexión Ethernet para el usuario en Linux
Solo permitimos que la usuaria stella use este perfil:
nmcli con mod static2 connection.permissions stella
Pista : Si quieres dar permisos a más de un usuario, debes escribir user:user1,user2
sin espacios en blanco entre ellos:
nmcli con mod static2 connection.permissions user:stella,john
Permitir conexiones de red a los usuarios
Si inicia sesión como otro usuario, no podrá "abrir" 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 , aunque veamos que existe. Esto se debe a que un usuario actual no tiene permiso para iniciar esta conexión.
Conclusión : no dudes en utilizar nmcli. Es fácil y útil.
-
Internet
- La muerte lenta del hipervínculo
- Cómo cambiar dirección IP (modo gráfico), por qué querría hacerlo y cuándo no debería hacerlo
- 10 comandos "IP" útiles para configurar interfaces de red
- Cómo configurar conexiones IP de red usando 'nmcli' en Linux
- Configuración de una IP Estática en una Tarjeta de Red en Linux.
- ¿Migrar a la nube? Marque esta lista de verificación
- Nuevo estándar de Internet L4S: el plan silencioso para hacer que Internet se sienta más rápido
- Nextcloud y Roundcube se Fusionan para Impulsar la Descentralización en la Productividad en la Nube
- Los 10 mejores servidores proxy inversos de código abierto para Linux
- Una guía para principiantes para crear conexiones (Bonding) y puentes de red (Bridging) en Linux
- Conectar dos redes Locales alejadas creando de un Puente Transparente
- Crear un puente de red transparente "bridge" para conectar dos redes locales remotas
- Crear un Puente de Red o Bridge
- La propuesta de la ICANN / Verisign permitiría a cualquier gobierno confiscar nombres de dominio
- Listado errores HTTP, estados de respuesta del servidor