Configurar resolución Inversa IPv6 con bind

Algunos os habíais puesto en contacto a través del formulario de contacto de mi blog pero por algún motivo no recibía vuestros correos. Al mirar los logs me encontraba con esto:

2015-10-23 16:35:19 1ZpdR7-0002ax-Ar ** laralalalala@gmail.com R=dnslookup T=remote_smtp X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 DN="C=US,ST=California,L=Mountain 
View,O=Google Inc,CN=mx.google.com": SMTP error from remote mail server after end of data: host gmail-smtp-in.l.google.com [2a00:1450:400c:c05::1a]: 550-5.7.1 [2a00:150
8:6001::666] Our system has detected that this message does\n550-5.7.1 not meet IPv6 sending guidelines regarding PTR records and\n550-5.7.1 authentication. Please revi
ew\n550-5.7.1  https://support.google.com/mail/?p=ipv6_authentication_error for more\n550 5.7.1 information. f2si4186183wiy.75 - gsmtp
2015-10-23 16:35:19 1ZpdR9-0002b2-7I <= <> R=1ZpdR7-0002ax-Ar U=Debian-exim P=local S=2822
2015-10-23 16:35:19 1ZpdR7-0002ax-Ar Completed
2015-10-23 16:35:19 1ZpdR9-0002b2-7I =www-data  R=local_user T=maildir_home
2015-10-23 16:35:19 1ZpdR9-0002b2-7I Completed

Éste error aparece desde hace unos 15 días y es que google, donde se me mandan los correos, dice que no le gustaba la IPv6 de mi servidor de correo. La forma que acepta los correos google es mediante una dkim firmada o un PTR definido, así que lo que he ido a hacer ha sido definir el PTR para mi dirección IPv6.…

Debian 8: Bonding + VLANs

Tenemos una maquina con 2 tarjetas de red que va a realizar tareas de backup, así que vamos a hacer un bonding y en este bonding asignar vlans.

Necesitamos instalar 2 paquetes, vlan y ifenslave

# apt-get install vlan ifenslave

Y la configuración para un host sería esta:

auto lo
iface lo inet loopback

auto eth0
auto eth1

auto bond0
iface bond0 inet manual
        slaves eth0 eth1
        bond_miimon 100
        bond_mode active-backup

auto vlan10
auto vlan138

# VLAN 10
iface vlan10 inet static
        address 10.90.226.69
        netmask 255.255.255.224
        up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.90.226.65
        mtu 1500
        vlan-raw-device bond0

# VLAN 138
iface vlan138 inet6 static
        address 2a00:1508:6001::69
        netmask 64
        up ip r add default via 2a00:1508:6001::1 dev bond0
        mtu 1500
        vlan-raw-device bond0

Ahora mismo tenemos el bonding en active backup, pero si queremos sumar ambas interfaces podemos poner el modo balance-rr, así tendremos virtualmente una tarjeta de 2Gb y la interfaz de red no será un cuello de botella :)…

NAT64/DNS64

Si quieres implantar una red sólo con IPv6 perfecto! pero nos vamos a encontrar con un pequeño problema, que en internet aún hay mucho contenido que sólo es accesible por IPv4. La solución pasa pues para usar NAT64 y DNS64 para permitir a los hosts IPv6 comunicarse con los hosts IPv4.
El funcionamiento básicamente consiste en crear una cache de DNS (DNS64) que convierte las IPv4 en IPv6 para que los equipos de nuestra red accedan a estos hosts IPv4 con una IPv6 y el NAT64 servirá para acceder a estos hosts IPv4, algo similar a una red local, en la que todos los equipos con una IP de la red 192.168.1.0/24 salen a internet con una única IPv4 pública.

Para el DNS64 vamos a usar bind9 y para NAT64 Tayga.…

Configurar vlans, bondings y IPv6 en un Proxmox

Venga, hoy tenemos una configuración completita! :)

Nos encontramos con un equipo que tiene instalado proxmox y quiero que sus contenedores puedan tener vlan. Toda feliciana me propongo de pasar olímpicamente de configurar las vlan con el proxmox ya que alguna vez lo he intentado desde el interfaz y no hay ni un solo menú que sirva para realizar esta tarea.

Como es normal, busco en el blog para manuales de referencia y me pongo a seguir éste: Configurar vlans con GNU/Linux. Pero me encuentro que no me hace ni puñetero caso, así que buscando por internet leo que es necesario tener el módulo 8021q activado, así que trato de activarlo y el sistema dentro del contenedor me suelta palabrotas:

root@murzim-dnsnat64:/# modprobe 8021q
libkmod: ERROR ../libkmod/libkmod.c:505 kmod_lookup_alias_from_builtin_file: could not open builtin file '/lib/modules/2.6.32-27-pve/modules.builtin.bin'
FATAL: Module 8021q not found.

Túnel 6to4 mikrotik

Pues tras luchar unos cuantos días ya tenemos el túnel 6to4 funcionando y el router anunciando ipv6 (globales) a las maquinas de la red local.

En el hackmeeting del año pasado al montar la red me quedó el gusanillo de enrutar todo el mundo por un túnel 6to4 pero me quedó pendiente la parte de la asignación de ips a la red local, por fin hoy tras un año y poco, lo hemos conseguido y por supuesto no habría sido posible sin la inestimable ayuda de Ramon Roca y Miquel Martos de guifi.net (ah! si el link no funciona es que no estáis preparados para ipv6!).

Primero de todo quiero adentrar un poco el tema para todos aquellos que habéis oído algunas campanas sobre ipv6, la cosa es que ipv4 se diseñó hace un porrón y medio de años, pero en aquel entonces nadie pensó en qué acabaríamos llevando un ordenador en el bolsillo, lo de internet era mas bien elitista y un ordenador era un gadget además de bastante grande y pesado y realmente poco asequible para la gran mayoría de bolsillos del planeta.
Hace ya unos años, con el boom de internet, el número de asignaciones de direcciones ipv4 ha ido creciendo, hasta que viendo el crecimiento se tuvo que plantear una “chapuzilla” para no gastar tantas, el NAT, que es lo que hace que en nuestras redes locales tengamos redes del estilo 192.168.1.x. Esto al mismo momento es como una forma para no tener nuestras maquinas directamente …

Configurar ipv6 en un host gnu/linux

Pues por fin! otra cosa de la todo list finiticada! y para que no se olvide y para compartir, os dejo los breves apuntes :)

Pues tenemos una maquina que es un contenedor openvz, ahora mismo tiene una ip pública (ipv4), pero queremos añadirle una ip global (ipv6). Dicha asignación la podemos hacer directamente en eth0 (lo curioso es que inicialmente la había definido en eth0:1 pero igualmente se ha definido en eth0).

# ifconfig eth0 2a00:1508:1000::6d45:938/64

Y para definir la ruta estática:

# ip route add default via 2a00:1508:1000::6d45:901

ipv6day

Pues hoy es un día un tanto especial en internet, ya que algunos proveedores de servicios como google o facebook ponen como primera opción de acceso a sus servicios una página con ip versión 6.

¿y esto qué significa? pues que al hacer ping en lugar de salir una ip con la estructura que estamos acostumbrados x.x.x.x va a responder una ip del estilo 2620:0:1c18:0:face:b00c:0:1 (en el caso de facebook).
Hace ya muchos años que se auguraba un esgotamiento de las direcciones ipv4 y se tuvo que inventar el NAT, que permitía tener hosts en una red local y sólo publicar las máquinas que interesaba con ips públicas a internet.
Con ipv6, el NAT desaparece y todas las máquinas pasan a tener una ip global, pero mas que una ip global, pasan a tener un rango de ips globales, de esta forma, un mismo dispositivo (ya pensando en teléfonos móviles, una televisión, o incluso un coche) va a tener distintas ips globales. Esto abre un abanico de posibilidades que aún no somos capaces de alcanzar con nuestra imaginación.…