Publicado

GNU/Linux Varnish Caché https://varnish-cache.org ha sido concebido como un acelerador de aplicaciones web, o también conocido como proxy inverso de caché HTTP. Puede ser instalado en cualquier servidor que use HTTP y se configura para almacenar en caché los contenidos de dicho servidor. Varnish Cache es veloz, por regla general, acelera la entrega con un factor de 300 – 1000x, dependiendo de la arquitectura usada.
Rendimiento: Varnish está vinculado por la velocidad de la red, y su capacidad de velocidad se ha comprobado hasta en 20 Gbps
Flexible: Una de las principales características de Varnish es la flexibilidad de su lenguaje de configuración, VCL. Con VCL será posible escribir políticas sobre cómo deben manejarse las solicitudes entrantes y así, en dicha política, decidir qué contenido deseamos publicar, desde dónde se desea obtener el contenido y cómo debe modificarse la solicitud o la respuesta.
Varnish puede ser instalado en sistema operativos FreeBSD, ArchLinux, Debian, Ubuntu, RedHat, OpenBSD y más.

Instalación:

  1. apt-cache search varnish
    libvarnishapi1 – Bibliotecas compartidas para Varnish
    collectd-core – statistics collection and monitoring daemon (core system)
    nagios-plugins-contrib – Plugins for nagios compatible monitoring systems
    prometheus-varnish-exporter – Prometheus exporter for Varnish
    resource-agents – Cluster Resource Agents
    libvarnishapi-dev – development files for Varnish
    varnish – state of the art, high-performance web accelerator
    varnish-doc – documentation for Varnish Cache
    varnish-modules – Varnish module collection

  1. apt-get install varnish

Configurar:

Vamos a la ruta /etc/default/ y alli encontramos el archivo varnish y escogemos la opcion 2, con el fin de que se utilice el archivo default.vcl en la ruta /etc/varnish/default.vcl

DAEMON_OPTS=”-a :6081 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m”
256m son los megas de almacenamiento, si se quiere aumentar por ejemplo a 1 Giga se coloca 1g.

Ahora configuramos el archivo default.vcl en /etc/varnish

  1. Default backend definition. Set this to point to your content server.
    backend default {
    .host = “la ip de su servidor”;
    .port = “8080”;
    }

Luego vamos al arhcivo ports.conf en /etc/apache, y cambiamos Listen 80 por Listen 8080

Listen 8080

Luego vamos al archivo de configuracion de tu sitio o tus sitios web, y hacemos el cambio en la linea inicial así:

Cambiamos VirtualHost *:80
Por VirtualHost *:8080

Si no tiene archivos por separados para cada sitio web, entonces en el archivo 000-default.conf .

Por ultimo reiniciamos apache2 y varnish.

Una vez iniciados, los accesos a la web estarán en cache y en memoria, puedes ver los detalles y progresos de Varnish con el siguiente comando:

  1. varnishstat

Una prueba para comparar la mejora en el rendimiento de tu web, con este comando:

ab -n 1000 -c 5 http://tu-web-a-probar/index.php

Autor

Publicado

GNU/Linux Sysdig es una herramienta gratuita de código abierto cuya finalidad es explorar el comportamiento del sistema, capturar el estado del sistema en tiempo real, analizar las instancias que están siendo ejecutadas en Linux para crear un filtro y guardar dicha información con el fin de obtener un resultado sobre el comportamiento del mismo. Sysdig está escrito en un script LUA y contiene línea de comandos que puede ser ejecutada desde la consola. Dentro de sus principales características tenemos:
Rápido y estable.
Sencillo de usar.
Amplio alcance en el sistema.
Flexible.
Adaptable al flujo de trabajo actual.

Instalación del paquete:
# apt-get install sysdig

Comandos de ejecución de sysdig:
# sysdig

Los resultados emitidos por Sysdig es la siguiente:
%evt.num %evt.outputtime %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.info

Analicemos cada evento:

Evt.num
Es el número de evento el cual va incrementado línea a línea.

Evt. Outputtime
Indica la hora en que sucedió el evento.

Evt. Cpu
Es el número de CPU donde el evento fue registrado, por ejemplo 0.

Proc. Name
Hace referencia al proceso que desencadenó el evento, por ejemplo, acpid.

Thread. Tid
Indica el TID que generó el proceso, el cual corresponde al PID de procesos de un solo hilo.

Evt. Dir
Es la dirección donde sucedió el evento el símbolo > representa la entrada de eventos y el símbolo < la salida de eventos.

Evt. Type
Hace referencia al nombre del evento, por ejemplo open, read, etc.

Evt. Info
Lista los argumentos del evento.

Podemos aplicar opciones y filtros al comando Sysdig para obtener resultados más específicos de administrar, para esto debemos usar la siguiente sintaxis:

sysdig [opción] [filtro]

El listado completo de filtros lo podemos ver con el siguiente comando, vemos que se lista el filtro y su respectiva descripción.

sysdig -l

Las mas usadas son:

Process
Con esta clase filtramos la información del proceso como su ID o nombre.

Fd
Esta opción nos permite filtrar la información del descriptor del archivo (FD).

Evt
Usando esta clase podemos filtrar información del evento como numero de evento o fecha en que sucedió.

Group
Gracias a esta clase podemos filtrar información del grupo.

Syslog
Con este parámetro filtramos información del syslog, como severidad e instalación del evento.

En este filtro veremos todos los eventos asociados al proceso acpid, para ello ingresamos lo siguiente, podemos ver que se ha filtrado por el proceso indicado.

# sysdig proc.name=terminator

Es posible que deseemos almacenar los eventos que ocurren en un archivo para su posterior análisis, usaremos la siguiente sintaxis, hemos agregado el parámetro –w para indicar el archivo de destino.

# sysdig -w Nombre_Archivo.scap

Detenemos el proceso con la combinación de teclas Ctrl + C.

Agregar el parámetro –n para especificar cuantos eventos capturar con Sysdig, para ello usaremos la siguiente sintaxis:

# sysdig -n 300 -w Nombre_Archivo.scap

Si deseamos tomar capturas más pequeñas usamos el parámetro –C en archivos no mayor a 2 MB.

# sudo sysdig -C 2 -W 5 -w Archivo.scap

Un archivo un evento especifico, por ejemplo terminator, podemos usar la siguiente sintaxis, son 100 eventos del proceso terminator:

# sysdig -n 100 -w Archivo.scap proc.name=terminator

Leer y analizar los archivos grabados con Sysdig, si deseemos analizar los archivos que hemos almacenado utilizamos el siguiente comando para leerlo:

# sysdig -r Archivo.scap

Incluye scripts con la posibilidad de ejecutar diversas tareas administrativas dentro del sistema, la lista completa de comandos con el siguiente comando:

# sysdig –cl

Netstat
Nos permite listar las conexiones de red activas.
Spy_users
Nos permite ver la actividad de cada usuario.
Spy_port
Muestra la información que ha sido transmitida en cada puerto.
Spy_IP
Muestra la actividad de la dirección IP.
Httptop
Despliega las peticiones HTTP generadas en el sistema.

Acerca de cada comando podemos usar el parámetro –i, de la siguiente forma

# sudo sysdig -i (Comando)
# sudo sysdig –i netstat

Funcionamiento del comando usaremos el parámetro -c, de la siguiente forma

# sysdig -c topprocs_cpu

Csysdig es una herramienta que viene incluida dentro de Sysdig la cual nos ofrece la posibilidad de monitorizar el sistema de una forma gráfica, cumple las mismas funciones de Sysdig al capturar eventos en tiempo real, análisis y sus datos se refrescan cada dos segundos, para acceder a Csysdig usaremos el siguiente comando

# csysdig

Existen algunas opciones que podemos usar con Csysdig a nivel de configuración, algunas de estas son:

Modificar el tiempo de refresco de la información. Sabemos que por defecto el tiempo establecido es 2 segundos, si deseamos que dicho tiempo pase a ser 5 segundos usaremos el siguiente comando:

# csysdig -d 5000.

Excluir la información del usuario y del grupo en el campo Vistas usaremos el siguiente comando:

# csysdig -E

Para listar los eventos de un usuario en especial, usaremos el siguiente comando:

# csysdig user.name=nombreusuario

Para ver el resumen de un proceso en especial usaremos el comando sudo csysdig proc.name=(Nombre Proceso), para ver todos los comandos disponibles usaremos:

# csysdig -l

De este modo podemos usar Sysdig y Csysdig para un control en tiempo real de nuestro sistema GNU/Linux y mantener los mejores niveles de integridad y optimización.

Autor

Publicado

GNU/Linux por alguna razón no puede ingresar por perdida de la contraseña del root, hacemos lo siguiente:

En la pantalla de inicio o de arranque del grub presionar la tecla e (para editar).

En la segunda linea nos aparece (recovery mode), le damos enter y nos aparece unas lineas de código, seleccionamos la que contiene al inicio lo siguiente

linux /boot/vmlinuz-algo y al final de esa linea despues de ro quiet añadimos lo siguiente:
init=/bin/sh

Linea que quedaria asi:
linux /boot/vmlinuz-xxxxxxxxxxx ro quiet init=/bin/sh

Luego oprimimos la combinacion de las teclas Ctrl + x y se inicia en modo consola como root

Estando en la consola para que nos permita modificar la contraseña debemos remontar la partición raíz escribiendo:

# mount -o remount rw /

Despues de esto podemos modificar la contraseña perdida con el comando passwd

Autor

Publicado

GNU/Linux a diferencia de IPv4, que utiliza DHCP para la configuración, IPv6 utiliza el Protocolo de detección de vecinos para configurar direcciones y pasarelas. Desafortunadamente, originalmente el protocolo no tenía medios de proporcionar direcciones de servidores DNS a los clientes, haciendo necesario usar DHCPv6 para ese propósito. Las modernas máquinas son capaces de utilizar las opciones de publicación del enrutador IPv6 para la configuración DNS (RFC 6106), A continuación, miraremos cómo configurar un enrutador Linux usando los paquetes radvd y el daemon DHCP ISC en Debian.

isc-dhcp-server - ISC DHCP server for automatic IP address assignment
isc-dhcp-server-ldap - DHCP server that uses LDAP as its backend
radvd - Router Advertisement Daemon

Configuración de red y reenvío de paquetes

La siguiente configuración se ha probado con Debian stretch. Para los propósitos de este artículo, el archivo /etc/network/ interfaces tiene este aspecto: Aquí se describe cómo configurar un enrutador Linux usando radvd y el daemon DHCP ISC.

# ens3 to Internet
iface ens3 inet6 static
address 2001:479:db51:3f00:::2
netmask 64
gateway 2001:470:db51:3f00::1

# ens9 to internal network
iface ens9 inet6 static
address 2001:470:db51:3f00::3
netmask 64

La interfaz de salida es ens3 y la interfaz de entrada ens9.

Primero, para habilitar el reenvío de paquetes IPv6, en el archivo /etc/sysctl.conf quitarle el comentario a la siguiente linea:

# net.ipv6.conf.all.forwarding=1

Y ejecute el siguiente comando para realizar el cambio en el kernel en ejecución:

sysctl -w net.ipv6.conf.all.forwarding=1

Daemon Router Advertisement en IPv6

Instale el daemon radvd del router advertisement con:

# apt-get install radvd

Crear el archivo /etc/radvd.conf y poner la interfaz interna y el prefijo:

interface ens9
{
AdvSendAdvert on;
prefix 2001:470:db51:3f00::/64
{
};
};

Ahora reinicie el demonio radvd con:

# /etc/init.d/radvd start

Esto permitirá los anuncios por parte del router advertisement en la interfaz interna. Consulte los archivos de configuración de ejemplo en /usr /share/doc/ radvd/examples. Consulte también las páginas de manual de radvd (8) y radvd.conf (5) para obtener más información. El radvdump (8) es una herramienta útil para ver el tráfico publicado por radvd del router advertisement que estan corriendo en el momento.

Las opciones RDNSS y DNSSL

A continuación se muestra un ejemplo de configuración del archivo radvd.conf que también anuncia servidores DNS con RDNSS y ruta de búsqueda de DNS con DNSSL, ambos de los cuales se especifican en RFC 6106.

interface eth1
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;

prefix 2001:470:db51:3f00::/64
{
};

RDNSS 2001:470:db51:3f00::a 2001:470:db51:3f00::b
{
AdvRDNSSLifetime 10;
};

DNSSL linuxcolombia.com.co
{
- AdvDNSSLLifetime 10;
};
};

Si hizo los cambios debe reiniciar radvd.

DHCPv6

Para ser escuchados por Windows, debemos instalar un servidor DHCP compatible con DHCPv6, como una versión reciente del daemon DHCP de ISC:

# apt-get install isc-dhcp-server

En el archivo /etc/dhcp/dhcpd6.conf y modifique el contenido de este con lo siguiente:

ddns-update-style none;

default-lease-time 7200;
max-lease-time 86400;

subnet6 2001:470db51:3f00::/64 {
range6
2001:470:db51:3f00::1000
2001:470:db51:3f00::1fff;

option dhcp6.name-servers
2001:470:db51:3f00::a,
2001:470:db51:3f00::b;

option dhcp6.domain-search
"linuxcolombia.com.co";
}

Hemos configurado un grupo de 4096 direcciones aquí (:: 1000-1fff), más servidores DNS y ruta de búsqueda.

Inicie el servidor dhcpv6:

# /etc/init.d/isc-dhcp-server start

Si se presenta un fallo, vea /var/log/syslog para ver los mensajes de error. Por último, si todo salió bien, agrega a los niveles de ejecución predeterminados:

# update-rc.d isc-dhcp-server6 defaults

Ahora debe ser posible de obtener una dirección IPv6 y servidores DNS con un cliente DHCP. Una ventaja adicional con DHCP es que puede enviar más información de configuración, como direcciones de servidor de tiempo, mediante opciones de DHCP.

Autor

Publicado

GNU/Linux sipcalc es una calculadora de direcciones ip ( ipv4 e ipv6 ) muy útil para realizar calculo de subredes. La instalación es sencilla en Debían:

# apt-get install sipcalc

La información de red del prefijo /48 de la siguiente dirección 2001:470:db51::/48:

# sipcalc -6 2001:470:db51::/48 -a
[ipv6 : 2001:470:db51::/48] - 0

[IPV6 INFO]
Expanded Address - 2001:0470:db51:0000:0000:0000:0000:0000
Compressed address - 2001:470:db51::
Subnet prefix (masked) - 2001:470:db51:0:0:0:0:0/48
Address ID (masked) - 0:0:0:0:0:0:0:0/48
Prefix address - ffff:ffff:ffff:0:0:0:0:0
Prefix length - 48
Address type - Aggregatable Global Unicast Addresses
Network range - 2001:0470:db51:0000:0000:0000:0000:0000 -
2001:0470:db51:ffff:ffff:ffff:ffff:ffff

[V4INV6]
Expanded v4inv6 address - 2001:0470:db51:0000:0000:0000:0.0.0.0
Compr. v4inv6 address - 2001:470:db51::0.0.0.0

[IPV6 DNS]
Reverse DNS (ip6.arpa) -
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.5.b.d.0.7.4.0.1.0.0.2.ip6.arpa.

Si queremos partir el prefijo ipv6 /48 en subredes /64 vemos que hay 64-48= 16 bits de máscara de subred de diferencia. Por lo tanto obtendremos 2^16 = 65536 subredes “/64” en una red “/48”

Las 10 primeras subredes:
# sipcalc -6 2001:470:db51::/48 -S 64 | grep Network | head -n 10
Network - 2001:0470:db51:0000:0000:0000:0000:0000 -
Network - 2001:0470:db51:0001:0000:0000:0000:0000 -
Network - 2001:0470:db51:0002:0000:0000:0000:0000 -
Network - 2001:0470:db51:0003:0000:0000:0000:0000 -
Network - 2001:0470:db51:0004:0000:0000:0000:0000 -
Network - 2001:0470:db51:0005:0000:0000:0000:0000 -
Network - 2001:0470:db51:0006:0000:0000:0000:0000 -
Network - 2001:0470:db51:0007:0000:0000:0000:0000 -
Network - 2001:0470:db51:0008:0000:0000:0000:0000 -
Network - 2001:0470:db51:0009:0000:0000:0000:0000 -


Las 10 últimas:
# sipcalc -6 2001:470:db51::/48 -S 64 | grep Network | tail -n 10
Network - 2001:0470:db51:fff6:0000:0000:0000:0000 -
Network - 2001:0470:db51:fff7:0000:0000:0000:0000 -
Network - 2001:0470:db51:fff8:0000:0000:0000:0000 -
Network - 2001:0470:db51:fff9:0000:0000:0000:0000 -
Network - 2001:0470:db51:fffa:0000:0000:0000:0000 -
Network - 2001:0470:db51:fffb:0000:0000:0000:0000 -
Network - 2001:0470:db51:fffc:0000:0000:0000:0000 -
Network - 2001:0470:db51:fffd:0000:0000:0000:0000 -
Network - 2001:0470:db51:fffe:0000:0000:0000:0000 -
Network - 2001:0470:db51:ffff:0000:0000:0000:0000 -


Contemos la totalidad de redes:
# sipcalc -6 2001:470:db51::/48 -S 64 | grep Network | wc -l
65536

Los flags usados en estos ejemplos son:

-6 = ipv6
-a = all, Mostrar la máxima información
-S longitud de máscara = split, para realizar subnetting

Autor