miércoles, 24 de febrero de 2021

Forzar PC a conectarse a un DC específico



Forzar a qué Domain Controller / Active Directory / Directorio Activo se autentica el ordenador o PC de un usuario de una organización o empresa.



En las organizaciones que tienen varios controladores de dominio, los inicios de sesión de máquina y de usuario se reparten entre ellos. Esto hace que dos máquinas de una misma sede puedan estar autenticadas en diferentes controladores de dominio.

En otra entrada ya dije cómo averiguar en qué controlador de dominio se ha autenticado una máquina. Ahora mostraré como forzar que una máquina se autentique contra el controlador de dominio que le especifiquemos nosotros manualmente.

Para forzar la autenticación de una máquina:

1. Abrir cmd.exe
2. Ejecutar la siguiente instrucción:

nltest /SC_RESET:dominio.local\SERVIDORDC

Donde dominio.local es el dominio de la organización y SERVIDORDC el nombre de máquina del servidor DC (Domain Controller) en el que queramos que la máquina se autentique.
0

miércoles, 17 de febrero de 2021

cifs_mount failed w/return code = -512



Resolver cifs_mount error 512



Hoy me ha tocado montar en un Linux una carpeta compartida desde un Windows Server 2003 (sí, lo se, debería ser delito tener un Windows Server 2003 corriendo en 2021).

He tratado de montar la carpeta compartida con este comando:

mount -t cifs -o username=usuario,password=password //192.168.1.1/carpeta /carpeta/en/linux

El comando se quedaba cargando infinitamente, así que le he metido verbosidad con:

mount -t cifs -o username=usuario,password=password //192.168.1.1/carpeta /carpeta/en/linux --verbose

pero cifs no me ha mostrado nada.

Llegados a este punto, me he ido a /var/log/messages y he visto el siguiente mensaje:

CIFS: Attempting to mount //192.168.1.1/carpeta No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount. CIFS VFS: Cancelling wait for mid 0 cmd: 0 CIFS VFS: cifs_mount failed w/return code = -512

He probado a forzar la versión de Samba a 1.0 del siguiente modo:

mount -t cifs -o vers=1.0,username=usuario,password=password //192.168.1.1/carpeta /carpeta/en/linux

Y la carpeta ha montado sin problemas.
0

miércoles, 3 de febrero de 2021

Listar carpetas compartidas por samba



¿Cómo listar las carpetas compartidas por samba en un servidor remoto?



Si queremos listar las carpetas que un servidor remoto está compartiendo en red, podemos usar smblcient para ello desde la terminal de un Linux.

HOST# smbclient -L 192.168.1.1 Enter WORKGROUP\root's password: Sharename Type Comment --------- ---- ------- profiles Disk Network Profiles Service users Disk All users groups Disk All groups print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.11.14-git.247.8c858f7ee144.19.1-SUSE-oS15.0-x86_64) SMB1 disabled -- no workgroup available

192.168.1.1 es la IP del servidor que está publicando carpetas en red.

El nombre de cada carpeta es cada una de las líneas de la columna sharename.
0

miércoles, 27 de enero de 2021

Averiguar a qué DC se ha autenticado una máquina



¿A qué Domain Controller / Active Directory / Directorio Activo se ha autenticado una máquina de una organización cuando ha iniciado sesión en su sistema operativo Windows?



En las organizaciones que tienen varios Domain Controllers, los inicios de sesión de máquina y de usuario se reparten entre ellos para balancear la carga. Esto hace que dos máquinas de una misma sede puedan estar autenticadas en diferentes controladores de dominio.

Para ver a qué directorio activo se ha conectado una máquina para recibir sus GPO, podemos usar el siguiente comando en una ventana de cmd:

nltest /DSGETDC:

Esto nos dará información sobre el DC en el que se ha conectado la máquina, por ejemplo:

C:\Users\usuario>nltest /DSGETDC: DC: \\USA-DC01.dominio.local Dirección: \\192.168.1.4 GUID del DOM: c95a30af-2af1-cf3c-a4fa-cfbe3b776daf Nombre del DOM: dominio.local Nombre del bosque: dominio.local Nombre de sitio DC: USA Nuestro nombre de sitio: USA Marcas: GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE FULL_SECRET WS DS_8 DS_9 DS_10 El comando se completó correctamente

En el resultado del comando podemos ver el nombre de máquina del controlador de dominio, su IP, el nombre del dominio, etc.
0

miércoles, 20 de enero de 2021

Instalar vmware tools en SUSE Linux



Cómo instalar vmware tools en un SLES (SUSE Linux Enterprise Server).



Me acabo de descargar la última versión de SUSE Linux Enterprise Server 15 SP2 y he creado una plantilla en vmware para desplegar máquinas a partir de ella.

Ahora, el vCenter me indica que el sistema operativo no tiene instaladas las vmware tools.

He tratado de instalar las "open vm tools" como de costumbre:

HOST# zypper install open-vm-tools zypper in open Refreshing service 'Basesystem_Module_15_SP2_x86_64'. Refreshing service 'Desktop_Applications_Module_15_SP2_x86_64'. Refreshing service 'Development_Tools_Module_15_SP2_x86_64'. Refreshing service 'Python_2_Module_15_SP2_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_SP2_x86_64'. Refreshing service 'SUSE_Package_Hub_15_SP2_x86_64'. Refreshing service 'Server_Applications_Module_15_SP2_x86_64'. Refreshing service 'Web_and_Scripting_Module_15_SP2_x86_64'. Loading repository data... Reading installed packages... 'open' not found in package names. Trying capabilities. No provider of 'open-vm-tools' found. Resolving package dependencies... Nothing to do.

Esta vez no ha funcionado.

Tras darle algunas vueltas, he hecho lo siguiente:

HOST# zypper install open-vm-tools* Refreshing service 'Basesystem_Module_15_SP2_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_SP2_x86_64'. Refreshing service 'Server_Applications_Module_15_SP2_x86_64'. Loading repository data... Reading installed packages... 'open-vm-tools' providing '*vm-tools*' is already installed. No update candidate for 'open-vm-tools-11.2.5-4.12.1.x86_64'. The highest available version is already installed. Resolving package dependencies... The following NEW package is going to be installed: open-vm-tools-sdmp 1 new package to install. Overall download size: 44.4 KiB. Already cached: 0 B. After the operation, additional 31.6 KiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package open-vm-tools-sdmp-11.2.5-4.12.1.x86_64 (1/1), 44.4 KiB ( 31.6 KiB unpacked) Retrieving: open-vm-tools-sdmp-11.2.5-4.12.1.x86_64.rpm ...............[done] Checking for file conflicts: ..........................................[done] (1/1) Installing: open-vm-tools-sdmp-11.2.5-4.12.1.x86_64 .............[done]

Tras instalar este paquete con un wildcard al final (*), el sistema ha encontrado un paquete con la coletilla "sdmp". Lo he instalado y vmware ya no se ha quejado más.
0

miércoles, 13 de enero de 2021

No matching host key type found



Cómo solucionar el error "no matching host key type found. Their offer: ssh-dss".



Tuve que crear un script que se conectara a un host externo vía SSH. Al probar la conexión manualmente para ver que podía establecerse, me encontré con el siguiente problema:

HOST # sftp usuario@host Unable to negotiate with 1.2.3.4 port 22: no matching host key type found. Their offer: ssh-dss Connection closed

Parece que el otro extremo corre una versión antigua (muy antigua) de OpenSSH, por lo que hay que indicarle explícitamente a la última versión de OpenSSH (es decir, la versión que ejecutamos en nuestro host) que use el algortimo "ssh-dss" para establecer la conexión.

Para ello, deberemos usar una opción en el comando ssh (las opciones se añaden con el parámetro -o seguido de la opción que querramos añadir) del siguiente modo:

-oHostKeyAlgorithms=+ssh-dss

De esta forma, el comnando completo queda así:

HOST # sftp -oHostKeyAlgorithms=+ssh-dss usuario@host

Tras usar el comando ssh con el parámetro indicado, ya podremos establecer la conexión con el host en cuestión con normalidad y ya no nos saltará el mensaje de error.

Como curiosidad, si queremos averiguar qué versión de OpenSSH corre en el otro extremo, podemos usar la opción "-vvv" de ssh para ver las versiones local y remota:

debug1: Local version string SSH-2.0-OpenSSH_8.4 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.2p2+sftpfilecontrol-v1.3-hpn13v12
0