Archivo de la categoría: SysAdmin

Dar internet cuando tu VPN no te lo permite

Manejo de la tabla de route windows / linux

Mi Mujer tenia que conectarse a su trabajo por VPN, el caso interesante fue que al conectarse a la VPN perdía la conexión a Internet. En este caso el analisis fue en windows, pero la solucion podria haberse hecho tranquilamente en linux.

El problema aquí es que hay 2 rutas en la tabla de routeo que hacen de gateway de «salida a internet»

la tabla de routeo tiene algo que se llama Métrica que cuanto menor es, mas «preferible» es para usar por el sistema.

Entonces lo que tenía que hacer era básicamente eliminar la ruta que hacia de «salida» a Internet por la interfaz 172.16.1.183 (la VPN)


route delete 0.0.0.0 mask 0.0.0.0 0.0.0.0

Pero para acceder a las «rutas» que mi mujer necesitaba para trabajar, habia que agregarlas a mano:


route add 192.1.2.74 mask 255.255.255.255 0.0.0.0 IF 24
route add 162.254.205.92 mask 255.255.255.255 0.0.0.0 IF 24

la pregunta es : porque puse como «gateway» el 0.0.0.0 ? y el IF (interface) porque puse el 24 ?

Para responder a la primera pregunta, el 0.0.0.0 en windows se pone así para indicar que sea una ruta ONLINK tal como estaba la ruta de gateway de «salida» a internet por la VPN

La segunda es simplemente ver la salida del route print de windows para ubicar la interfaz correcta (la interfaz que se crea on the fly cada vez que se conecta)

claramente la interfaz «BALAT VPN» es la que quiero, por eso puse el numero 24 en la parte de interfaz

y listo ! con esto, devolvemos internet a la maquina pudiendo conectar a a la VPN sin problemas !

en windows como en linux se puede hacer un script para que se ejecuten estos commandos

en windows simplemente ponemos lo sig. en un archivo .BAT y lo ejecutamos como administrador, luego de cada conexión a la VPN


echo off
route delete 0.0.0.0 mask 0.0.0.0 0.0.0.0
route add 192.1.2.74 mask 255.255.255.255 0.0.0.0 IF 24
route add 162.254.205.92 mask 255.255.255.255 0.0.0.0 IF 24
echo on
echo 'complete'

Algunas notas de la tabla de ROUTE:

1.- se lee de abajo hacia arriba

2.- si hay 2 rutas que indican lo mismo, gana la de menor metrica

Upgrade Nextcloud 12 a 13 (funciona entre cuales quiera versión que las haya aplicado)

Luego de ejecutar el actualizador automatico de nextcloud dentro de la versión 12, me pareció bien y util.

Ayer u antes de ayer, apareció una release mayor 13, donde publicaban mejoras de rendimiento y otras cosas importantes

Por lo que me propuse actualizar «a mano» la versión que tenía instalado en mi vps

les comparto las instrucciones que me llevaron al exito de la actualización y me han servido entre varias versiónes entre las que tuve que actualizar el producto…, de hecho las instrucciones me han quedado con versiones entre las que actualizaba cuando tenía owncloud ! jajaja

cd
mkdir owncloud_descomprimir
cd owncloud_descomprimir
wget https://download.owncloud.org/community/owncloud-8.1.4.tar.bz2
tar xjf owncloud-8.1.4.tar.bz2
mv owncloud owncloud8.1.4
sudo mv owncloud8.1.4 /var/www/html/
cd /var/www/html/
cp owncloud8.0.3/config/config.php owncloud8.1.4/config/config.php
sudo chown www-data:search -Rf owncloud8.1.4
sudo chmod 775 -Rf owncloud8.1.4
cd
mkdir -p backup/owncloud/8.0.3  ##backup por si algo sale mal
cd backup/owncloud/8.0.3
cp -Rf  /var/www/html/owncloud8.0.3/config ./
mysqldump -uroot -p owncloud | gzip -9 > ./owncloud8.0.3.sql.gz

cd /var/www/html/owncloud8.0.3
sudo -u www-data php occ maintenance:mode --on
sudo vim /etc/apache2/sites-available/cloud.conf         # cambiar el directorio con la nueva versión
sudo vim /etc/apache2/sites-available/cloud-ssl.conf     # cambiar el directorio con la nueva versión
sudo service apache2 restart
sudo vim /var/www/html/owncloud8.1.4/config/config.php   # cambiar la version en el parametro

sudo -u www-data php occ upgrade
sudo -u www-data php occ maintenance:mode --off
sudo -u www-data php console.php files:scan NombreUsuarioQueTieneMuchosArchivos

instalar filezilla ultima versión en Xential ubuntu 16.04

Intentar utilizar el filezilla en ubuntu 16.04 recien instalado desde los repositorios oficiales, es basicamente la muerte, debido a que el programa hace Crash con solo usarlo despues de recien instalado

Lo que fui incursionando para poder resolver este tema, sería anecdótico contárselos en este articulo, por lo que voy a simplemente mostrar la forma de instalar y utilizar la ultima versión (que al momento de escribir esta entrada es la 3.30)

Pasos para instalar:

$ sudo apt purge filezilla # si ya lo tienen instalado

## Ir al navegador y descargar el cliente desde el sitio oficial https://filezilla-project.org/download.php

en mi caso obtuvo el archivo: FileZilla_3.30.0_x86_64-linux-gnu.tar.bz2, sigamos con los pasos

$ tar xjf FileZilla_3.30.0_x86_64-linux-gnu.tar.bz2
$ sudo cp Filezilla3 /usr/local/bin/filezilla-folder
$ sudo ln -s /usr/local/bin/filezilla-folder/bin/filezilla /usr/local/bin/filezilla  # con esto es accesible desde cualquier ubicacion que estemos en el filesystem

Listo ! ya lo deberíamos tener listo

$ filezilla

Problemas:
Me a ocurrido que me dice:

filezilla: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./filezilla)

revisando:…

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_DEBUG_MESSAGE_LENGTH

Que mala suerte ! el filezilla pide justo una versión más de la ultima que tenemos disponible en el systema

Vemos como lo solucionamos:

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

$ sudo apt-get update

Tiró error: W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://screenshots.getdeb.net xenial-getdeb InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A8A515F046D7E7CF
W: Failed to fetch http://archive.getdeb.net/ubuntu/dists/xenial-getdeb/InRelease  The following signatures couldn'
t be verified because the public key is not available: NO_PUBKEY A8A515F046D7E7CF
W: Some index files failed to download. They have been ignored, or old ones used instead.


$ wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8A515F046D7E7CF
$ sudo apt-get update
$ sudo apt-get install gcc-6 g++-6
$ gcc-6 --version | head -n 2
gcc-6 (Ubuntu/Linaro 6.3.0-18ubuntu2~16.04) 6.3.0 20170519
Copyright (C) 2016 Free Software Foundation, Inc.

Ahora si ! tenemos disponible

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_DEBUG_MESSAGE_LENGTH

Con esto podremos ejecutar y tener instalado el filezilla ultima versión

Gracias por leer !

Saludos
PegasusOnline

Linux Debian/Ubuntu/Mint : cambiar controles de las ventanas (cerrar, maximizar, minimizar) a la izquierda o derecha

Esto vale en Mate desktop o gnome sobre debian jessie, ubuntu 15, mint LMDE 2, y linux mint 17:

a la derecha

gsettings set org.gnome.desktop.wm.preferences button-layout 'menu:minimize,maximize,close'

a la izquierda

gsettings set org.gnome.desktop.wm.preferences button-layout 'close,maximize,minimize:menu'

Moviendo particiones /boot /root /home a otras particiones o discos

bootear desde un live cd o live USB

1- Montar las particiones desde donde vamos a leer info y a donde vamos a traspasar la información

cd /mnt
# root viejo
sudo mkdir oldroot
sudo mount -t ext4 /dev/sda6 oldroot
# root nuevo
sudo mkdir newroot
sudo mount -t ext4 /dev/sda8 newroot

2.- copiamos toda la info del root viejo al nuevo

sudo cp -ax oldroot/ newroot/

3.- montamos en el nuevo root los directorios que tengamos en otras particiones (yo tengo boot y home en otras particiones)

#boot
sudo mount -t ext4 /dev/sda5 newroot/boot
#home
sudo mount -t ext4 /dev/sda7 newroot/home

4.- hacemos un «bind» con los directorios ficticios de proc dev y sys

sudo mount -B /proc newroot/proc/
sudo mount -B /dev newroot/dev/
sudo mount -B /sys newroot/sys/

5.- eliminamos todo en la partición del viejo root para que el grub no lo detecte como un S.O al que queramos acceder

sudo rm -rf oldroot/*

6.- hacemos chroot al nuevo root

sudo chroot newroot
update-grub

Listo!

Recuperando discos y usb sticks

Introduccion:

No siempre podemos estar seguros que el estado de nuestro dispositivo de almacenamiento (con «dispositivo de almacenamiento» me refiero a todo disco duro (sea SATA, IDE o SSD), pendrive o cualquier otro hardware que nos permita guardar información), el estado de los disposititvo de almacenamiento no siempre podemos garantizar su estado perfecto para siempre, ocurre que con el tiempo los dispositivos comienzan a tener problemas.

Todo dispositivo de almacenamiento, cuenta con alguna organización de archivos, es decir, lógica (comunmente se conoce a esa organización lógica como file system), aquí hay muchas cosas que se podrían profundizar para entender que es lo que puede estar con «problemas», para no aburrilos voy a ser lo más minimalista posible:

Existen varios tipos de problemas que le pueden ocurrir a un dispositivo de almacenamiento: Seguir leyendo Recuperando discos y usb sticks

Cron – Agendando tareas

Una imagen vale más que mil palabras!

Veamos como crear crontabs en linux…

Ingresando al cron para agendar tareas:

Nota: el agendar tareas es por cada usuario, por lo que debemos evitar realizar sudo, excepto que querramos agendar ejecución de comandos que se ejecuten como root !

$ crontab -e

crontab

Por cada linea del archivo que podemos ingresar representará un comando que se ejecutará con la frecuencia que necesitamos…
Cual frecuencia?

Veamos:
Cron

En la imagen se puede ver perfectamente en los primeros 5 parametros de la linea que debemos ingresar son especificar, cuando y con que frecuencia necesitamos que se ejecute el comando del último parametros de la linea:

En el ejemplo de la imagen se muestra como se podría ejecutar el script /home/usuario/script.sh con el usuario root todos los dias del año a las 16 hs