Algo de Linux

jueves, 21 de marzo de 2019

Mi configuración ideal de pdns-recursor

Parece que la gente sigue teniendo problemas con los DNS en la mayor parte de los centros. Como, en mi caso, no tengo problemas, comparto la configuración del recursor que es para mí ideal y la que yo aplico en mi centro:

/etc/powerdns/recursor.conf
#################################
# forward-zones Zones for which we forward queries, comma separated domain=ip pairs
#
# forward-zones=
forward-zones=instituto.extremadura.es=172.19.144.76,gobex.pri=172.21.8.8,juntaextremadura.pri=172.21.8.8,eco.pri=172.21.8.8,mir.es=172.21.8.8,asistenciatic.educarex.es=172.21.8.8

#################################
# forward-zones-recurse Zones for which we forward queries with recursion bit, comma separated domain=ip pairs
#
# forward-zones-recurse=
forward-zones-recurse=.=208.67.222.222;208.67.220.220;8.8.8.8;8.8.4.4

#################################
# local-address IP addresses to listen on, separated by spaces or commas. Also accepts ports.
#
local-address=127.0.0.1

#################################
# local-port port to listen on
#
local-port=1553

#################################
# quiet Suppress logging of questions and answers
#
quiet=yes

#################################
# setgid If set, change group id to this gid for more security
#
setgid=pdns

#################################
# setuid If set, change user id to this uid for more security
#
setuid=pdns

export-etc-hosts=yes

#dnssec=validate
#dnssec-log-bogus=yes
Si echáis un vistazo a forward-zones y forward-zones-recurse, entenderéis perfectamente la configuración...
Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 20 de marzo de 2019

Configurar el mapa de teclado en pfSense

Si accedéis a pfSense por consola o vía ssh y no tenéis configurado el mapa de teclado en español, podéis configurarlo fácilmente con tan sólo ejecutar el siguiente comando:
# kbdcontrol -l /usr/share/syscons/keymaps/spanish.iso.kbd
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 19 de marzo de 2019

Conectarnos a un contenedor LXC en Proxmox para resetear la contraseña de root


Si se os olvida la contraseña de un contenedor LXC creado en Proxmox, no os preocupéis porque no hay ningún problema para resetearla. Lo único que tenéis que hacer es conectaros al servidor proxmox, por ejemplo, vía ssh, y, una vez dentro, usar la herramienta de gestión de contenedores de línea de comandos de Proxmox:
# pct enter <vmid>
Donde reemplazaremos vmid por el identificador del contenedor:
# pct enter 100
Con el comando anterior estaríamos accediendo como root al contenedor con identificador 100.

Una vez dentro, ya podemos ejecutar el comando passwd para cambiar la contraseña de administrador.
Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 18 de marzo de 2019

pfSense: Escanear el sistema de archivos

La forma más cómoda de escanear el sistema de archvios de pfSense, es programar un escaneo en el reinicio. Para ello, nos conectamos vía ssh:


Seleccionamos la opción 5) Reboot system:


Y pfSense nos ofrecerá varias formas de reinicio:


Seleccionamos "F: Reboot and run a filesystem check" y el equipo se reiniciará y se realizará un escaneo del sistema de ficheros automáticamente.
Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 11 de marzo de 2019

Preparar una imagen de un cliente Xubuntu Bionic para el IES

En principio, como ya vimos en un post de febrero de 2018, era muy sencillo preparar una imagen de un cliente Xubuntu Trusty para usar como modelo en el IES.

Como ya comenté en el curso de ADMINISTRACIÓN DE PAQUETES EN UNA RED DE EQUIPOS UBUNTU/DEBIAN, preparar una imagen de un cliente Xubuntu Bionic para usar como modelo en el IES sigue siendo igual de sencillo.

Básicamente, a grandes rasgos, lo que hay que hacer es:
  1. Instalar Xubuntu Bionic en una máquina que vayamos a usar como modelo.
  2. Añadir los repositorios que queramos usar (En mi caso uso repositorios locales para que el proceso de instalación sea más rápido).
  3. Instalar los paquetes:
    1. linex-xubuntu-core (Instalará todos los paquetes que configuran el sistema con xubuntu y aplicaciones)
    2. linex-xubuntu-puppet (Instalará puppet y pkgsync)
Y con ésto tendríamos un sistema Ubuntu Bionic configurado para utilizar en el centro educativo. 

Ésto es así de sencillo porque nuestros compañeros de administracionsi prepararon una serie de metapaquetes que instalan todos los paquetes necesarios como dependencias:
# dpkg -l|grep linex-
ii  linex-archive-keyring                         1.1                                             all          GnuPG archive keys for the AdministracionSI repository
ii  linex-astronomia                              1.0                                             all          Install astronomy packages.
ii  linex-backgrounds                             1.2.1                                           all          linex backgrounds config
ii  linex-config-ldapclient                       1.3                                             all          linex ldap autentication and mount system.
ii  linex-desktop-config                          1.1                                             all          Configuración del Escritorio de Linex
ii  linex-education-menus                         1.2                                             all          linex education menus configuration.
ii  linex-educationpack-core                      1.0                                             all          Metapaquete de aplicaciones educativas.
ii  linex-electricidad                            1.1                                             all          Install electricity packages.
ii  linex-exelearning                             2.0                                             all          Herramienta de autor para creación y publicación de contenidos web.
ii  linex-fisica                                  1.1                                             all          Install physics packages.
ii  linex-geogebra                                1.0                                             all          Dynamic mathematics software for education
ii  linex-geografia                               1.0                                             all          Install geography packages.
ii  linex-grafica-siatic                          1.0                                             all          Nvidia Configuration for Siatic.
ii  linex-graficos                                1.0                                             all          Install graphics packages.
ii  linex-lengua-idiomas                          1.0                                             all          Install applications related to language packages.
ii  linex-lightdm-config                          1.2                                             all          linex lightdm config
ii  linex-matematicas                             1.2                                             all          Install math packages.
ii  linex-musica                                  1.0                                             all          Install music packages.
ii  linex-quimica                                 1.1                                             all          Install chemistry packages.
ii  linex-taskbar-config                          2.2                                             all          Configuración de la barra de inicio para linex-Xubuntu
ii  linex-ubuntu-puppet                           2.39                                            all          Configuración del cliente puppet
ii  linex-varios                                  1.4                                             all          Install miscelaneous packages.
ii  linex-xubuntu-core                            1.4                                             all          Metapaquete de entorno Linex para Xubuntu
ii  puppet-linex-common                           3.8.5-2                                         all          configuration management system

El PROBLEMA es que, por alguna razón, el paquete linex-varios tiene tres dependencias que no se instalan:

  • sece
  • educarex-squeak
  • linex-exelearning



Y no se instalan porque estos tres paquetes no se encuentran en el repositorio de desarrollo. Si queréis resolver el problema, mientras lo solucionan en administracionsi, tenéis dos opciones:

  • Modificar el paquete linex-varios con dpkg-deb, como enseñé en el curso para quitar las tres dependencias.
  • Reempaquetar los paquetes que no se encuentran en el repositorio de desarrollo con dpkg-repack en una máquina donde los tengáis instalados y añadirlos a vuestro propio repositorio, como también enseñé en el curso.

Como también comenté cuando escribí el post sobre preparar una imagen de un cliente Trusty, cambiaría las mismas cosas que dije entonces...

Por ejemplo, si echáis un vistazo al paquete linex-xubuntu-core, veréis que instala como dependencias los siguientes paquetes:


Pues bien, yo quitaría de esas dependencias el paquete linex-config-ldapclient. ¿Para qué? Simplemente para poder instalar un entorno Xubuntu Trusty sin configurar el equipo como cliente ldap. De esta manera, podríamos crear una imagen sin ldap para equipos que no se van a usar en el centro, como por ejemplo, para usuarios que quieran tener en casa el mismo sistema que usan en el centro.  Además, abriría el desarrollo de la imagen a la Comunidad...

Haciendo ésto, cuando alguien quiera preparar una imagen de centro, tan sólo tendría que instalar expresamente los tres paquetes:
  • linex-xubuntu-core
  • linex-xubuntu-puppet
  • linex-config-ldapclient
Por otro lado, quitaría la dependencia linex-checkldap del paquete linex-config-ldapclient. El paquete linex-checkldap para mi gusto es más perjudicial que beneficioso y supongo que se creó como un apaño para solucionar algún problema que desconozco. No lo he quitado de mi centro, pero he parado el servicio para que no me cause problemas.






Por último, tan sólo comentar un detalle que causa muchas dudas en la lista de administradores. Prácticamente todos tenemos quitado el paquete light-locker para evitar problemas. Para evitar su instalación, lo mejor es ponerlo en el maynothave.ies de pkgsync en los clientes, principalmente porque se instala como dependencia del paquete xubuntu-desktop, y, añadir un recurso puppet que garantice su ausencia. De este modo, se desinstalará o bien mediante puppet, o bien mediante pkgsync.

Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 8 de marzo de 2019

Matar todos los procesos de un usuario

Es sencillo matar todos los procesos de un usuario en un momento dado, simplemente utilizando pkill.

Por ejemplo:
# pkill -u agonzalezs02
Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 21 de febrero de 2019

Descomprimir imagen iso

Para descomprimir imágenes ISO, podemos utilizar la herramienta 7-zip que se encuentra en los repositorios.
# apt update && apt -y install p7zip-full
Una vez instalada, ya podemos utilizarla:
# 7z x clonezilla-live-2.6.0-37-amd64.iso
Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 8 de febrero de 2019

Script cambiamarca: Modificado para convertir en opcional la ejecución de sinc_puppet y pkgsync

Al igual que hice con el script cambiatipo, he modificado el script cambiamarca para convertir en opcional la ejecución de sinc_puppet y pkgsync en función de dos variables definidas al comienzo del script:

SINCPUPPET=1
PKGSYNC=1

Sintaxis:
# cambiamarca [nombre-del-host]
Algunos ejemplos de uso:
# cambiamarca
# cambiamarca siatic
En el primer caso, el script solicitará que el usuario introduzca la marca. En el segundo caso, se lo pasamos mediante parámetro.

Instalarlo es muy sencillo:
# wget --no-check-certificate -O /usr/local/sbin/cambiamarca https://raw.githubusercontent.com/algodelinux/cambiamarca/master/cambiamarca
# chmod 755 /usr/local/sbin/cambiamarca
Aquí podéis ver el código completo de cambiamarca:

Publicado por primera vez en http://enavas.blogspot.com.es

Script cambiatipo: Modificado para convertir en opcional la ejecución de sinc_puppet y pkgsync

He modificado el script cambiatipo para convertir en opcional la ejecución de sinc_puppet y pkgsync en función de dos variables definidas al comienzo del script:

SINCPUPPET=1
PKGSYNC=1

Sintaxis:
# cambiatipo [nombre-del-host]
Algunos ejemplos de uso:
# cambiatipo
# cambiatipo siatic
En el primer caso, el script solicitará que el usuario introduzca el tipo. En el segundo caso, se lo pasamos mediante parámetro.

Instalarlo es muy sencillo:
# wget --no-check-certificate -O /usr/local/sbin/cambiatipo https://raw.githubusercontent.com/algodelinux/cambiatipo/master/cambiatipo
# chmod 755 /usr/local/sbin/cambiahostname
Aquí podéis ver el código completo de cambiatipo:

Publicado por primera vez en http://enavas.blogspot.com.es

Script cambiahostname: Modificado para admitir parámetros

Esta semana he vuelto a modificar el script cambiahostname para permitir un uso más flexible mediante  el uso de parámetros:
# cambiahostname -h
 
Cambiar el nombre del host

Uso: /usr/local/sbin/cambiahostname [OPTIONS]
Opciones reconocidas:
  -h               mostrar esta ayuda y salir.
  -n HOSTNAME      introducir el nombre de host. (sólo se cambiará el hostname si no existe una entrada DNS para este HOST)
  -d DNSSERVER     introducir el servidor DNS.
  -s               ejecutar sinc_puppet.
  -p               ejecutar pkgsync.
Su funcionamiento es el siguiente:
  • Es posible introducir el nombre de la máquina como parámetro. 
  • Si no se introduce el nombre como parámetro, tratará de obtenerlo consultando al DNS definido en DNSSERVER. 
  • Si el hostname de la máquina es 'modelo', y no se ha encontrado un hostname para el equipo en el servidor DNS, se utilizará como hostname la dirección MAC de la interfaz de red ethernet. 
  • Si no se puede obtener el nombre consultando al servidor DNS, se solicita su introdución mediante teclado.
Algunos ejemplos de uso:
# cambiahostname -h
# cambiahostname a20-pro 
# cambiahostname -n a20-pro 
# cambiahostname -d servidor 
# cambiahostname -n a20-pro -d servidor 
# cambiahostname -sp
# cambiahostname -n a20-pro -s
# cambiahostname -n a20-pro -p 
# cambiahostname -n a20-pro -sp 
Instalarlo es muy sencillo:
# wget --no-check-certificate -O /usr/local/sbin/cambiahostname https://raw.githubusercontent.com/algodelinux/cambiahostname/master/cambiahostname
# chmod 755 /usr/local/sbin/cambiahostname
Aquí podéis ver el código completo de cambiahostname:

Por último, tan sólo recordar que el script hace uso del comando nslookup que pertenece al paquete dnsutils. Por tanto, para que funcione, deberéis tener instalado dicho paquete. Como se encuentra en los repositorios, resulta fácil de instalar:
# apt-get install dnsutils
Publicado por primera vez en http://enavas.blogspot.com.es