lunes, 30 de abril de 2012

Configurar un router como servidor TFTP

Alguna vez he necesitado un servidor TFTP en una LAN sin capacidad de routing, como por ejemplo cuando un equipo se queda en rommon porque alguien la ha pifiado al actualizar una IOS, pero esto normalmente no es posible.

Una manera muy sencilla de solucionar esto es configurar uno de tus routers o switches como un servidor tftp temporalmente, de este modo puedes copiar esa IOS de un router a otro. La "única" limitación es que se trata de un servidor tftp de solo lectura, no se puede utilizar ese tftp para guardar información desde otro router.

En cualquier caso se trata de un truco bastante práctico para situaciones complicadas.

tftp-server <directorio>:<fichero>

lunes, 23 de abril de 2012

DHCP: Configuración servidor, cliente, y relay DHCP en router cisco

DHCP es uno de esos servicios básicos que hay en cualquier red, en algunos sitios se hace en servidores , y en otros se hace a nivel de router, también hay entornos en los que la dirección ip de un router se configura por medio de DHCP, sobre todo en túneles L2TP y ADSL.

Configuración del servidor:

Lo primero y muy importante es configurar las ip que no queremos entregar porque están reservadas, es importante configurarlo al principio, porque de lo contrario es posible que sirvamos la ip por DHCP justo antes de configurar la exclusión.

ip dhcp excluded-address <ip_prohibidas_separadas_espacios>

Luego creamos el pool con el nombre que queramos, las ip a servir, y el gateway y los servidores DNS, por último el tiempo que queremos que la IP quede reservada para el mismo equipo.

ip dhcp pool LAN
 network x.x.x.x /x
 default-router <ip_gateway>
 dns-server <dns1> <dns2>
 lease <dias> <horas> <--- Cuanto tiempo dura la concesión de la ip

Configuración del cliente DHCP:

Para configurar que un router adquiera una ip dinámicamente por DHCP es muy sencillo.

inteface Fa0/0
 ip add dhcp

Ejemplo:

DHCP SERVER:

ip dhcp excluded-address 192.168.1.1
ip dhcp pool LAN
   network 192.168.1.0 255.255.255.0
   default-router 192.168.1.11
   dns-server 192.168.1.11 192.168.1.22  
Comprobamos las concesiones de ip:

R1#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/             Lease expiration        Type
            Hardware address/
            User name
192.168.1.3         0063.6973.636f.2d63.    Mar 02 2002 01:22 AM    Automatic
                    6330.332e.3032.6363.
                    2e30.3030.302d.566c.
                    32
192.168.1.4         0063.6973.636f.2d63.    Mar 02 2002 01:56 AM    Automatic
                    6330.322e.3032.6363.
                    2e30.3030.302d.566c.
                    32

DHCP CLIENT:

interface Vlan2
 ip address dhcp
end
Cuando nos concede la ip en el router aparece lo siguiente:

*Mar  1 01:56:44.823: %DHCP-6-ADDRESS_ASSIGN: Interface Vlan2 assigned DHCP address 192.168.1.4, mask 255.255.255.0, hostname R3
Hacer relay de DHCP:

En el ejemplo estábamos suponiendo que teníamos el router estaba en la misma Vlan que los clientes, pero si el servidor no esta en la misma Vlan que los clientes, lo que debemos hacer es configurar un relay de DHCP, que en lo que consiste es configurar el router que esta en la misma lan que los clientes como intermediario, y este intermediario lo que hace es enviar estas peticiones de DHCP a un servidor que tenga configurado.

El router que hace de intermediario:

interface FastEthernet 0/0
   ip helper-address <ip_DHCP>

lunes, 16 de abril de 2012

Telecomunicaciones: Mapa de cableado submarino

Estaba hace unos días haciendo que estudiaba cuando no se como me encontré con esta web.

http://www.submarinecablemap.com/

Se trata de una web con detalles de todos los cableados submarinos civiles que hay en el planeta. Se trata de cableados de fibra óptica a través de los que se pasa tanto señales de audio como de datos.



Aproximadamente el 80% de la información que pasa por estos cables son datos:
Internet
VPNs/MPLS internacionales

La verdad es que nunca he estado muy puesto en el tema pero me llama la atención que los principales cables submarinos de España están todos en la provincia de Cádiz.

Los "propietarios" de los cables, ya os los imaginais, los Tier-1 de Internet, donde por la parte española esta TIWS(Telefónica International Wholesale Services) que tiene su punto fuerte en Europa, latinoamérica y norteamérica.

Para los que no sepan lo que es un Tier 1,2...etc:

http://en.wikipedia.org/wiki/Tier_1_network

Me ha parecido algo curioso, no todo van a ser configuraciones :-) .

lunes, 9 de abril de 2012

VACLs: Filtrando tráfico a nivel 2

Alguna vez, resolviendo algún problema de conectividad en una red, en la que pasa lo típico de que un servidor no puede llegar a un sitio, pero si puede llegar a otro, aparece la típica persona de sistemas muy ajena al mundo de las redes y dice, "La culpa es del firewall, nos estais capando", entonces es cuando me toca decir la típica cosa que no es 100% cierta, pero que permite seguir resolviendo la incidencia sin buscar fantasmas.

¿Cual es esa mentijilla piadosa? 
Que los firewalls filtran tráfico entre equipos de diferentes vlanes, que no es posible filtrar tráfico de equipos en la misma VLAN. Es una mentirijilla porque existen firewalls transparentes, y porque si se puede filtrar a nivel de VLAN con VACL, pero me ha tocado decir esa mentirijilla varias veces en entornos que no usaban VACL, ni Firewalls en modo bridge.

¿Que es una VACL?
VACL simplemente es una ACL a nivel de vlan, permite filtrar el tráfico que pasa por una VLAN a nivel 2.

¿Que equipos permiten usar VACL?
Switches y routers basados en Asics, osea en switches y routers nuevecillos, por tanto lo de intentar probarlo en GNS3 va a ser que no.  :(

¿Como se configuran?
Primero se configura una ACL para seleccionar el trafico que queremos seleccionar, al estilo de un route-map.
ip access-list extended NO_NETBIOS
permit ip any any eq 139
Luego configuramos el vlan access-map.


vlan access-map filtro_NETBIOS_VLAN_100 10 
match ip address NO_NETBIOS <----seleccionamos el netbios y lo filtramos
 action drop
 vlan access-map filtro_NETBIOS_VLAN_100 20
  action forward<----el resto de tráfico sigue pasando sin problema

Y por último asignamos el filtro a las vlans que nos apetezca.

vlan filter filtro_NETBIOS_VLAN_100 vlan-list 100

Para los que sean un poco curiosos, se pueden hacer mas cosas con VACL, como por ejemplo denegar tráficos en base a la MAC, o incluso interferir en spanning tree filtrando BPDUs...etc, cuidado con esto último o podeis crear una tormenta de broadcast. :D


lunes, 2 de abril de 2012

NTP: Configurando tu router como servidor NTP

NTP es el protocolo que permite que todos los equipos de una red tengan la misma fecha y hora, cosa importante si deseas evitar que tus correos salgan hoy con una fecha pasada o futura :-| .

NTP funciona por medio de statum, que son el número de saltos a los que se encuentra un servidor NTP de una fuente fiable de tiempo, como son un reloj atómico, o un reloj radiocontrolado. Por tanto un servidor que tenga integrado un reloj radiocontrolado tendría un stratum 1, un servidor que coja la hora de ese servidor tendría un stratum 2...etc.

La principal regla de NTP es que esta pensado para ser un protocolo libre de loops, por tanto para evitar esto, un servidor de un stratum superior nunca puede actualizar a un servidor con un stratum inferior, pero si al reves. Por otro lado, dos servidores de NTP con el mismo stratum pueden sincronizarse, tarda un ratillo, pero terminan sincronizándose, el tiempo en sincronizarse dependerá de la diferencia de tiempo que haya entre ellos.



Un router también puede hacer de servidor de NTP, y el stratum es una parte configurable.

ntp master <stratum>
ntp source Loopback0 <----siempre recomiendo que sea un loopback

Para configurar un router para que coja la hora de un servidor NTP:

ntp server <ip_ntp>
ntp source Loopback0

También es posible configurar mas de un servidor ntp para coger la hora de ellos, y seleccionar uno como preferido.

ntp server 10.0.0.1
ntp server 10.0.0.2 prefer
 Ejemplo sencillo:

R1(NTP Master):
ntp master 1
interface Ethernet0/0
 ip address 192.168.1.1 255.255.255.0

R2 (cliente NTP):
ntp server 192.168.1.1
interface Ethernet0/0
ip address 192.168.1.2 255.255.255.0
Unos show para ver como queda:
R1#show ntp status
Clock is synchronized, stratum 1, reference is .LOCL.
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**18
reference time is D38F2CC6.B53F504E (17:41:26.707 UTC Fri Jun 22 2012)
clock offset is 0.0000 msec, root delay is 0.00 msec
root dispersion is 0.02 msec, peer dispersion is 0.02 msec

R2#show ntp status
Clock is synchronized, stratum 2, reference is 192.168.1.1
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**18
reference time is D38F2CDF.EE3B8538 (17:41:51.930 UTC Fri Jun 22 2012)
clock offset is -1.2206 msec, root delay is 3.94 msec
root dispersion is 11.70 msec, peer dispersion is 10.45 msec
También se puede emitir broadcast y multicast para NTP, de modo un cliente multicast/broadcast en el segmento de red podría coger la hora.

Servidor para multicast/broadcast:

interface Ethernet 0/0
  ntp multicast <ip_multicast_que_sirve>
  ntp broadcast
  Cliente multicast y broadcast en un router:
interface Ethernet 0/0
ntp multicast client <ip_multicast_que_sirve>
ntp broadcast client
 También se puede configurar autenticación, pero eso os lo dejo que lo busquéis vosotros.

http://www.cisco.com/en/US/docs/switches/datacenter/sw/5_x/nx-os/system_management/configuration/guide/sm_3ntp.html

lunes, 26 de marzo de 2012

RMON: Alertas personalizadas para tus dispositivos de red

En ocasiones es posible que estés intentando monitorizar algo con SNMP, pero no encuentres una trap que detecte exactamente lo que quieres monitorizar como alerta, para esos casos, y con un poco de paciencia puedes habilitar RMON,

RMON lo que hace es enviar un trap personalizado, que tu creas a partir de una MIB, por ejemplo puedes crear un trap que compruebe la MIB de temperatura de un router, y en caso  de sobrepasar un umbral en grados centígrados lance un trap a tu servidor de SNMP que ponga ¡¡¡Traed extintores que aquí hace mas calor que en el infierno!!!. :D

Ejemplo:

Entrando en la web de cisco comprobamos que hay una MIB para la temperatura ambiente en grados centígrados , es la 1.3.6.1.4.1.9.9.13.1.3.1.3 , y la vamos a usar para lanzar un trap cuando superemos los 45 gradosy otro cuando bajemos de los 10 grados, 300 es el el tiempo en segundo cada cuanto el router comprobará la temperatura.

Router(config)#rmon alarm 33 .1.3.6.1.4.1.9.9.13.1.3.1.3 300 absolute rising-threshold 45 1 falling-threshold 10 2

El evento 1 es para cuando superamos los 45 grados, y el evento 2 cuando bajamos de los 10.

Router(config)#rmon event 1 trap <COMMUNITY_SNMP> description "¡¡¡Aqui hace un calor del demonio y yo sin mi bronceador!!!" log

Router(config)#rmon event 2 trap <COMMUNITY_SNMP> description "¡¡¡Que frio hace!!! Una bufanda y unos guantes no me vendrían mal" log

Hay que configurar igualmente el servidor de SNMP, pero eso ya vimos como se hacía en el artículo anterior.

Desde luego los operadores de monitorización no podrán decir que no creo mensajes de alarma fácilmente entendibles.

lunes, 19 de marzo de 2012

mGRE: Tuneles GRE Multipunto

En un artículo anterior estuvimos tratando como se configuran los túneles GRE punto a punto, que son una herramienta realmente fácil de utilizar, y con una excesiva tendencia a hacer chapucillas con ella. Pese a todo, los túneles GRE llevan muchísimo tiempo funcionando, y a todos nos han salvado muchas veces de alguna limitación en un proyecto que no estaba contemplada al comienzo.

Los túneles GRE multipunto son una tecnología poco conocida, con el mismo potencial que un túnel GRE, pero con el añadido de poder crear un segmento de red punto multipunto, emulando lo que por ejemplo podría ser una conexión de frame-relay punto multipunto. Honestamente debo decir que nunca en el mundo real me he encontrado ningún engendro de este tipo funcionando en una red real, pero en un entorno en el que tengas que montar muchos túneles GRE contra un site central, pero queriendo tener conectividad entre las oficinas remotas, si el número de sedes es muy elevado, puede llegar a ser una opción.

A la hora de configurar túneles GRE multipunto tenemos que tener en cuenta que estamos configurando un tunel GRE con sus propiedades y limitaciones, pero ademas hay que añadirle las propiedades y limitaciones de una red punto multipunto, como Frame relay, esto supone que tendrá que existir un punto que hará la función de hub, donde se concentraran todas la conexiones, y varios spokes, que serán sitios remotos que solo tendrán conexión con el hub, y si quieren llegar al resto de spokes deberán hacerlo a través de hub.

La  característica común entre un mGRE, y frame relay, es que ambos tienen un mecanismo para la resolución de direcciones, donde en frame relay se usa inverse ARP para resolver que numero de DLCI  se corresponde a la IP de el vecino, mGRE usa NHRP(Next Hop Resolution Protocol) que lo que hace es crear una tabla de equivalencias entre las IP dentro del tunel y la IP de destino a la que se tienen que enviar los paquetes para alcanzar los extremos del tunnel.

Configuración Basica:

HUB:

interface Tunnel0
  ip address x.x.x.x x.x.x.x
  ip nhrp map multicast dynamic <----si vas a usar un protocolo de routing deja que se hagan los mapeos de multicast dinámicos
  ip nhrp network-id 100 <----identifica a la red tiene que ser igual en todos
  tunnel source FastEthernet0/0<--- igual que los normales
  tunnel mode gre multipoint
  tunnel key 333<---si tienes varios y con VRF es mejor que lo uses

SPOKES:

interface Tunnel0
 ip address y.y.y.y y.y.y.y
 ip nhrp map <ip_dentro_tunel> <ip_fuera_tunel> <---el equivalente a un mapeo estático en FR, se pone en los spokes
 ip nhrp map multicast <ip_dentro_tunel_del_hub> <---indica a quien se envía el multicast
 ip nhrp network-id 100
 ip nhrp nhs <ip_dentro_tunel_del_hub> <---el servidor de nhrp osea el hub
 tunnel source FastEthernet0/0
 tunnel mode gre multipoint
 tunnel key 333
En el próximo artículo veremos un ejemplo real, configurado y un poco de troubleshooting.