UTS Namespace
Información Básica
Un espacio de nombres UTS (UNIX Time-Sharing System) es una característica del kernel de Linux que proporciona aislamiento de dos identificadores del sistema: el nombre de host y el dominio NIS (Servicio de Información de Red). Este aislamiento permite que cada espacio de nombres UTS tenga su propio nombre de host independiente y dominio NIS, lo cual es particularmente útil en escenarios de contenerización donde cada contenedor debe aparecer como un sistema separado con su propio nombre de host.
Cómo funciona:
Cuando se crea un nuevo espacio de nombres UTS, comienza con una copia del nombre de host y del dominio NIS de su espacio de nombres padre. Esto significa que, al crearse, el nuevo espacio de nombres comparte los mismos identificadores que su padre. Sin embargo, cualquier cambio posterior en el nombre de host o en el dominio NIS dentro del espacio de nombres no afectará a otros espacios de nombres.
Los procesos dentro de un espacio de nombres UTS pueden cambiar el nombre de host y el dominio NIS utilizando las llamadas al sistema
sethostname()
ysetdomainname()
, respectivamente. Estos cambios son locales al espacio de nombres y no afectan a otros espacios de nombres o al sistema host.Los procesos pueden moverse entre espacios de nombres utilizando la llamada al sistema
setns()
o crear nuevos espacios de nombres utilizando las llamadas al sistemaunshare()
oclone()
con la banderaCLONE_NEWUTS
. Cuando un proceso se mueve a un nuevo espacio de nombres o crea uno, comenzará a utilizar el nombre de host y el dominio NIS asociados con ese espacio de nombres.
Laboratorio:
Crear diferentes Espacios de Nombres
Línea de comandos
Al montar una nueva instancia del sistema de archivos /proc
si se utiliza el parámetro --mount-proc
, se asegura de que el nuevo espacio de nombres de montaje tenga una vista precisa y aislada de la información de procesos específica de ese espacio de nombres.
Docker
Verificar en qué espacio de nombres está su proceso
Encontrar todos los espacios de nombres UTS
Entrar dentro de un espacio de nombres UTS
También, solo puedes entrar en otro espacio de nombres de proceso si eres root. Y no puedes entrar en otro espacio de nombres sin un descriptor que apunte a él (como /proc/self/ns/uts
).
Cambiar el nombre del host
Referencias
Última actualización