"Después del juego es antes del juego"
Sepp Herberger

viernes, 19 de mayo de 2017

Listar wifis detectadas por un punto de acceso con dd-wrt

Esto ha salido por la pregunta de un compañero, me apunto la chuleta: sacar un listado de las wifis colindantes detectadas por uno de nuestros puntos de acceso que corren dd-wrt. En principio lo normal en Linux/Openwrt es usar "iwlist ra0 scan" para hacer un escaneo de redes, pero en este caso daba un error de que la tarjeta de red no soporta escaneo. No sé si es algo general de dd-wrt o bien es problema del hardware de ese punto de acceso. Buscando un rato encontré esto.
# ifconfig ra0 up
# site_survey
Salen los datos formateados, pero luego con awk o cut podemos coger las columnas que queramos para nuestros propósitos.

sábado, 13 de mayo de 2017

Compartir impresora de Linux a Linux

Normalmente las impresoras compartidas de nuestra red traen su tarjeta ethernet, con lo cual accedemos directamente a ellas desde CUPS con la URI socket://172.XX.YY.ZZ o similar. Pero a veces tenemos una impresora USB conectada a un PC con Linux y queremos compartirla hacia otros PC de la red.

La primera tentación es añadir/modificar la impresora en CUPS (http://localhost:631) y darle a la opción "Compartir impresora".


Esto es rápido y sucio: la impresora se anunciará en la red de forma promiscua, los otros CUPS que tengan habilitado el escaneo de red (opcion "Browsing On" en sus /etc/cups/cupsd.conf) la verán y la añadirán a su lista de impresoras, los usuarios también la verán en cualquier búsqueda y al final todo el mundo podrá imprimir por ella. Saldrán continuamente hojas que nadie sabe quién ha mandado.

La segunda opción es hacerla compartida de forma discreta. Para ello la impresora no será configurada como compartida en CUPS desde el entorno gráfico. En cambio, la pondremos como compartida en /etc/cups/printers.conf. Para ello pararemos CUPS con
# /etc/init.d/cups stop
Editaremos nuestra impresora en /etc/cups/printers.conf modificando Accepting y Shared para ponerlos a "Yes":
# Printer configuration file for CUPS v1.7.5
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING

UUID urn:uuid:b4f30c34-4298-33a9-6266-b98a3ec00ebd
Info BN_SALA_PROFESORES
Location Sala Profesores
DeviceURI usb://Lexmark%20/X1100%20Series
State Idle
StateTime 1494510320
Reason opc-life-over-warning
Type 8392780
Accepting Yes
Shared Yes
....
Y reiniciamos de nuevo CUPS:
# /etc/init.d/cups start
No basta con esto, debemos además configurar en el interfaz web (http://localhost:631) las opciones "Allow remote administration" y "Allow users cancel any job", para que la impresora compartida pueda ser accedida y controlada desde los PC clientes:



Si vamos ahora a ver la configuración de la impresora:


Vemos que aparece como "No compartida". Que no cunda el pánico: si está compartida, pero no lo está vociferando por la red.

Bueno, con esto tenemos configurado el ordenador servidor al que está conectada la impresora por USB. Vamos a configurar los clientes la impresora con la URI:
http://mipc:631/printers/BN_SALA_PROFESORES
En el CUPS del PC cliente vamos a su interfaz web en http://localhost:631 y le damos a "Añadir impresora" eligiendo http o https:


y por último la añadimos poniendo la URI correspondiente que enlaza con el CUPS de la impresora remota (http://mipc:631/printers/BN_SALA_PROFESORES):


Solo falta terminar eligiendo el driver y finalizando la configuración.

Bueno, pues nada, la próxima semana nos espera un tiempo duro de parcheo de Windows para este virus de los amigos de la NSA, ya que I don't wanna cry.