Buscar

WiFi: Buenas prácticas - Capítulo 1

El autor de este post es Pol Padrisa (@polpadrisa)

A lo largo de una serie de posts vamos a plantear algunas preguntas que deberías hacerte para averiguar si estás sacando todo el partido a tu red de Wi-fi corporativa.
 
¿Estoy utilizando el estándar de WiFi 802.11 adecuado para mis necesidades?

Wi-fi: Buenas prácticas - Capítulo 1: LOGO

Muchas veces hemos oído hablar de WiFi 802.11 a/b/g/n/ac … qué significan y cuándo deberíamos utilizar cada uno de ellos.

Wi-fi: Buenas prácticas - Capítulo 1: TABLA

Con echar un vistazo a la tabla nos damos cuenta de que hay ciertos estándares que son mejores que otros, queda muy evidente que 802.11n es mucho mejor que 802.11b así pues debemos adquirir aquellos puntos de acceso (AP) que admitan 802.11n o 802.11ac y retirar los antiguos a,b,g de nuestra red.

Pero ojo, 802.11ac no es mejor respecto a 802.11n en todas las situaciones.

 
La banda 2.4Ghz transmite mucho mejor a través de obstáculos mientras que la banda 5Ghz se atenúa con mucha facilidad. 

Este dato es de suma importancia ya que en algunos casos esta atenuación de 5Ghz puede ser una ventaja o la capacidad de transmitir entre obstáculos de 2.4 Ghz puede ser una desventaja. En definitiva, debemos estudiar muy bien en cada caso qué nos interesa más. 

Ventajas de 2.4Ghz:

- Retroportabilidad: La mayoría de dispositivos WiFi son a 2.4Ghz, eso significa que casi todo el mundo que tenga la etiqueta WiFi en su dispositivo podrá conectar a nuestra red.

- Mejor conductividad contra obstáculos y mejor cobertura.

Desventajas de 2.4Ghz:

-
Retroportabilidad: La mayoría de dispositivos WiFi son a 2.4Ghz, eso significa que casi todo el mundo que tenga la etiqueta WiFi en su dispositivo podrá conectar a nuestra red -> ralentizaran a toda la red (se explicará en el siguiente artículo por qué).

- Mejor conductividad contra obstáculos y mejor cobertura -> Recibiremos muchas más interferencias ya que no podremos aislarnos con facilidad.

- Cantidad de dispositivos utilizan la banda 2.4Ghz, microondas, teléfonos inalámbricos, auriculares, vigilabebés, aeromodelismo y radiocontrol, bluetooth… Lo cual genera interferencias.

- Anchos de banda físicos teóricamente inferiores.

Ventajas de 5Ghz:

- Pocos dispositivos (de momento) lo utilizan.

- Peor conductividad contra obstáculos que nos permite aislarnos de interferencias en entornos cerrados.

- Anchos de banda físicos teóricamente superiores.

Desventajas de 5Ghz:

- Pocos dispositivos (de momento) lo utilizan. -> No cualquier dispositivo WiFi actual podrá conectarse a nuestra red.

- Peor conductividad contra obstáculos -> Necesitaremos más AP para dar cobertura que en 2.4Ghz.

Si os fijáis hay muchos elementos que se encuentran en los apartados de "ventajas y desventajas" a la vez ya que dependiendo del entorno, podría ser una ventaja o una desventaja.

La conclusión sería que debemos investigar bien qué queremos hacer con nuestra WiFi y según las necesidades decidirnos por una u otra banda.

Veamos algunos ejemplos:


Ejemplo 1: Queremos cubrir grandes distancias interiores -> 802.11n (a 2.4Ghz)

Imaginemos que queremos cubrir un espacio muy amplio con un solo punto de acceso (AP) en este caso 802.11n (2,4Ghz) -sin tener en cuenta muchos otros parámetros- debería ser a priori una mejor opción  que 802.11ac (5Ghz) ya que se propaga muy bien entre obstáculos y largas distancias. 

El precio de esa propagación es que no conseguiremos ni en el mejor de los casos 300Mbps. Además de que habrá muchas más colisiones ya que otras redes 2,4Ghz interferirán en nuestra red.

Así pues con 802.11n (2,4Ghz) conseguiremos dar cobertura a mucho espacio físico pero esta será de poca calidad debido a las limitaciones del estándar y las interferencias que recibiremos.
 
Ejemplo 2: Queremos proveer de una sala interior con mucho rendimiento -> 802.11ac (5Ghz)
 
Imaginemos que queremos habilitar una sala con mucho throughput (https://es.wikipedia.org/wiki/Throughput), es decir, una red de alto rendimiento. 

Si ponemos un AP dentro de la sala no habrá obstáculos físicos entre los usuarios y la cobertura entre los clientes y el AP debería ser optima.

Si además tenemos en cuenta que la banda de 5Ghz es más sensible a los obstáculos, en ese caso sería una ventaja ya que las paredes de la sala aislarían a este grupo de trabajo como si fuera una jaula de faraday (https://es.wikipedia.org/wiki/Jaula_de_Faraday). De esta forma habrá menos colisiones o interferencias con lo que obtendremos una importante mejora en el rendimiento.
 
Conclusión: Con 802.11ac a 5Ghz podemos ganar mucho rendimiento en un espacio físico muy delimitado y con 802.11n a 2.4Ghz podemos dar más cobertura pero de menor calidad.

GPO: Establecer fondo escritorio

Uno ejemplo de uso de directiva de grupo (GPO - Group Policy Object) es configurar un fondo de escritorio corporativo a una serie de usuarios.

El formato del fichero que corresponda el fondo de escritorio puede ser: BMP o JPG. 

La posibilidad de configurar esta GPO está disponible desde Windows Server 2000 y sigue en versiones actuales de Windows Server.

Dependiendo de las versiones de sistema operativo de nuestros clientes, deberemos configurar unas u otras GPOs.

Veamos el detalle de las GPOs necesarias para configurar el fondo de pantalla corporativo para nuestros usuarios:

La ubicación de las GPO: 1,2 y 3 reside en:

Si Windows Server está en castellano:

Configuración de usuario > Directivas > Plantillas administrativas > Active Desktop > Active Desktop

Si Windows Server está en Inglés:

User Configuration > Policies > Administrative Templates > Desktop > Desktop

GPO1: Establecer fondo escritorio: Habilitar Active Desktop

"Habilitar Active Desktop" en inglés: "Enable Active Desktop"

Solo configurar esta GPO si el usuario realizará login sobre alguno de estos sistemas operativos: Windows Server 2003, Windows XP y Windows 2000.

La GPO: "Habilitar Active Desktop" evita que los usuarios puedan configurar "Active Desktop"

El valor a configurar para esta GPO debe ser: "Habilitada".

GPO2: Establecer fondo escritorio: No permitir cambios

"No permitir cambios" en inglés: "Prohibit changes"

Solo configurar esta GPO si el usuario realizará login sobre alguno de estos sistemas operativos: Windows Server 2003, Windows XP y Windows 2000.

La GPO: "No permitir cambios": Impide que los usuarios puedan habilitar, deshabilitar o cambiar la configuración de Active Desktop.

El valor a configurar para esta GPO debe ser: "Habilitada".

GPO3: Establecer fondo escritorio: Tapiz del escritorio

 "Tapiz del escritorio" en inglés: "Desktop Wallpaper"

Con esta GPO indicaremos la ruta donde se ubica el fichero de fondo de pantalla.

Podemos indicar o bien una ruta local: Por ejemplo: C:\Windows\imagen.JPG

En el caso de la ruta local, deberemos copiar el fichero previamente en todos los equipos en la ruta especificada.

o bien una ruta UNC (Universal Naming Convention): Por ejemplo:  

\\FS1\Fondo-Escritorio\Fondo-Escritorio.jpg

Siendo en este ejemplo, "FS1" el nombre del servidor de ficheros, "Fondo-Escritorio", el nombre del recurso compartido y "Fondo-Escritorio.jpg", el nombre del fichero de la imagen.

La ruta UNC también puede apuntar al SYSVOL, por ejemplo, en el caso del dominio de Active Directory, SYSADMIT.local:  

\\SYSADMIT.local\SYSVOL\SYSADMIT.local\scripts\Fondo-Escritorio\Fondo-Escritorio.jpg

Tanto si especificamos una ruta local o una ruta UNC como ubicación del fichero de imagen: Es importante tener en cuenta que el usuario debe disponer de permisos NTFS para poder leer el fichero, pero no para modificarlo.

También debemos tener en cuenta que la configuración de esta GPO no se aplica a sesiones de escritorio remoto (RDP).

GPO4: Establecer fondo escritorio: Impedir cambiar el fondo de pantalla

"Impedir cambiar el fondo de pantalla" en inglés: "Prevent Changing Desktop Background".

Deberemos configurar esta GPO para todos los sistemas operativos.

La ubicación de la GPO4 reside en:

Si Windows Server está en castellano:

Configuración de usuario > Directivas > Plantillas administrativas > Panel de control > Personalización

Si Windows Server está en Inglés:

User Configuration > Administrative Templates > Control Panel > Personalization 

El valor a configurar para esta GPO debe ser: "Habilitada".

Mapa ubicación GPOs:

Vista GPMC.msc: Editor de GPOs en Windows Server 2012 R2 en castellano:

GPO: Establecer fondo escritorio

Windows: Reenvío de puertos

En sistemas Windows, nos podemos encontrar con que queramos configurar el reenvío de puertos (port forwarding): es decir, que un puerto reenvíe a otro.

Muchos pensaran que es necesario configurar el servicio: RemoteAccess (Enrutamiento y acceso remoto) de Windows Server:


Lo cierto es que no es necesario el servicio de RemoteAccess de Windows Server: a partir de Windows Server 2003 y Windows XP disponemos del comando: netsh interface portproxy

Con netsh interface portproxy podemos realizar reenvíos de puertos TCP (Transmission Control Protocol). Cuidado, por que no podremos realizar reenvíos de puertos UDP (User Datagram Protocol).

Veamos algunos ejemplos de su funcionamiento:

Ver parámetros disponibles:

netsh interface portproxy help

Ver reenvíos actuales:

netsh interface portproxy show all

Eliminar reenvíos:

netsh interface portproxy reset

Crear reenvíos:

netsh interface portproxy add v4tov4 listenport=25 listenaddress=0.0.0.0 connectport=25 connectaddress=192.168.1.130

En este ejemplo, realizamos un reenvío de la IP: 

Sobre todos los interfaces locales (0.0.0.0), puerto 25, reenviamos a la IP: 192.168.1.130, puerto 25 (SMTP).

Para eliminar un reenvío:

netsh interface portproxy delete v4tov4 listenport=25 listenaddress=0.0.0.0

Linux: Diferencias entre dos archivos

Sobre sistemas Linux, disponemos de varias alternativas para comparar dos archivos de texto.

En este post veremos algunas de las formas para encontrar las diferencias entre dos archivos.

Para ello, utilizaremos los siguientes ficheros de texto a modo de ejemplo:

[root@LINUX1]# cat f1.txt
http://www.sysadmit.com
http://sysadmit.com
http://WWW.SYSADMIT.COM
HTTP://www.SYSADMIT.com
www.sysadmit.com
SYSADMIT.com

[root@LINUX1]# cat f2.txt
HTTP://www.sysadmit.COM
---http://sysadmit.com---
http://WWW.SYSADMIT.COM
HTTP://www.SYSADMIT.com
---www.sysadmit.com---

Si comparamos ambos ficheros veremos las siguientes diferencias:

1) SOMBREADO CYAN: La primera linea del fichero f1.txt contiene la cadena http://www.sysadmit.com mientras que la primera linea del fichero f2.txt cambian mayúsculas y minúsculas: HTTP://www.sysadmit.COM

2) SOMBREADO AMARILLO: Las lineas 2 y 5, son distintas. En el segundo fichero (f2.txt) se añade "---" al principio y final del texto.

3) SOMBREADO VERDE: La última linea del primer fichero, no aparece en el segundo fichero.

Antes de examinar las distintas herramientas para comparar ficheros, hemos de entender que muchos de los comparadores de archivos son comparadores linea a linea, es por este motivo que igual nos puede interesar ordenar ambos ficheros antes de proceder a la comparación.

Podemos ordenar ficheros de texto utilizando el comando sort.

Veamos las distintas herramientas sobre shell, para ver las diferencias entre ambos ficheros:

1) Comando diff:


Ejemplo1: Vista ejecución:

[root@LINUX1]# diff f1.txt f2.txt
1,2c1,2
< http://www.sysadmit.com
< http://sysadmit.com
---
> HTTP://www.sysadmit.COM
> ---http://sysadmit.com---
5,6c5
< www.sysadmit.com
< SYSADMIT.com
---
> ---www.sysadmit.com---

Ejemplo1: Explicación: 

Aparecen las lineas de los ficheros con números seguidos de una de estas tres letras: a,c,d

* Cada letra significa:

a = Added = Añadido / Agregado.
d = Deleted = Borrado / Eliminado.
c = Changed = Cambiado.

También nos encontramos con los símbolos de mayor que y menor que.

* Cada símbolo significa:

< = Menor que = Diferencia en el primer fichero.
> = Mayor que = Diferencia en el segundo fichero.

Ejemplo2: Vista ejecución:

[root@LINUX1]# diff f1.txt f2.txt -i
2c2
< http://sysadmit.com
---
> ---http://sysadmit.com---
5,6c5
< www.sysadmit.com
< SYSADMIT.com
---
> ---www.sysadmit.com---

Ejemplo2: Explicación: 

Con el parámetro -i, conseguimos que se ignoren los cambios de mayúsculas y minúsculas, por lo tanto, solo se mostrarán el resto de cambios. 

Ejemplo3: Vista ejecución:

[root@LINUX1]# diff f1.txt f2.txt -q
Files f1.txt and f2.txt differ

Ejemplo3: Explicación: 

Con el parámetro -q, conseguimos que no nos muestre las diferencias entre ambos ficheros, tan solo nos dirá si son o no distintos.


2) Comando sdiff:



Con sdiff, podemos ver las diferencias entre ambos ficheros en modo texto pero de forma más visual.

Ejemplo1 y 2: Vista ejecución:

[root@LINUX1]# sdiff f1.txt f2.txt
http://www.sysadmit.com     | HTTP://www.sysadmit.COM
http://sysadmit.com         | ---http://sysadmit.com---
http://WWW.SYSADMIT.COM       http://WWW.SYSADMIT.COM
HTTP://www.SYSADMIT.com       HTTP://www.SYSADMIT.com
www.sysadmit.com            | ---www.sysadmit.com---
SYSADMIT.com                <

[root@LINUX1]# sdiff f1.txt f2.txt -i
http://www.sysadmit.com       HTTP://www.sysadmit.COM
http://sysadmit.com         | ---http://sysadmit.com---
http://WWW.SYSADMIT.COM       http://WWW.SYSADMIT.COM
HTTP://www.SYSADMIT.com       HTTP://www.SYSADMIT.com
www.sysadmit.com            | ---www.sysadmit.com---
SYSADMIT.com                  <

Ejemplo1 y 2: Explicación: 

Igual que con el comando diff, con el parámetro -i, conseguimos que se ignoren los cambios de mayúsculas y minúsculas.

Cada símbolo significa:

| = Pipe = Ambas lineas a comparar difieren.

< = Menor que = Diferencia en el primer fichero.
> = Mayor que = Diferencia en el segundo fichero. 



3) Comando colordiff:

El comando colordiff, nos muestra en colores la ejecución del comando diff:

Linux: Diferencias entre dos archivos con colordiff

VMWare: ESXi CPU Ready

En un entorno de VMWare ESXi es habitual que no tengamos una correlación 1:1 entre CPUs físicas y CPUs virtuales asignadas a las VMs del host ESXi.

Explicado de otra forma: El host VMWare ESXi, es habitual que tenga menos CPUs físicas que CPUs virtuales asignadas a VMs ya que el administrador de la infraestructura virtual acostumbra a situar muchas VMs en cada host VMWare ESXi.

Según VMWare la correlación entre CPUs virtuales (vCPU) y CPUs físicas no debería superar: 5:1, concretamente, nos indica lo siguiente:

La correlación (CPU virtual:CPU física):


- Entre 1:1 y 3:1: No hay problemas.

- Entre 3:1 y 5:1: Pueden empezar los problemas de rendimiento.

- Superior a 6:1: Empiezan los problemas.

Se entienden como CPUs físicas la suma de sockets, cores y hyper-threading.

Bien, en los casos que se sobrepasa la correlación 1:1 entre CPUs físicas y CPUs virtuales, entra en juego el scheduler.

El scheduler se encarga de encolar las peticiones de CPUs físicas por parte de las CPUs virtuales de las VMs.

Cuando tenemos problemas de rendimiento a nivel de CPU, puede ser que el problema venga por que se pida a un ritmo demasiado intenso recursos de CPU física por parte de las VMs.

La forma de ver si este es el problema, es utilizando la métrica CPU Ready.

El CPU Ready es una métrica que nos indica el tiempo de espera de las vCPU a que estén disponibles CPUs físicas.

El valor de CPU ready: Contra más alto, peor:


Como norma general:

* 5% de CPU Ready: Normal.

* Entre 5% y 10%: Malo.

* Superior al 10%: Muy malo.

No confundir el parámetro CPU Ready con CPU Usage.

CPU usage, nos indica el uso de CPU de la VM en el momento que estamos mirando la métrica.

Veamos como obtener el valor de CPU Ready:


Para obtener la métrica de CPU Ready, podemos utilizar VSphere client o bien ESXTOP desde SSH.

- Con VSphere Client, la métrica será presentada en milisegundos.

- Con ESXTOP, la métrica será presentada en tanto por ciento.

Para pasar de milisegundos a porcentaje, podemos utilizar la siguiente formula:

(X ms  / 20.000 ms) * 100 = %

Por ejemplo, imaginemos que vía VSphere client, vemos que la métrica de CPU Ready es de: 400ms

Para pasar a porcentaje, seria:

(400ms / 20.000ms) *100 = 2% de CPU Ready.

VSphere Client: Vista de cómo añadir la métrica CPU Ready:

Pestaña "Performance", "Chart Options", "CPU", en el apartado "Counters", veremos: "Ready"

VSphere Client: CPU Ready

Veeam Backup: Tarea programada PowerShell


¿Cómo configurar una tarea programada que ejecute un script de PowerShell de Veeam Backup?


En el siguiente post vimos cómo configurar una tarea programada de Windows que ejecute un script de PowerCLI:


Para realizar una tarea programada de Windows que ejecute un script de PowerShell de Veeam Backup, bastará con seguir los pasos indicados en el post anterior y añadir en el interior del script:

Add-PSSnapin -Name VeeamPSSnapin

o bien:

Add-PSSnapin -Name VeeamPSSnapin  -ErrorAction SilentlyContinue

Con -ErrorAction SilentlyContinue, se omitirán posibles errores.

La idea es que el script de PowerShell cargue al inicio el módulo que contiene los cmd-lets de Veeam Backup: VeeamPSSnapin.

En el interior del script después de añadir Add-PSSnapin -Name VeeamPSSnapin, todos los cmd-lets propios de Veeam Backup serán reconocidos.

¿Por qué utilizar una tarea programada de PowerShell de VB&R ?


Muchos administradores de sistemas se plantean el porqué utilizar la PowerShell de Veeam Backup en vez de la consola de entorno gráfico (GUI), cuando a través de GUI es posible programar jobs y realizar todo tipo de acciones.

Veamos algunos ejemplos de uso de una tarea programada de PowerShell de Veeam Backup & Replication:

1) Disponemos de la edición gratuita de Veeam Backup & Replication: La edición gratuita de Veeam no permite programar jobs, sin embargo integra PowerShell de Veeam y tal y como hemos visto en el punto anterior, podemos configurar una tarea programada de Windows que ejecute un script de PowerShell de Veeam. Por lo tanto con la PowerShell de Veeam incluida en la edición gratuita podremos programar la ejecución de jobs.

2) Report personalizado: Imaginemos que queremos obtener report personalizado del resultado de los jobs programados. Con la PowerShell de Veeam Backup podremos hacerlo y programar su ejecución.

3) Programar la ejecución de algo que no se puede programar: Por ejemplo, imaginemos que queremos programar la ejecución de Quick Migration.

Con la versión 9 y anteriores de Veeam Backup & Replication, no podemos programar jobs de Quick Migration:

Veeam Backup: Tarea programada PowerShell

Linux: Tutorial IPTABLES - Un firewall fiable - Capítulo 2

El autor de este post es José Luis Sánchez Borque (@gielsb).

Continuación del capítulo anterior:


Capítulo 2: Entendiendo el flujo de paquetes


Un tema clave para entender el funcionamiento de cualquier firewall, es el circuito que siguen los paquetes IP que entran y salen en el firewall.

Entender este circuito es vital, para aplicar las reglas en la cadena que pertoque: INPUT, OUTPUT o FORWARD, y sobre todo cuando hay reglas NAT ( Network Address Translation ) aplicadas.

Tomemos para nuestras explicaciones el presente esquema de red ( más adelante lo utilizaremos para empezar con la parte más práctica ):

Linux: Tutorial IPTABLES - Un firewall fiable - Capítulo 2

Linux: Uso de memoria por proceso

En este post veremos distintos métodos para obtener el uso de memoria RAM por proceso sobre sistemas operativos Linux.

Método1: Comando ps, ordenar por la columna pmem

ps aux --sort pmem

Ordena por uso de memoria RAM de menor a mayor en porcentaje.

El comando ps nos muestra los procesos que están funcionando en el momento en el equipo.

Los parámetros aux, significan:

a = Todos los procesos de todas las sesiones activas, no solo la actual.
u = Muestra el identificador del usuario (User ID).
x = Incluye las sesiones que no son TTY, por ejemplo las sesiones establecidas por SSH.

Con el parámetro --sort pmem ordenamos por uso de memoria.

Ejemplo de ejecución:

[root@LINUX1 ~]# ps aux --sort pmem
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19360  1084 ?        Ss   Apr25   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Apr25   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Apr25   0:05 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Apr25   0:03 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Apr25   0:00 [migration/0]
root         6  0.0  0.0      0     0 ?        S    Apr25   0:01 [watchdog/0]
root         7  0.0  0.0      0     0 ?        S    Apr25   0:11 [migration/1]

Método2: Comando ps, utilizando pipes y filtros

Ordena por uso de memoria RAM de mayor a menor en porcentaje.

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 15

La salida de la ejecución de ps aux (parámetros explicados en el método anterior) es pasada el comando awk.

Con awk filtramos que muestre solo las columnas: 2, 4 y 11.

La salida es pasada el comando sort para ordenar. La columna de referencia para ordenar, será la segunda.

Finalmente, la salida es pasada al comando head para mostrar las primeras lineas, con el parámetro -n, indicamos el número de lineas a mostrar.

Ejemplo de ejecución:

[root@LINUX1 ~]# ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 15
PID %MEM COMMAND
10967 1.8 drwebd.real
10968 1.8 drwebd.real
10969 1.8 drwebd.real
10970 1.8 drwebd.real
2192 1.8 drwebd.real
1935 1.0 /usr/libexec/mysqld
15463 0.8 /usr/sbin/httpd
15554 0.8 /usr/sbin/httpd
16160 0.8 /usr/sbin/httpd
13012 0.8 spamd
14487 0.7 /usr/sbin/httpd
14865 0.7 /usr/sbin/httpd
14929 0.7 /usr/sbin/httpd
15077 0.7 /usr/sbin/httpd

Método3: Con el comando top, podemos ordenar los procesos por uso de memoria RAM.

Si ejecutamos top y pulsamos la tecla "M" mayúscula, nos ordenará los procesos por uso de memoria RAM.

Otra opción, es ejecutar el comando top con el parámetro -a y directamente nos ordenará los procesos por uso de memoria RAM.

top -a

Vista ejecución:

Linux: Uso de memoria por proceso