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

Publicado

GNU/Linux Lectura de direcciones IPv6

La forma completa está representada como 8 octetos hexadecimales de 16 bits cada una escrita en minúscula hexadecimal, separada por dos puntos (:). Por ejemplo 2001: 0db8: 382b: 23c1: aa49: 4592: 4efe: 9982.

A menudo una dirección tendrá subcadenas largas de todos los ceros; La más larga y primera ejecución de todas las hexquads cero se abrevia como un doble colon ("::"). Como :: es de longitud variable, sólo se puede utilizar una vez por dirección. También se omiten los "0" principales, hasta tres por hexadecimal. Por ejemplo, fe80 :: 1 es la forma canónica de fe80: 0000: 0000: 0000: 0000: 0000: 0001 y 2001: db8: b: 23c1: 49: 4592: efe: 9982 es la forma canónica de 2001: 0db8: 000b: 23c1: 0049: 4592: 0efe: 9982.

Una tercera forma es escribir los últimos 32 bits en el bien conocido estilo decimal IPv4 punteado. Por ejemplo 2002 :: 10.0.0.1 corresponde a la representación larga (hexadecimal) 2002: 0000: 0000: 0000: 0000: 0000: 0a00: 0001 con forma canónica 2002 :: a00: 1.

Ahora el lector debe ser capaz de entender lo siguiente:

# Ip addr
2: eth0: mtu 1500 qdisc pfifo_fast estado UP qlen 1000
Enlace / éter 00: 25: ad: 2c: af: 17 brd ff: ff: ff: ff: ff: ff
Inet 192.168.1.2/24 ámbito global eth0
Inet6 fe80 :: 225: adff: enlace de alcance fe2c: af17 / 64
Valid_lft siempre preferido_lft para siempre

fe80 :: 225: adff: fe2c: af17 de la interfaz eth0 es una dirección autoconfigurada de enlace local. Se genera como identificador de estilo IEEE EUI-64 desde la dirección IEEE EUI-48 (MAC) del dispositivo como parte de la autoconfiguración.

Para obtener más información sobre la estructura de direcciones IPv6 véase RFC3513.

Rangos de direcciones IPv6 especiales

Los rangos de direcciones se especifican mediante un prefijo. Esto es similar al concepto IPv4 de un prefijo de red y una máscara de red, pero en IPv6 usamos siempre la notación CIDR para especificar el número de bits en el inicio de la máscara que son 1. Por ejemplo, el rango de direcciones fe80 :: / 10 incluye Todas las direcciones que son iguales a la dirección fe80 :: en los primeros 10 bits, es decir, todos comienzan con el patrón de bits 1111 1110 10. Un dígito hexadecimal corresponde a cuatro bits: 1111 es f, 1110 es e. 10 es el más significativo de dos bits de 1000 que es 8 en hexadecimal, pero como esta longitud no es un múltiplo de 4, el rango también incluye direcciones con este dígito establecido a 9 (1001), a (1010) y b (1011) . Obviamente, un prefijo de red de longitud 128 especifica una dirección individual.

Dirección IPv6 Longitud de prefijo (bits) Descripción Notas

:: 128 No especificado Se utiliza para las solicitudes rutas enrutadores Cf. 0.0.0.0 en IPv4

::1 128 Dirección de bucle invertido Cf. 127.0.0.1 en IPv4

ffff: a.b.c.d 96 Dirección IPv6 mapeada IPv4 Los 32 bits inferiores son la dirección IPv4. Se utiliza en socket API hosts IPv4.

fe80 :: 10 Enlace local Autoconfiguradas no enrutables utilizadas en una LAN, p. Para DHCPv6

fc00 :: 7 Local único Sistema autónomo, sin conexión a nivel mundial. Cf. RFC 1918.

Ff00 :: 8 Multidifusión

2000 :: 3 Global unicast Todas las direcciones unicast globales comienzan actualmente con 2.

Algunos prefijos de dirección IPv6 han quedado obsoletos y ya no deben utilizarse.

Dirección IPv6 obsoleta Longitud de prefijo (bits) Descripción Notas

3ffe :: 16 Prefijo 6bone Usado 1998-2006.

::a B C D 96 IPv4 integrado 96 bits cero seguidos por 32 bits IPv4.

Fec0 :: 10 Sitio local Reemplazado por direcciones locales únicas

Algunos prefijos de dirección son de uso especial:

Dirección IPv6 especial Longitud de prefijo (bits) Descripción Notas

2001: db8 :: 32 Ejemplos de documentación No debe encaminarse.

2001: 0 :: 32 Túneles de Teredo Los bits restantes provienen de Teredo y el dispositivo NAT del cliente.

2002 :: 16 6to4 túneles Los siguientes 32 bits son la dirección IPv4 del cliente

Autor