Categorías
Linux y Software Libre

Averiguar la dirección IP de un equipo por su hostname.

La situación es un poco complicada, verán, tengo un usuario que ocasionalmente me pide ayuda y para ello me conecto de manera remota a su equipo, le ayudo en lo que necesite y fin de la historia, peeeeroooooo…

Este usuario tiene un pequeño detalle, salta de una dirección IP a otra. Supongo que prende poco su equipo, sólo cuando lo necesita y en cada ocasión el servidor DHCP le asigna una dirección diferente, el problema es saber cuál.

Claro que puedo consultar la lista de préstamos de DHCP de PfSense, pero me ocupa demasiado tiempo. Entonces usé Angry IP Scanner con buenos resultados, un ligero escaneo a mi red local para localizar el equipo, peeeeroooo…

Un buen día Angry IP Scanner (ipscan para los cuates) dejó de funcionar. Supongo que fue un problema durante la actualización de Manjaro, es algo que pasa todo el tiempo, al parecer un problema con Java y con solo mencionar ese nombre me salen ronchas.

Entonces me di a la tarea de buscar alguna alternativa, el objetivo es relativamente simple averiguar la dirección IP de un equipo por su hostname. perooooo …

¿Qué comando usar?

Durante mi investigación surgieron varios nombres, intenté cuanto comando se me puso enfrente. En algunos me acercaba bastante, pero los resultados no eran los que esperaba, probé con:

  • arp
  • ping
  • nslookup
  • nmap
  • samba

Samba fue el ganador

Contra todo pronóstico el ganador fue samba con el comando nmblookup. Este comando hace precisamente lo que estoy necesitando. Como conozco el hostname del equipo que estoy buscando todo se resume a un simple comando.

nmblookup hostname

Y voalá, la IP correspondiente aparece en mi terminal.

[inguanzo]$ nmblookup equipo1
192.168.0.175 equipo1<00>

Ahora se que esto es un poco triki, porque el hostname también es el NetBIOS name (que no es lo mismo, pero es igual). Y como ocurre en muchas de mis investigaciones, una vez que obtengo un resultado satisfactorio, detengo la investigación y sigo con otra cosa.

¿Ustedes saben otra forma de obtener la dirección IP de un equipo de red mediante su hostname? Espero sus comentarios.

Por lo pronto, ¡Feliz fin de semana!.

Imagen principal de Marvin Meyer en Unsplash.

Categorías
Linux y Software Libre

Configurar una impresora LPD en Windows para imprimir desde Linux

Me da vergüenza decirlo, llevo años mandando mis trabajos de impresión a una impresora que usa Windows (no tenía otra alternativa). Y me da más pena decir que durante esos mismos años batallé para que funcionara.

Incluso varios artículos de este blog tratan sobre el tema, como pueden ver en Impresora compartida con samba pide usuario y contraseña o en Problemas al imprimir en una impresora compartida en windows desde linux.

Pero con el tiempo mi equipo se ha ido actualizando y los demás equipos no provocando una serie de incompatibilidades casi siempre relacionadas con el tema de la seguridad.

Siempre había logrado resolver esos problemas invirtiendo una o dos horas, pero ayer llegué al límite. No puedo estar haciendo circo, maroma y teatro cada vez que actualizo mi computadora con manjaro.

Llegó la hora de buscar otra opción.

LPD (Line Printer Daemon)

En algún momento de mi vida ví algo sobre LDP pero lo pasé por alto. Al ver las opciones de conexión que ofrece el asistente de CUPS lo recordé y me puse a investigar sobre el tema.

LPD es un protocolo de red para enviar trabajos de impresión a una impresora remota y se entiende perfectamente con CUPS.

El único problema es que la impresora esta conectada a un equipo con Windows (7 en este caso).

Instalar LPD en Windows.

Afortunadamente LPD esta incluido en Windows pero no esta habilitado por default, para eso hay que instalarlo.

Vamos al Panel de control, luego a la sección de Programas posteriormente a donde dice Activar o desactivar las características de Windows y finalmente activamos la opción que dice Servicio de impresión LPD y eso es todo.

Servicio de impresión LPD

Les recuerdo que en mi caso la impresora ya tenía un nombre de recurso compartido y de hecho, si alguien manda imprimir desde otro equipo en Windows sigue funcionando.

Configurar la impresora en Linux.

Para evitar problemas que he tenido en el pasado, utilizo el configurador de CUPS ( http://localhost:631 ).

Doy de alta la impresora de manera normal, me va a preguntar un nombre, descripción, pero a la hora de especificar la conexión lo hago de la siguiente forma.

lpd://dirección.IP/nombreImpresora

Llegó el momento de la verdad. Si todo salió bien podrán imprimir desde linux en una impresora compartida en un equipo con windows usando LPD en lugar de Samba).

Categorías
Linux y Software Libre

Impresora compartida con samba pide usuario y contraseña

A lo mejor el título de este artículo no es muy claro. Voy a intentar explicar la situación. Generalmente mando mis trabajos de impresión a la impresora compartida de un equipo que utiliza Windows 7. Usualmente no había tenido problemas hasta después de la última actualización de Manjaro en la que para mandar imprimir me pide un nombre de usuario y una contraseña.

Al principio creí que era la contraseña de root, pero luego me la volvía a pedir. Intenté con mi usuario de linux y tampoco. Lo único que funcionó era el nombre de usuario y contraseña de la computadora con Windows. Bueno ya era un avance.

En ocasiones anteriores este tipo de problemas se arreglaban solos o bastaba con dar de alta nuevamente la impresora para que desaparecieran pero ese no fue el caso.

Durante más de una semana me acostumbré a teclear el usuario y la contraseña. Funcionaba pero era poco práctico, ya era hora de buscar una solución.

Configuración de impresión.

Manjaro tiene un programa que se llama Configuración de impresión que es donde administro las impresoras que tengo dadas de alta en mi sistema. Supuse que la solución era un poco obvia, decirle a mi Manjaro que almacenara el nombre de usuario y contraseña en lugar de teclearlo cada vez que quería imprimir.

Cambiar el URI del dispositivo
No almacena el usuario y la contraseña.

Incluso existe un espacio en donde se puede especificar un usuario y contraseña en donde dice Autenticación, lamentablemente después de varios intentos me di cuenta de que no guarda esa información y en la siguiente impresión la vuelve a pedir. Así que era necesario probar otro enfoque.

Mediante la página de CUPS.

Para entrar a la página de CUPS solo hay que visitar http://localhost:631/ , luego el menú AdministraciónAdministrar Impresoras .. MantenimientoModificar Impresora (o ya de plano dar de alta una nueva impresora).  Seleccionar la opción que dice: Windows Printer via SAMBA y en ese lugar se le puede especificar el usuario y contraseña de la conexión a la impresora.

Modificar impresora en CUPS
Aquí es donde va a guardar la información de la conexión.

La conexión quedaría más o menos así:

smb://usuario:contraseña@ip_computadora/impresora_compartida

Me pasó que el nombre de usuario de la computadora con Windows incluía un espacio, en ese caso, se agrega un %20 en el lugar donde va el espacio, algo más o menos así:

smb://usuario%20con%20espacio:contraseña@ip_computadora/impresora_compartida

Lo que sigue es guardar los cambios, hacer algunas pruebas y si todo salio bien, ya no pedirá el usuario y la contraseña. Bueno, hasta la próxima actualización de Manjaro.

Espero que este consejo les sea de utilidad. ¡Hasta la próxima!.

Enlaces.