Archivos de la categoría: Linux

Habilitar usuario root y permitir login por ssh

Hola Mundo:
Ubuntu impuso la moda de deshabilitar el usuario root y que todas las operaciones que requerían privilegios se hicieran a través de sudo. Esto fue una ventaja desde el punto de vista de seguridad, ya que la superficie expuesta era mucho menor. 

El procedimiento es sencillo, pero hay que tener consideración con la seguridad.
sudo passwd root
Con esto se le asigna una contraseña al usuario root. Para permitir el acceso por ssh hay que ir a /etc/ssh/sshd_config y buscar la opcion PermitLogin y dejarla en yes.


Luego se reinicia el servicio

sudo /etc/init.d/sshd restart
Con esta configuración aplicada ya estarían en condiciones de usar el usuario root.
Espero que hayan disfrutado este micro post.

Error /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Hola Mundo:

¡Qué lindo es volver a Linux! Ver que muchas cosas han cambiado, principalmente, para mejor y sin bonito y lo importante de esta súper plataforma.
perder lo

Esta vez, decidí usar Centos porque si. Necesitaba una distro con la robustez de Red Hat y Fedora y aparte que lo que quería hacer estaba bien documentado para ésta línea. Así que descargué el medio de instalación por torrent.

Instalé Java como en los viejos tiempos y configuré algunas variables de entorno para ejecutar la herramienta y ¡paf! me encuentro con este error:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

¡Qué basura! Se me había olvidado instalar un componente importante durante la etapa de instalación: Las herramientas de desarrollo que incluyen Glibc.
Así que desde la línea de comandos, con privilegios de superusuario, ejecuté:

yum -y install glibc.i686

Santo remedio. Funcionó sin problemas.

Servidor VPN con Raspberry Pi

En septiembre del año pasado hice la compra de un Raspberry Pi en una conocida página de gadgets

chinos. Fue una teleserie de varios meses, ya que en marzo terminé mi pelea con DHL por el problema con el envío. Es una historia que no viene al caso contar, pero lo importante es que es algo que solo a  mi me puede ocurrir 🙂

Para el que no sepa, el Raspberry Pi es una placa que cabe en la palma de la mano que es un computador. Sus características son:

  • Memoria RAM: 512 MB
  • CPU: ARM de 700 MHz
  • Almacenamiento: No tiene, pero trae una ranura para una tarjeta SD
  • 2 puertos USB
  • Salida HDMI
  • Jack de audio de 3.5 mm
  • Salida de video RCA
  • Puerto de expansión
  • Interfaz de red.
El tamaño es realmente conveniente. Para que logres hacerte una idea de como es mira la imagen:

Fuente: bbc.co.uk
Como ves, el tamaño y las características hacen que las cosas que puedes llegar a hacer con un Rpi tiendan al infinito.
Cuando la compré pensé en levantar el blog, pero necesitaría de tiempo para administrarla y los recursos no iban soportar para tener el sitio en buenas condiciones y Movistar usa el puerto 80 para administrar los enrutadores de los clientes de forma remota.

Después de ponerla como un servidor ftp y de archivos y darme cuenta que Onedrive y Google Drive lo hacen mejor e intentar hacer un smart tv (o un media center) y usar las características de AirPlay de mis dispositivos Apple y que todo fracasara, decidí que una mejor idea sería tener un servidor VPN privado y que usara el enrutador de mi casa como gateway y así navegar por internet de una forma más segura cuando no esté en mi casa y navegar por sitios bloqueados cuando estoy en el instituto haciendo clases. 

Para hacer la configuración usé una release antigua de Raspbian y los motivos son:

  1. Me gustan las distribuciones basadas en Debian. Encuentro que son las mejores distribuciones y no hay nada mejor que APT para la administración de paquetes.
  2. Las nuevas releases de Raspbian no vienen  con el módulo de iptables dentro del núcleo, cosa que tendrías que hacer un cross-compiling, porque no creo que quieras compilar el núcleo en esa cosa.
Teniendo el sistema instalado (no es un punto que discutiremos ahora) realiza la instalación de lo necesario:
sudo apt-get install pptp

Luego habilita un modulo

sudo modprobe ppp-compress-18

Configura el servidor de VPN. Entramos al fichero /etc/pptpd.conf y configuramos los parámetros:

  • localip es la dirección ip local del servidor de VPN. La forma es: localip 192.168.1.189
  • remoteip es el juego de direcciones disponible. La forma es: remoteip 192.168.1.200-210
Ahora es tiempo de que configures algunos parámetros secundarios. Tienes que entrar al fichero /etc/ppp/pptpd-options

ms-dns DIRECCION.DE.TU.GATEWAY.LOCAL
noipx
mtu 1490
mru 1490


Es necesario contar con nombres de usuario y contraseña para que puedan autenticarse con tu sistema. Tienes que entrar a /etc/ppp/chap-secrets y agregar usuarios de la siguiente forma:

usuario[TAB]*[TAB]password[TAB]*
Agregas todos los que necesites. Guardas y cierras. Reinicia el servicio: 
sudo service pptpd restart 

Si es necesario puedes habilitar tu servidor VPN para que permita el acceso a toda la red. La idea es interactuar con la red, así que en el fichero /etc/systctl.conf  buscas la línea net.ipv4.ip_forward=0 y cambiarla por net.ipv4.ip_forward=1 Guardas, cierras y actualizas el sistema con:

sudo sysctl -p

El penúltimo paso es configurar las reglas del firewall y que éstas se apliquen cada vez que el sistema se levante. Agrega las siguientes líneas al archivo /etc/rc.local justo antes de la linea exit 0

sudo iptables -t nat -A POSTROUTING -s 192.168.1.200/24 -o eth0 -j SNAT --to LA IP DEL RASPBERRY

Para finalizar, en el router abre el puerto UDP 1723 e intenta ingresar de forma externa. Lo bueno es que todos los clientes VPN incluidos en todos los sistemas operativos servirán para tu servidor.

Como extra, le puedes comprar un case y quedará así:

Ah! Lo otro extra es que puedes usar un servicio como No-Ip o alguno otro y será de lujo.
Chau!

LTSP en Debian

Hola Mundo:

 Es complicado ser profe. Se los digo, porque tienes que inventar actividades para hacer que los alumnos se
entusiasmen, se diviertan y aprendan. Encuentro que no hay nada mejor que aprender metiendo las manos.

Uno de mis cursos es un taller de hardware, donde se les enseña a los alumnos las partes del computador, como armar y desarmar y otras clases de dispositivos. El problema está en que ellos ya conocen del tema (y bastante)  y resulta difícil enseñarles algo que ellos dominan bastante bien.

Materiales no teníamos mucho en la sala de clases. Teníamos un puñado de computadores antiguos, en los que no teníamos la certera de que funcionaran. No sabíamos en qué estado estaban, ni mucho menos si encendían o no.

Realizaron pruebas y de todos, lograron hacer funcionar unos cuantos. Durante el armado de los computadores, nos dimos cuenta que todos los discos duros estaban malos o se los habían llevado otros alumnos.

No fue dificil revolver la cabeza y acordarse del píngüino. Les conté que existía una solución llamaba LTSP y que consistía levantar un sistema, escritorio, funcional con una administración centralizada y todo se hacía a través de la red, inclusive el booteo.

Mi distribución favorita es Debian, asi que decidí instalar el sistemita ahí.

Creación de la máquina virtual
Para el propósito usé una máquina virtual sobre Virtualbox con los siguientes recursos:

  • Memoria: 1024 MB
  • Disco Duro: 10 GB
  • Procesador: 1
  • Interfaces de red: 1
Lo importante está en que la interfaz de red estaba conectado a la red interna. La red interna funciona como un switch virtual. Es donde pueden conversar las máquinas virtuales de forma aislada de la red física. Se pueden crear distintas “redes internas” con la herramienta.
Para hacer pruebas, creé una máquina virtual que simulaba ser un cliente tontorrón:
  • Memoria: 512 MB
  • Procesador: 1
  • Interfaces de red: 1
Es imperante que esta máquina tenga el arranque por red habilitado y que sea prioridad,
Instalación del sistema
No hablaré sobre la instalación de Debian. Hay muchos artículos que hablan en internet sobre eso. En todo caso, la instalación es super intuitiva y no requiere de mucho trabajo. Nada más deben asegurarse que están instalando el entorno gráfico.
Una vez que el sistema está instalado, tienen que abrir una consola y como root ejecutar
apt-get install ltsp-server-standalone

Descargará una serie de paquetes. Este proceso toma poco tiempo.

Construcción del cliente
Lo importante es construir una imagen que es que le copiará por TFTP a los clientes que se conecten.
Existen diversos parámetros que los pueden revisar en esta página.
Lo más sencillo es ejecutar:


ltsp-build-client

Y santo remedio. Comenzará a construir y empaquetar una imagen para cliente. La imagen la cream a partir de la configuración que tengan en su computador. Es posible personalizarla, pero escapa de este tutorial.

Configuración servidor DHCP
La configuracion que viene por defecto no funciona. De hecho, se podrán dar cuenta que al arrancar el servicio da un mensaje de error en rojo.
En una rápida configuración, editaremos el archivo /etc/dhcpd/dhcpd.conf  y agregaremos al final del archivo la siguiente linea:

include "/etc/ltsp/dhcpd.conf"

Este cambio agregará la configuración que debiera tener el servidor DHCP para permitir que los clientes reciban una imagen por TFTP. El archivo incluye la dirección del servidor TFTP.
Si no quieres realizar muchos cambios a los archivos de configuración, te recomiendo que configures tu tarjeta de red con la dirección 192.168.67.1 /24.

Retoques en la configuración
Es necesario realizar pequeñas ediciones en la configuración de algunos componentes para asegurarnos que el servicio funcionará como reloj. Lo primero es agregar la siguiente línea al archivo /etc/exports

/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)

Luego, asegúrense que el servicio de TFTP inicia por si solo. Para esto tienen que editar el archivo /etc/default/tftpd-hpa y agregar la línea:

RUN_DAEMON="yes"

Después que ya realizaron el cambio, tienen que comentar,  en el archivo /etc/inetd.conf, la línea:

#tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

y reinician los servicios:

invoke-rc.d openbsd-inetd restart
invoke-rc.d tftpd-hpa restart

Final
Teniendo todo listo, ya están en condiciones de hacer funcionar el sistema. Tienen que conectar a la red a un computador que soporte arranque por red.
Al final de la implementación debieran llegar a algo así:

El curso completo con los que hicimos la implementación real:

Eso. Chau