Categories
Uncategorized

¿Porqué Windows Server?

Vamos a opinar brevemente de Windows Server y porqué usarlo
Si, somos inclusivos 😀

Wine
https://www.winehq.org/

Dcom
https://learn.microsoft.com/es-es/windows/win32/midl/com-dcom-and-type-libraries

.NET
https://dotnet.microsoft.com/es-es/learn/dotnet/what-is-dotnet-framework

Mono
https://www.mono-project.com/

RDS
https://learn.microsoft.com/es-es/troubleshoot/windows-server/remote/remote-desktop-services-overview

Windows 365
https://learn.microsoft.com/en-us/windows-365/overview

Estamos en
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste
– Discord https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Problemas en IT

Qué tipos de problemas nos encontramos en IT?
Como organizarse para tener un procedimiento adecuado?
Sobre todo, como divertirte haciendo tu trabajo

Extracto de “Houston, tenemos un problema”
https://youtube.com/live/c7A0AF-5J2g

Troubleshooting Methodology for More Efficient IT Support
https://www.comptia.org/blog/troubleshooting-methodology

Estamos en
– Discord https://discord.gg/ZWQVg7cgdR
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste

Categories
Uncategorized

Linux Para Todos – Archivos y Directorios

En Linux, todo es un archivo o un directorio, lo que significa que incluso los dispositivos como los discos y puertos serie tienen su representación como archivos. Los archivos se organizan en directorios, lo que permite una estructura de árbol para el sistema de archivos.

Para manipular archivos y directorios, hay varios comandos útiles.
El comando mv se utiliza para mover un archivo o directorio a otra ubicación.
El comando cp se utiliza para copiar archivos o directorios.
El comando touch se utiliza para crear un archivo vacío o actualizar la fecha de acceso y modificación de un archivo existente.
El comando mkdir se utiliza para crear un nuevo directorio.

Estamos en
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste
– Discord https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Linux Para Todos – Navegando Directorios y FHS

La FHS (Filesystem Hierarchy Standard) es un conjunto de estándares que definen la estructura de los sistemas de archivos en sistemas operativos basados en Unix, incluyendo Linux.

Establece un conjunto de reglas y convenciones para la ubicación de archivos y directorios en el sistema de archivos, lo que permite una mayor consistencia y portabilidad entre diferentes distribuciones de Linux.

La FHS define la estructura básica del sistema de archivos, como los directorios /bin, /etc, /home, /lib, /root, /sbin y /usr, entre otros.

Estamos en
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste
– Discord https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Linux Para Todos – Variables de Entorno y History

Las variables de entorno se utilizan para almacenar algunos valores que pueden ser utilizados por los scripts desde el shell.
History es una manera fácil de consultar los comandos ejecutados por un usuario en el sistema.

Estamos en
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste
– Discord https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Linux Para Todos – Comillas en Bash

Comillas simples (”): todo lo que esté entre ellas se considera como un literal, lo que significa que se interpreta literalmente todo el contenido entre las comillas.
No se interpretan variables, expresiones, caracteres especiales ni secuencias de escape dentro de las comillas simples.
Comillas dobles (“”): se interpretan las variables y las expresiones dentro de ellas, lo que significa que se pueden utilizar para expandir y evaluar el contenido de las variables.
Algunos caracteres especiales todavía no se interpretan, como las comillas simples y el signo de dólar ($).
Comillas invertidas(“ ): son las menos conocidas de todas, pero son muy útiles. Cuando se utiliza este tipo de comillas, todo lo que esté entre ellas se ejecuta como un comando en una subshell.
Esto significa que el resultado del comando se expande en lugar del contenido entre las comillas, lo que permite una gran flexibilidad en la ejecución de comandos.

Estamos en
– Instagram https://www.instagram.com/ccesteok
– YouTube https://www.youtube.com/@cceste
– Discord https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Linux para todos – Consola, SSH, un webserver, un proxy reverso

Arrancamos con un Linux desde cero, vamos a
– ver los diferentes metodos de conexión
– actualizar e instalar software
– montar un webserver
– implementar un proxy reverso y SSL

Movimos el chat acá, de todos modos podes seguirnos en Discord
https://discord.gg/FzQUCpEs?event=1090436023449813042

Estamos en
https://www.instagram.com/ccesteok
https://www.youtube.com/@cceste
https://discord.gg/ZWQVg7cgdR

Categories
Uncategorized

Introduccion a redes e Internet

De a poco vamos sumando miembros, espero lo disfruten!

Categories
Uncategorized

Conociendo Linux

Primera juntada! Virtual, con problemas técnicos, pero con muchas ganas, vamos aprendiendo de a poco

Categories
Ansible Netbox Projects Python

j2ipaddr

Jinja2 filters for IP addresses, the easy way

Why

On networking and network automation, we need to extract info about IP addresses as a combination of two values:

  • a host address
  • a subnet mask

For 10.10.10.5/24, the host address is 10.10.10.5 and the subnet mask is 255.255.255.0, and its prefix length is 24.

There is additional information we can infer from this single item, as its network address, broadcast address.

Useful data for network engineers are wildcards or hostmasks, network size, class, type, and so on.

Jinja2 provides several integrated filters to work with, however it can be complicated to use complex data types.

Ansible provides a way to work this on its ansible.utils.ipaddr collection.

However, probably you won’t need the entire Ansible package just to be able to use it.

This package intends to provide a set of filters and handler to the Python 3 netaddr module, on a way that is hopefully easy and lightweight to use.

What

Included filters are the following:

ip_address(addr)

Returns an IP address for a combination of IP address and subnet mask

ip_address('10.10.10.5/24')
> 10.10.10.5
{{ '10.10.10.5/24 | ip_address }}
> 10.10.10.5

ip_prefixlen(addr)

Returns a prefix length for a combination of IP address and subnet mask

ip_prefixlen('10.10.10.5/24')
> 24
{{ '10.10.10.5/24 | ip_prefixlen }}
> 24

ip_netmask(addr)

Returns a subnet mask for a combination of IP address and subnet mask

ip_netmask('10.10.10.5/24')
> 255.255.255.0
{{ '10.10.10.5/24 | ip_netmask }}
> 255.255.255.0

ip_hostmask(addr)

Returns a wilcard or hostmask for a combination of IP address and subnet mask

ip_hostmask('10.10.10.5/24')
> 0.0.0.255
{{ '10.10.10.5/24 | ip_hostmask }}
> 0.0.0.255

ip_wildcard(addr)

Alias for ip_hostmask(addr)

ip_wildcard('10.10.10.5/24')
> 0.0.0.255
{{ '10.10.10.5/24 | ip_wildcard }}
> 0.0.0.255

ip_network(addr)

Returns a network address for a combination of IP address and subnet mask

ip_network('10.10.10.5/24')
> 10.10.10.0
{{ '10.10.10.5/24 | ip_network_hosts_size }}
> 10.10.10.0

ip_broadcast(addr)

Returns a broadcast address for a combination of IP address and subnet mask

ip_broadcast('10.10.10.5/24')
> 10.10.10.255
{{ '10.10.10.5/24 | ip_broadcast }}
> 10.10.10.255

ip_network_hosts_size(addr)

Returns the size of the subnet for a combination of IP address and subnet mask

ip_network_hosts_size('10.10.10.5/24')
> 255
{{ '10.10.10.5/24 | ip_network_hosts_size }}
> 255

ip_network_first(addr)

Returns the first usable address in network address for a combination of IP address and subnet mask

ip_network('10.10.10.5/24')
> 10.10.10.1
{{ '10.10.10.5/24 | ip_network_hosts_size }}
> 10.10.10.1

ip_network_last(addr)

Returns the last usable address in network address for a combination of IP address and subnet mask

ip_network('10.10.10.5/24')
> 10.10.10.254
{{ '10.10.10.5/24 | ip_network_hosts_size }}
> 10.10.10.254

How

Simply install with pip.

$ pip install j2ipaddr

To insert the filters on your Jinja2 processor, simply use the following syntax. The filter name can be changed by adjusting the dict key name.

import jinja2
import j2ipaddr.filters
jinja2.filters.FILTERS['ip_prefixlen'] = filters.ip_prefixlen

Or, probably an easier way, use the following one-liner to load all the filters into your Jinja2 filters

import jinja2
import j2ipaddr.filters
jinja2.filters.FILTERS = {**jinja2.filters.FILTERS, **filters.load_all()}

On your templates, you can do this as an example:

Variables

host:
  interfaces:
    Te1/0/1:
      ipv4_addresses:
        - 10.10.10.5/24

Template

router ospf 10
  network {{host.interfaces.Te1/0/1.ipv4_addresses[0] | ip_network }} {{host.interfaces.Te1/0/1.ipv4_addresses[0] | ip_wildcard  }} area 0.0.0.0

The output would looks like this:

router ospf 10
  network 10.0.0.0 0.0.0.255 area 0.0.0.0

Where

You can find this project on