sábado, 2 de octubre de 2010

Herramienta en linea gratis para configurar reversos de IPv6

Situacion:
El dia de ayer tuve la necesidad de configurar los reversos de un prefijo IPv6 en mis servidores Bind; honestamente era la primera vez que tenia que hacer dicha tarea y por ello recurri a nuestro buen amigo google

Solucion:
En fin, luego de realizar una pequena busqueda consegui la siguiente herramienta en linea y gratuita que decidi compartirla con ustedes debido a que es excelente: http://www.fpsn.net/tools&tool=ipv6-inaddr. La herramienta es un "constructor de reversos IPv6"
La herramienta es muy sencilla de utilizar, la misma te hace las preguntas de: a) prefijo IPv6, b) email del responsable de la zona, c) servidor DNS primario y secundario y d) las direcciones IPv6 a las cuales deseas crearle el nombre.
Lo interesante de la herramienta es que te genera tanto el codigo a colocar dentro del named.conf como el del archivo de zona. Luego solo tienes que hacer copy/paste.
Les dejo otra vez el link: http://www.fpsn.net/tools&tool=ipv6-inaddr
Probar conexiones IPv6: http://acostanetwork.blogspot.com/2009/04/probar-ipv6.html y http://www.whatismyipv6.co

Luego de utilizar la herramienta todo funciono perfecto!!

viernes, 1 de octubre de 2010

Sendmail e IPv6. Hacer que sendmail escuche en IPv6

Problema:
Tengo un servidor de correo en Linux Debian con Sendmail, en IPv4 todo funciona bien pero no escucha conexiones en IPv6

Escenario:
Servidor Debian con Sendmail 8.14.3 e IPv6 configurado

Procedimiento:
Primero verificar que efectivamente Sendmail no escucha en IPv6. Por ejemplo:

#netstat -pan | grep sendmail

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2596/sendmail: MTA:
unix 2 [ ACC ] STREAM LISTENING 4198 1025/mysqld / var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 13539 2596/sendmail: MTA: / var/run/sendmail/mta/smcontrol
unix 2 [ ] DGRAM 13535 2596/sendmail: MTA:

En la salida anterior notamos que sendmail se encuentra escuchando solo sobre la red IPv4.

Solucion:
La solucion es indicarle al Sendmail que también levante sobre la familia Inet6. Para ello es necesario modificar el sendmail.mc para reconstruir el sendmail.cf y luego reiniciar el sendmail. Los pasos son los siguientes:

1) Editar el sendmail.mc y agregar las siguientes lineas:
DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=DIRIPV6')dnl
DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl

OJO: Sustituir DIRIPV6 por tu dirección IPv6


2) Ejecutar sendmailconfig (para procedar el sendmail.mc con m4 y generar el .cf)

3) Luego de ejecutar el comando anterior lo siguiente es siempre indicarle que Y en las siguientes preguntas:

Configure sendmail with the existing /etc/mail/sendmail.conf? [Y] y
Configure sendmail with the existing /etc/mail/sendmail.mc? [Y] y
Reload the running sendmail now with the new configuration? [Y] y

Verificar:
Para verificar ejecuta el comando:
#netstat -pan | grep sendmail

Realiza un telnet de la siguiente manera:

#telnet ::1 25

debes recibir respuesta similar a:

Trying ::1...
Connected to ::1.
Escape character is '^]'.
220 ipv6.para.com ESMTP Sendmail 8.14.3/8.14.3/Debian-9.1ubuntu1; Fri, 1 Oct 20 10 11:52:48 -0430; (No UCE/UBE) logging access from: localhost(OK)-localhost [IPv6:::1]

Suerte, espero haya sido util.

lunes, 27 de septiembre de 2010

Ejemplos de manipulacion de port forwarding utilizando NAT en routers Cisco

Situacion: 
 Tengo una granja de servidores (ejemplo Web, Mail y SSH) y tengo solo una direccion publica en mi router de borde. 

Escenario: 
    {Internet} --- {RTR con IP publica} ------- {Granja de Servidores} 
IP Publica: 11.12.13.14 
Mail Server: 192.168.1.5 Web Server: 192.168.1.4 
SSH: 192.168.1.6 
IP WAN: 11.12.13.14/30 
IP LAN: 192.168.1.1/24 
  
Solucion: 
 La solucion es configurar en el router Cisco NAT de tal manera de que al momento de recibir un paquete TCP al puerto destino correspondiente sepa a donde enviarlo. En este sentido, es necesario que el router re-envie los paquetes (port forwarding) de la siguiente manera: Paquetes destinados al IP 11.12.13.14 al puerto destino 25 lo envie al Mail Server (192.168.1.5) Paquetes destinados al IP 11.12.13.14 al puerto destino 80 lo envie al Web Server (192.168.1.4) Paquetes destinados al IP 11.12.13.14 al puerto destino 22 lo envie al SSH Server (192.168.1.6) 

Procedimiento: 
 La configuracion del router seria la siguiente: 
  ! ESTA ES LA INTERFAZ QUE DA HACIA LA GRANJA DE SERVIDORES 
interface FastEthernet0 
description Mi granja de servidores 
ip address 192.168.1.1 255.255.255.0 
ip nat inside 
! ! ESTA ES LA INTERFAZ QUE DA HACIA INTERNET 
interface Serial0 
description Hacia Internet 
ip address 11.12.13.14 255.255.255.252 
ip nat outside 
! !En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 80 lo envie al !servidor web 
ip nat inside source static tcp 192.168.1.4 80 11.12.13.14 80 extendable 
!En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 25 lo envie al !servidor mail 
ip nat inside source static tcp 192.168.1.5 25 11.12.13.14 25 extendable 
!En la siguiente linea se indica que todo lo que apunte al IP 11.12.13.14 al puerto 22 lo envie al !servidor ssh 
ip nat inside source static tcp 192.168.1.4 22 11.12.13.14 22 extendable 

Tips:
  Un dato muy interesante que es que se puede manipular el puerto. Por ejemplo, supongamos que tenemos un servidor web "escondido" podemos manejarlo con un puerto diferente al 80. Digamos que queremos que la gente desde Internet acceda a nuestro servidor Web utilizando el puerto 61234 podemos hacer lo siguiente: !El usuario desde Internet debe acceder a http://11.12.13.14:61234 ip nat inside source static tcp 192.168.1.4 80 11.12.13.14 61234 extendable Lo anterior es muy util para escoder servicios, ahorrar direcciones IP y darle seguridad a la red. Espero haya sido de tu utilidad, Suerte!
Situacion:
El reproductor Windows Media Player no reproduce videos AVI.
El reproductor Windows Media Player solo reproduce el audio del archivo .avi

Solucion:
Existen muchas soluciones, yo solo indicare la que me funciono facil y es gratis.

La solucion es instalar el paquete K-Lite_Codec_Pack_640_Full el cual puede conseguirse en:
http://www.warezhn.com/84-k-lite-codec-pack-640-full.html

Durante la instalacion se pueden escojer muchas opciones sin embargo sin modificar las mismas todo funciona perfecto.

Suerte, espero sea de tu utilidad

viernes, 24 de septiembre de 2010

Ping utilizando TCL en Cisco

Problema:
  Deseo realizar ping a muchas direcciones IP desde mi router Cisco pero deseo automatizarlo un poco 

  Procedimiento:
  La solución al problema es realizar un pequeño script dentro del router Cisco que recibe como argumento las direcciones IP a las cuales se les desea hacer ping. TCL (Tool Control Languaje) es un lenguaje de scripting utilizado en los IOS "recientes" de Cisco que permiten facilitar parte de la administración 

  Ejemplo del script en TCL:
  foreach address { 192.168.126.10 192.168.126.11 192.168.126.12 192.168.126.13 192.168.126.14 192.168.126.15 192.168.126.16 192.168.126.17 192.168.126.18 192.168.126.19 192.168.126.20 192.168.126.21 192.168.126.22 192.168.126.23 } {ping $i} 

 La salida del comando será la siguiente y lo mejor es que se ejecuta solo hasta hacerle ping a todos los host :) (parte de salida suprimida) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.10, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.11, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.12, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.13, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.126.14, timeout is 2 seconds: !!!!! 

 Espero sea de tu utilidad,

 

viernes, 27 de agosto de 2010

Manipular VLANs con Linux

Objetivo: Configurar, crear, remover y manipular VLANs con Linux conectado a un LAN Switch Cisco (basado en IOS) Pre-requisitos: Para manipular las VLANs en Linux hay tres puntos principales a) Levantar el modulo 8021q b) Tener instalado el paquete vlans-utils c) El equipo con Linux debe estar conectado a un LAN Switch capaz de entender encapsulamiento 802.1q (dot1q). Procedimiento: a) Para levantar el modulo 8021q utilizar el comando #modprobe 8021q b) Para instalar el paquete vlans-utils en el caso de Mandriva se puede realizar con el comando: #urpmi vlan-utils c) Posteriormente se pueden crear las vlans necesarias Ejemplos: a) Crear la VLAN 2 en la interfaz eth0 vconfig add eth0 2 b) Crear la VLAN 8 en la interfaz eth1 vconfig add eth1 8 c) Remover la VLAN 3 de la interfaz eth5 vconfig rem eth5 3 d) Configurar la dirección IP a la vlan 8 en la interfaz eth1 (creada en el paso b) ifconfig eth1.8 192.168.1.1 netmask 255.255.255.0 e) Configurar la dirección IP a la vlan 3 en la interfaz eth5 (creada en el paso c) ifconfig eth5.3 192.168.1.1 netmask 255.255.255.0 f) Eliminar/remover la VLAN 2 en la interfaz eth0 vconfig rem eth0 2 g) Remover todas las vlans y comenzar desde 0 Recomiendo bajar el modulo 8021q y volver a levantarlo modprobe -r 8021q; sleep 1; modprobe 8021q Revisión: 1) Chequear el modulo 8021q se encuentre cargado en el equipo: #lsmod | grep 8021q 8021q 17672 0 2) Revisar todas las interfaces: #ifconfig -a 3) Chequear las VLANs en el directorio virtual /proc [root@pemon SCRIPTS]# more /proc/net/vlan/config VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth1.21 | 21 | eth1 eth1.19 | 19 | eth1 Del lado del LAN Switch Cisco: interface FastEthernet0/26 switchport trunk encapsulation dot1q switchport mode trunk Eso es todo, Suerte!
check out this page

sábado, 21 de agosto de 2010

Cliente IPv6 Freenet6 en Linux

Introduccion:
En otros post he indicado por ejemplo como utilizar el cliente Teredo (Miredo) en Linux para levantar pseudo-tuneles IPv6 sobre IPv4.
En esta oportunidad voy a indicarte lo que considero una mejor opcion como metodo de transicion hacia IPv6, se llama Freenet6.
Teredo se basa en transportar paquetes IPv6 sobre paquetes UDP que a su vez viajan sobre IPv4. Freenet en cambio transporta IPv6 sobre tuneles TSP (puerto 3653). Por otro lado, las consultas DNS de los sistemas operativos (varia el comportamiento) se comportan diferentes cuando poseen direcciones IPv6 Terero (2001:0::/32) a cuando poseen direcciones IPv6 nativas; por ejemplo http://technet.microsoft.com/en-us/library/bb727035.aspx#ECAA

Situacion:
Deseo instalar y utilizar el cliente freenet6 en Linux y asi tener conectividad al mundo IPv6

Pasos:
1) Lo primero es conseguir los fuentes de Freenet aqui:
http://gogonet.gogo6.com/page/freenet6-services

2) En mi caso me faltaba el compilador g++ el cual instale con el comando: urpmi gcc-c++ (en el caso de Mandriva)


3) Luego es realizar la instalacion
a) # tar -zxvf gogoc-1_2-RELEASE.tar.gz
b) # make installdir=/usr/local/gogoc install (notese que se pasa como parametro el directorio de instalacion)

4) Finalmente ejecutar el binario:
cd /usr/local/gogoc/bin; ./gogoc (esperar aprox 10 segundos a que se conecte al servidor, obtenga DIR IP, etc)

Chequeo:
En las primeras oportunidades recomiendo ejecutar gogoc con la opcion -n (./gogoc -n) que significa foreground que se pueda apreciar la direccion IP que se reciba y todo eso.
Posteriormente para probar puedes realizar un ping6 a ipv6.google.com o un ping6 a portalipv6.lacnic.net
Al momento de ejecutar gogoc debe crearse la interfaz tun, la puedes monitorear mientras se negocia el tunel y veras cuando finalmente toma direccion IP

Mas informacion:
* RFC TSP http://tools.ietf.org/html/rfc5572
* Informacion General TSP http://en.wikipedia.org/wiki/Tunnel_Setup_Protocol
* Comportamiento de los queries DNS en ambientes IPv6 http://technet.microsoft.com/en-us/library/bb727035.aspx#ECAA

Solución a: Error: eth0 interface name is not allowed for R2 node when network mode is not set to none

Problema:   Containerlab devuelve un error similar: Error: eth0 interface name is not allowed for R2 node when network mode is not set to no...