VPSs y mas.

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!

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