viernes, 19 de octubre de 2012

Normas o reglas en Listas de Correo (Netiquette)


En líneas generales a la hora de estar en una lista de correo (mailing-list) uno debe comportarse igual o mejor a como lo haríamos en nuestra vida diaria.
  Aquí dejo una lista de normas que de manera general son convenientes seguir en todas aquellas listas de correo en las que participemos. Muchas a su vez sirven de nuestra vida diaria en el uso del correo electrónico.

1.- Respete las normas (este listado).
2.- Para enviar nuevos correos a la lista:
  • No contestar un correo comenzando un nuevo subject
  • No contestar un correo y cambiar el subject y el tema
  • No contestar un correo, mantener el subject y comenzar un nuevo tema
  • Crear un correo completamente nuevo y enviarlo a la dirección de la lista

3.- El correo a enviar a la lista debe ser relacionado con tópico de la misma.
4.- Evitar correos OFF-TOPIC al menos que sean muy esporádicos o pueda considerarse de interés a los participantes de la lista.
5.- Enfrentamientos, malas palabras, groserías son visto con mal gusto por parte del resto de los participantes.
6.- Es una demostración de cortesía ante los integrantes del grupo:
  • Si usted comentió un error: reconocerlo
  • Ser humilde en sus respuestas a pesar de sus conocimientos
  • Enviar respuestas directas a las preguntas
  • Suscribirse con una cuenta de correo donde no utilice Auto-Responder
  • Ser cordial, decir buenos días, gracias, por favor, me gustaría, entre otros
  • Compartir tus conocimientos con los otros
  • Respetar la privacidad de los demás

6.- El correo máximo por línea debe contener 75 caracteres
7.- Se aconseja el uso de emoticones como: :-(, :-) ellos ofrecen cuerpo al mensaje y mejora la intención del mismo expresando mejor chistes, mensajes sarcásticos, etc.
8.- Es una buena práctica contestar dentro del cuerpo del correo anterior, el mismo utilizar el cáracer “ >” como indicador del correo previo
9.- Borrar el final de algunos correos (información de Antivirus y cosas no relevantes de la conversación)
10.- No escribir correos todo en mayúsculas ni todo en minúsculas. Un correo en MAYÚSCULAS indica que estás gritando.
11.- Para destacar argumentos dentro del correo se recomienda usar comillas o raya inferior (_) alrededor de la palabra
12.- Se prohiben mensajes: SPAM y/o cualquier correo relacionado a publicidad de un producto, venta de servicios o productos, políticos, religiosos y otras indoles que puedan considerarse de mal gusto a los participantes.
13.- Se cuidadoso con ciertas palabras (slangs), recuerda que hay personas de diferentes países y nacionalidades que potencialmente pueden leer tu correo. El significado de cierta palabra no es la misma para tí que para el receptor.
14.- Evitar mensajes unilaterales en la lista
15.- Para algunos integrantes puede ser mal visto enviar un correo a muchas listas de correo simultáneamente. Favor crear un correo por cada lista a la que se desea enviar.
16.- Favor incluir -al menos- tu nombre en el correo. Esto es particularmente importante en aquellos participantes que usan direcciones de correo donde no aparece el nombre o cuentas de correo genéricas (noc@... routing@... ventas@)
17.- Favor revisa el correo antes de enviarlo.
18.- Configura la hora correcta de tu cliente de correo electrónico, basado en timezone.
19.- Se tolerante en los debates. Objetivo en las discusiones
20.- Por ultimo: "Se tolerante con lo que recibes, se precavido con lo que envías". Recuerda que un correo tuyo es potencialmente leído por otras personas.


El listado de arriba es un resumen de mi experiencia como participante por muchos años en listas de correo, ser co-fundador de otras listas y moderador actual de una lista de más de 800 participantes.

Espero sea útil,



viernes, 28 de septiembre de 2012

Como forzar una consulta DNS a un determinado servidor

Introducción:
  Este post es sumamente sencillo pero espero sea útil.
  Hoy recibí por correo la pregunta de como forzar o realizar una consulta DNS sobre un determinado servidor.

Situacion:
  Deseo que mi consulta DNS sea dirigida/apuntada/forzada sobre cierto servidor específico, las razones pueden ser variadas, desde curiosidad o troubleshooting. En el caso del día de hoy querían verificar que un DNS secundario estuviese copiando la zona correctamente.

Solución:
  Existen varias soluciones:

1) La más fácil (pero poco elegante):
   Configurar el/los DNS sobre los que se desea hacer la consulta sobre el host con el que voy a trabajar. Ejecutar por ejemplo un ping al nombre y verificar el IP que devuelve

2) Nslookup (funciona sobre windows y linux)
  En el siguiente ejemplo voy a verificar como resuelve blog.acostanetwork.com el servidor 8.8.8.8

aacosta@aacosta:~$ nslookup  --> para entrar en un subshell
> server 8.8.8.8     ---->>> indico el DNS sobre quien va ir dirigida la consulta
Default server: 8.8.8.8
Address: 8.8.8.8#53
> blog.acostasite.com   ----> indico el nombre que deseo consultar
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
blog.acostasite.com    canonical name = cf-protected-blog.acostasite.com.
Name:    cf-protected-blog.acostasite.com
Address: 108.162.198.198
Name:    cf-protected-blog.acostasite.com
Address: 108.162.195.100

  En el ejemplo anterior hay que cambiar "8.8.8.8" por la dirección IP a quien deseamos enviar la consulta

3) Dig (Linux)
  En el siguiente ejemplo voy a verificar como resuelve blog.acostanetwork.com el servidor 8.8.4.4

aacosta@aacosta-ThinkPad-E420:~$ dig @8.8.4.4 blog.acostasite.com

; <<>> DiG 9.8.1-P1 <<>> @8.8.4.4 blog.acostasite.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- 17584="17584" br="br" id:="id:" noerror="noerror" opcode:="opcode:" query="query" status:="status:">;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;blog.acostasite.com.        IN    A

;; ANSWER SECTION:
blog.acostasite.com.    0    IN    CNAME    cf-protected-blog.acostasite.com.
cf-protected-blog.acostasite.com. 117 IN A    108.162.198.198
cf-protected-blog.acostasite.com. 117 IN A    108.162.195.100

;; Query time: 67 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
;; WHEN: Fri Sep 28 09:44:34 2012
;; MSG SIZE  rcvd: 101

  En el ejemplo anterior hay que cambiar "8.8.4.4" por la dirección IP a quien deseamos enviar la consulta
  El mismo


Espero sea útil,

martes, 11 de septiembre de 2012

Telnet y SSH directo desde la consola/shell/prompt de Windows

Introduccion:  Si has llegado a este post es porque estas aburrido y quizas hasta molesto que Windows 7 no tenga un cliente telnet ni un cliente SSH incorporado.

Objetivo:  Poder hacer telnet y SSH de manera sencilla desde Windows. Por ejemplo, en el campo de ejecutar escribir algo tan sencillo como:
  telnet 192.168.1.1  o
  ssh 192.168.1.2 y que se ejecute el telnet o ssh para entrar en la direccion
  Hoy en dia existen diferentes progrmas que hacen eso, siendo quizas el mas famoso Putty.

Pasos:  Es mucho mas facil de lo que me esperaba. Sigue estos pasos:
1) Entra en: 
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
y baja los ejecutables (.exe) de putty y puttytel
2) Renombra putty.exe a ssh.exe y puttytel a telnet.exe
3) Copia/mueve ssh.exe y telnet.exe a: 
C:\Windows\System32

Voila!..., listo, ahora desde inicio-->ejecutar, desde una prompt DOS, etc puedes escribir ssh/telnet + IP y entrará.


Espero haya sido útil!

jueves, 6 de septiembre de 2012

Tunel GRE entre Cisco y Linux + NAT

Introducción:
  En el siguiente escenario se plantean dos oficinas conectadas mediante un tunel GRE. En la oficina "A" existe un router Cisco y en la oficina "B" un servidor Linux.

Objetivo:
  Que la oficina "A" (la red con el router Cisco) salga a Internet (nateada) con el IP de la red de la oficina "B" (red con el servidor Linux)


Topologia:
 
Lado Cisco (Oficina A):
   LAN: 192.168.56.6
   WAN: 98.76.54.32
   TUNNEL 0: 192.168.56.6

Lado Linux (Oficina B):

   LAN: 192.168.1.200/24  (gre_if0)
   WAN: 123.45.67.89 (Interfaz: venet0:0)

Pasos (lado equipo Linux):
1) Levantar el modulo GRE
  #modprobe ip_gre

2) Crear la interfaz del tunel (llamada gre_if0). Puede tener cualquier nombre:
   #ip tunnel add gre_if0 mode gre remote 98.76.54.32 local 123.45.67.89 ttl 255

3) Asignarle un IP a la interfaz recien creada (gre_if0)
   #ip addr add 192.168.1.200/24 dev gre_if0

4) Levantar la interfaz del tunel (por defecto viene shutdown)
   #ip link set gre_if0 up (Levantar la interfaz gre_if0)

5) Enrutar por el tunel aquellas rutas que sean necesarias, por ejemplo: 
   #route add -net 192.168.56.6 netmask 255.255.255.255 dev gre_if0

Pasos (lado Cisco)



!Creación de la interfaz tunel
interface Tunnel0
 ip unnumbered FastEthernet0/0
 tunnel source Vlan1
 tunnel destination 123.45.67.89
 

!Configuración de la interfaz LAN
interface FastEthernet0/0
 description **Conexion LAN**
 ip address 192.168.56.6 255.255.255.252
 duplex auto
 speed auto
 

!La interfaz VLAN1 es la interfaz WAN
interface Vlan1
 description **Conexion WAN**
 ip address 98.76.54.32 255.255.255.248
 

!Hacer las rutas necesarias en el router
!para alcanzar la LAN de la oficina B
ip route 192.168.1.200 255.255.255.255 Tunnel0


PARA EL NAT (LADO LINUX):

1) Permitir routing en el equipo
  # echo 1 > /proc/sys/net/ipv4/ip_forward

2) Que el servidor Linux sepa alcanzar la LAN de Oficina A
   #route add -net 192.168.56.0 netmask 255.255.255.0 dev gre_if0


3) Realizar el NAT
   # iptables -A POSTROUTING -t nat -s 192.168.56.0/24 -j SNAT --to 123.45.67.89





  Notese que hubo que hacer Source NAT (SNAT). La explicación del motivo está indicada en el post: "Linux iptables, solucion al error: Warning: wierd character in interface"

 
Espero te sea útil,


domingo, 2 de septiembre de 2012

Linux iptables, solucion al error: Warning: wierd character in interface

Introducción:
  En Linux cuando intentamos realizar un NAT con alguna interfaz que posea el caracter ":" recibimos el error:  Warning: wierd character in interface `eth0:0' (No aliases, :, ! or *).
  Por ejemplo en el siguiente escenario:

   #iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE  
   Warning: wierd character in interface `eth0:0' (No aliases, :, ! or *).

Explicación:
  Luego de una investigación en muchas páginas en Internet llegué a la conclusión que no es posible realizar el NAT con una "subinterfaz" (interfaz secundaria, IP secundario, etc) con Linux que posea ":" , durante mi busqueda conseguí que es un problema del manejo de los ARP en dicha interfaz, sin embargo no hay que preocuparse, existe una alternativa y es la que voy a plantear en este post. 

Solución:
  La solución es bastante sencilla y al menos funciona en todos los escenarios donde la dirección IP con la que deseamos natear es estática. La misma se conoce como SNAT (Source NAT) y se utiliza como IP saliente el IP secundario de la interfaza utilizar (ej. eth0:0). La diferencia principal es que hay que indicar cual es la red a la cual deseamos hacer NAT, esto no debe ser ningún inconveniente porque seguramente sabremos esta información.
  En definitiva la solución es realizar el NAT con el IP "saliente" en vez de la interfaz saliente e indicando la red a la cual deseamos realizar el NAT.

Comandos:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A POSTROUTING -t nat -s 192.168.56.0/24 -j SNAT --to 123.4.5.6

  Con  lo anterior estaremos nateando la red 192.168.56.0/24 con la dirección IP 123.4.5.6, es decir, cualquier equipo con dirección IP fuente en el rango 192.168.56.0/24 se verá en Internet con 123.4.5.6. En ningún momento hace referencia a "eth0:0"

Espero les sea útil,

Saludos,

Deshabilitar/bajar iptables en Linux

Introduccion:
   En algunas ocasiones es necesario "bajar"  o deshabilitar iptables en nuestro Linux, el procedimiento depende de la distribución de Linux que estes utilizando. Aquí te dejo los más conocidos.

1) Procedimiento si estas utilizando Redhat, Fedora core, Mandriva/Mandrake o Centos, solo debes  ejecutar lo siguiente:
# service iptables save
# service iptables stop
# chkconfig iptables off
o
# /etc/init.d/iptables stop


2) Procedimiento para deshabilitar iptables en Debian o Ubuntu

  a) Crea un script llamado fw.stop con el siguiente contenido:

#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

  b) Dale permiso de ejecución a dicho script:

# chmod +x /root/fw.stop
o
# chmod 755 fw.stop

  c) Puedes ejecutar el scritp con el siguiente comando:
# fw.stop

Mas info en:
http://sources68.com/linux-disable-remove-the-iptables-firewall-1fa67761.html




miércoles, 15 de agosto de 2012

Enrutamiento asimetrico a traves de Juniper SSG no funciona

Situacion:
   En una red con enrutamiento asimetrico tengo problemas para que dos segmentos diferentes de red se puedan comunicar via TCP, es decir, el ping (el cual es ICMP) responde satisfactoriamente

Topologia Ejemplo:

PC-ORIGEN ---- Router --- FW --- SRV-DESTINO

Sin embargo, el enrutamiento es asimetrico, es decir, en una de las direcciones los paquetes no atraviesan el Firewall Juniper. Una opcion para revisar esto puede ser realizar tracerouter del origen al destino y viceversa, seguramente no son inversamente proporcionales.

Importante: Juniper recomienda arreglar el enrutamiento y no realizar este procedimiento. Claro, no siempre es posible, quizas hay que solucionar rapidamente, probablemente no tenemos acceso a un Router o LAN Switch que este enrutando, etc.

Explicacion:
   Ocurre que Juniper + JunOS es un Firewall Stateful y realiza "chequeo de SYN" por defecto, por elllo, si el Firewall no "ve" un paquete SYN todos los siguientes paquetes TCP seran descartados. Esto es un comportamiento eficiente porque efectivamente el equipo no debe permitir aquellos paquetes de conexiones que teoricamente no han comenzado.
 
Soluciones:
1) Arreglar el enrutamiento y que sea 100% simetrico

2) Deshabilitar "SYN Checking" siguiendo el siguiente procedimeinto:


    root# cli
   
root> configure
    [edit]
    root@#set security flow tcp-session no-syn-check



    Con lo anterior es suficiente, sin embargo, si sigue sin funcionar, probablemente sea necesario adicionalmente deshabilitar el chequeo de por ejemplo numeros de secuencias (Sequence Number de TCP). El comando es:

    root@#set security flow tcp-session no-sequence-check  

Mas informacion:
http://kb.juniper.net/InfoCenter/index?page=content&id=KB16110
y
http://www.juniper.net/techpubs/software/junos-security/junos-security95/junos-security-swconfig-security/id-19932.html


Learn more about cloudways promocode woblogger at https://woblogger.com/cloudways-coupon-code/
Learn more about money market account financiallygenius at www.financiallygenius.com

BGP Stream: un año de análisis sobre incidentes BGP

BGP Stream: un año de análisis sobre incidentes BGP 04/03/2024 Por  Alejandro Acosta , Coordinador de I+D en LACNIC LACNIC presenta  la prim...