martes, 17 de marzo de 2015

Servicios IP (network services)

De la lista de temas a evaluar en el examen de CCIE, tenemos los servicios IP (5.3 Network services), en este artículo veremos algunos, son temas muy extensos que sólo menciono brevemente porque es importante conocerlos, pero que no son tan importantes como para explorarlos a fondo; pero son configuraciones que se deben dominar, ya que son temas comunes en cualquier red, comenzaermos con una configuración básica de DHCP en el router Green2, configurando el ip helper address en el Green1 para poder asignarle una IP al router dhcp_client. Usaré la topología anterior, simulando un ISP que nos provee de conexión mediante MPLS entre el PE1 y el PE2, estando esta parte de la red "oculta" a nuestros routers de la VRF Green.
Los servicios son: DHCP, NTP, SNMP, Syslog, WCCP, Netflow, Cisco IOS Embedded Event Manager, Remote Monitoring, FTP, TFTP y SCP en un router, acceso http, https, telnet y ssh, y por último IP SLA.

DHCP

Primero en dhcp_client desactivamos el ruteo (para simular un host), habilitamos un puerto con la configuración de cliente de dhcp, configuramos el router con el ip helper, es decir, le indicamos la dirección IP que tiene el servicio de DHCP, en este caso es la loopback 100 del router Green2, y en este último configuramos el servicio de DHCP, indicando la red,  el default gateway que se debe asignar a los clientes, así como el dominio y el servidor de DNS; es importante también configurar las direcciones IP que no queremos que sean asignadas con este servicio:
documento en cisco.com

DHCP_client#

no  ip routing
!
interface Ethernet0/1
 ip address dhcp
 no ip route-cache


green1#show running-config interface e0/1
!
interface Ethernet0/1
 ip address 192.168.0.1 255.255.255.0
 ip helper-address 12.2.2.2
! apuntamos en este caso a la loopback 100 de Green2

green2(dhcp-config)#do show running | section dhcp
ip dhcp excluded-address 192.168.0.0 192.168.0.10
ip dhcp pool Green1
 network 192.168.0.0 255.255.255.0
 default-router 192.168.0.1 
 domain-name ipref.info
 dns-server 192.168.0.1 

verificación con debug dhcp:

dhcp_client#show dhcp server 
   DHCP server: ANY (255.255.255.255)
    Leases:   2
    Offers:   1      Requests: 1     Acks : 1     Naks: 0
    Declines: 0      Releases: 0     Query: 0     Bad: 0
    Forcerenews: 0      Failures: 0
    DNS0:   192.168.0.1,   DNS1:  0.0.0.0

    Subnet: 255.255.255.0   DNS Domain: ipref.info
dhcp_client#show dhcp lease 
Temp IP addr: 192.168.0.11  for peer on Interface: Ethernet0/1
Temp  sub net mask: 255.255.255.0
   DHCP Lease server: 10.12.0.2, state: 5 Bound
   DHCP transaction id: 562
   Lease: 86400 secs,  Renewal: 43200 secs,  Rebind: 75600 secs
Temp default-gateway addr: 192.168.0.1
   Next timer fires after: 11:57:50
   Retry count: 0   Client-ID: cisco-aabb.cc00.0a10-Et0/1
   Client-ID hex dump: 636973636F2D616162622E636330302E
                       306131302D4574302F31

   Hostname: dhcp_client
dhcp_client#
*Mar 16 04:37:20.593: DHCP: DHCP client process started: 10
*Mar 16 04:37:20.599: RAC: Starting DHCP discover on Ethernet0/1
*Mar 16 04:37:20.599: DHCP: Try 1 to acquire address for Ethernet0/1
*Mar 16 04:37:20.606: DHCP: allocate request
*Mar 16 04:37:20.606: DHCP: new entry. add to queue, interface Ethernet0/1
*Mar 16 04:37:20.606: DHCP: Client socket is opened
*Mar 16 04:37:20.606: DHCP: SDiscover attempt # 1 for entry:
*Mar 16 04:37:20.606: DHCP: SDiscover: sending 300 byte length DHCP packet
*Mar 16 04:37:20.606: DHCP: SDiscover 300 bytes 
*Mar 16 04:37:20.607:             B'cast on Ethernet0/1 interface from 0.0.0.0
*Mar 16 04:37:22.622: DHCP: Received a BOOTREP pkt
*Mar 16 04:37:22.622: DHCP: offer received from 10.12.0.2
*Mar 16 04:37:22.622: DHCP: SRequest attempt # 1 for entry:
*Mar 16 04:37:22.622: DHCP: SRequest- Server ID option: 10.12.0.2
*Mar 16 04:37:22.622: DHCP: SRequest- Requested IP addr option: 192.168.0.11
*Mar 16 04:37:22.622: DHCP: SRequest: 312 bytes
*Mar 16 04:37:22.622: DHCP: SRequest: 312 bytes
*Mar 16 04:37:22.623:             B'cast on Ethernet0/1 interface from 0.0.0.0
*Mar 16 04:37:22.623: DHCP: Received a BOOTREP pkt
*Mar 16 04:37:26.645: DHCP: Sending notification of ASSIGNMENT:
*Mar 16 04:37:26.645:   Address 192.168.0.11 mask 255.255.255.0
*Mar 16 04:37:26.645: DHCP Client Pooling: ***Allocated IP address: 192.168.0.11
*Mar 16 04:37:26.710: Allocated IP address = 192.168.0.11  255.255.255.0
*Mar 16 04:37:26.710: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/1 assigned DHCP address 192.168.0.11, mask 255.255.255.0, hostname dhcp_client
*Mar 16 04:37:32.677: DHCP: Client socket is closed


green2#debug ip dhcp server events 
*Mar 16 04:37:20.606: DHCPD: Sending notification of DISCOVER:
*Mar 16 04:37:20.606:   DHCPD: htype 1 chaddr aabb.cc00.0a10
*Mar 16 04:37:20.606:   DHCPD: remote id 020a00000a0c000200000000
*Mar 16 04:37:20.606:   DHCPD: circuit id 00000000
*Mar 16 04:37:20.606: DHCPD: Seeing if there is an internally specified pool class:
*Mar 16 04:37:20.606:   DHCPD: htype 1 chaddr aabb.cc00.0a10
*Mar 16 04:37:20.606:   DHCPD: remote id 020a00000a0c000200000000
*Mar 16 04:37:20.606:   DHCPD: circuit id 00000000
*Mar 16 04:37:20.607: DHCPD: Allocated binding B0CE4BF8
*Mar 16 04:37:20.607: DHCPD: Adding binding to radix tree (192.168.0.11)
*Mar 16 04:37:20.607: DHCPD: Adding binding to hash tree
*Mar 16 04:37:20.607: DHCPD: assigned IP address 192.168.0.11 to client 0063.6973.636f.2d61.6162.622e.6363.3030.2e30.6131.302d.4574.302f.31.
*Mar 16 04:37:22.622: DHCPD: Sending notification of DISCOVER:
*Mar 16 04:37:22.622:   DHCPD: htype 1 chaddr aabb.cc00.0a10
*Mar 16 04:37:22.622:   DHCPD: remote id 020a00000a0c000200000000
*Mar 16 04:37:22.622:   DHCPD: circuit id 00000000
*Mar 16 04:37:22.622: DHCPD: Seeing if there is an internally specified pool class:
*Mar 16 04:37:22.622:   DHCPD: htype 1 chaddr aabb.cc00.0a10
*Mar 16 04:37:22.622:   DHCPD: remote id 020a00000a0c000200000000
*Mar 16 04:37:22.622:   DHCPD: circuit id 00000000
*Mar 16 04:37:22.623: DHCPD: Sending notification of ASSIGNMENT:
*Mar 16 04:37:22.623:  DHCPD: address 192.168.0.11 mask 255.255.255.0
*Mar 16 04:37:22.623:   DHCPD: htype 1 chaddr aabb.cc00.0a10
*Mar 16 04:37:22.623:   DHCPD: lease time remaining (secs) = 86400

Network Time Protocol

En la configuración más básica utilizamos un master, que debe tener un nivel stratum que indica la confiabilidad de su reloj, utilizaremos el stratum 7 en el ejemplo, y configuramos la autenticación, que son comandos comunes a todos los dispositivos que utilizaran este servicio, también habilité el registro de las operaciones (ntp logging) a fin de verificar en la historia su funcionamiento:
mejores prácticas NTP
la importancia del tiempo en la red

cliente:
green1#sh runn | s ntp
ntp logging
ntp authentication-key 1 md5 130C07000E0A4A23252227 7
ntp authenticate
ntp trusted-key 1
ntp update-calendar
ntp server 12.2.2.2

master:
green2#sh runn | s ntp 
ntp logging
ntp authentication-key 1 md5 09455E1B1C03591B050A0B 7
ntp authenticate
ntp trusted-key 1
ntp master 7

Verificación
green1#sh ntp associations

  address         ref clock       st   when   poll reach  delay  offset   disp
*~12.2.2.2        127.127.1.1      7     15     64   377  0.000   0.000  5.495
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

green1#sh ntp stat
Clock is synchronized, stratum 8, reference is 12.2.2.2       
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**10
ntp uptime is 81500 (1/100 of seconds), resolution is 4000
reference time is D8B0E1CF.FBA5E608 (04:59:59.983 UTC Mon Mar 16 2015)
clock offset is 0.0000 msec, root delay is 0.00 msec
root dispersion is 13.53 msec, peer dispersion is 5.92 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000000000 s/s
system poll interval is 64, last update was 417 sec ago.

SNMP

El simple network management protocol tiene 3 versiones, una de las principales diferencias es la seguridad, la versión 1 utiliza un community string en texto claro y se basa en UDP, la versión 2 soporta una autenticación, agrega el Get Bulk y mensajes de información, y la versión 3 soporta una mejor seguridad con autenticación y encripción (MD5) y usa MIB-II, sirve para obtener información sobre el estado del dispositivo, notificaciones de cambios en dichos estados, y para hacer cambios a la configuración.
access-list 45 permit 10.12.0.0 0.0.0.7
snmp-server community public RW 45
snmp-server location B1
snmp-server contact name@company.com
snmp-server chassis-id Green2
snmp-server enable traps hsrp
snmp-server enable traps snmp
snmp-server enable traps config
snmp-server enable traps entity
snmp-server enable traps bgp
snmp-server enable traps rsvp
snmp-server enable traps rtr
snmp-server enable traps frame-relay
snmp-server host 10.12.0.1 public

Syslog

Otra opción es configurar syslogs, podemos cambiar el tamaño del historial de notificaciones con
logging history size [0 to 500 lines] y enviar las notificaciones al buffer de memoria,

o podemos configurar un servidor de syslog en una PC y enviar las notificaciones ahí:
logging host [ip address del servidor].
Podemos escoger el nivel de las notificaciones de acuerdo a nuestro interés:
green2(config)#logging trap ?
  <0-7>          Logging severity level
  alerts         Immediate action needed           (severity=1)
  critical       Critical conditions               (severity=2)
  debugging      Debugging messages                (severity=7)
  emergencies    System is unusable                (severity=0)
  errors         Error conditions                  (severity=3)
  informational  Informational messages            (severity=6)
  notifications  Normal but significant conditions (severity=5)
  warnings       Warning conditions                (severity=4)
 

Web Cache Communication Protocol

Básicamente es una función que alivia la carga de un enlace WAN mediante el almacenamiento de recursos muy solicitados, evitando así la petición repetitiva de dichos recursos, por ejemplo, todos los empleados abren la página de google.com al iniciar su browser, entonces el router almacena la página  y cada que alguien solicita abrir google.com, el router envía dicha página, la consulta no llega al servidor de google y se ahorra ancho de banda, una vez que tecleamos la búsqueda, se consulta el WCCP local, y si la página de búsque no exite localmente, se envía la petición al servidor verdadero, y el cliente que está navegando no se entera del funcionamiento y ahorro en recursos, no le impacta.
Se basa en multicast, puede involucrar varios servidores de WCCP por redundancia que se comunican entre si para soportar el servicio. Los pasos para configurarlo son:
se habilita globalmente, y después en la interface de salida hacia el contenido (internet):
ip wccp web-cache group-address 239.128.1.100 password ipref
interface ethernet 0/1
ip wccp web-cache redirect out
y después se deshabilita en la interface de entrada
interface ethernet 0/1
ip wccp redirect exclude in
también podemos utilizar filtros para sólo dar el servicio a ciertos clientes:
ip wccp web-cache redirect-list access-list
o filtros para sólo almacenar cierto contenido en los motores de contenido:
ip wccp web-cache group-list access-list.

Cisco IOS IP Service Level Agreement

IP SLA nos permite monitorear ciertos aspectos del rendimiento de la red y tomar acciones acorde a dicho rendimiento. Creamos primero un responder en el dispositivo que recibirá el tráfico:

(config)#ip sla responder

y luego creamos un ip sla de acuerdo a nuestro interés; es muy importante notar que no se puede editar una vez creado:
ip sla 1
icmp-echo [destination ip] source [ip|interface]
threshold [ms]
timeout [ms]
frecuency [seg]

y le indicamos cuando empezar y terminar:
ip sla start-time now life forever

verificación:
show ip sla stat

en la liga de referencia hay muchos más ejemplos ya que esta es una característica muy completa.

Netflow

Netflow nos permite conocer el tipo de tráfico que cruza nuestro router, se compone de 4 elementos
records, netflow monitors, netflow exporters y netflow samplers.
Los records son campos que podemos definir, o algunos predefinidos, como las direcciones IP, que nos interesa revisar.
los netflow monitors se aplican a la interface donde pasará el tráfico e incluyen los records que ya configuramos, un cahce y a veces un flow exporter.
los netflow exporters son las entidades que pasan la información de netflow a la aplicación de monitoreo para que podamos analizarla.
los flow samplers sirven para reducir la carga d elos dispositvos configurados con netflow, puede hacerse una muestra con un radio definido, es decir, muestrear desde uno de cada dos paquetes hasta 1:32768 paquetes.
un ejemplo de configuración básica:

flow exporter mi_exporter
 destination 10.0.0.1
 dscp 8
 transport udp 1333
!
flow monitor mi_monitor
 description monitor para el trafico ipv4
 record netflow ipv4 original-input
 cache timeout inactive 600
 cache timeout active 180
 cache entries 5000
 statistics packet protocol
!
interface FastEthernet0/0
 ip address 10.0.0.3 255.255.255.0
 ip flow monitor mi_monitor input

Cisco IOS Embedded Event Manager

R2(config)# event manager applet CLI-cp-run-st
R2(config-applet)# event cli pattern "wr" sync yes
R2(config-applet)# action 1.0 syslog msg "$_cli_msg Command Executed"
R2(config-applet)# set 2.0 _exit_status 1
R2(config-applet)# end
R2# wr

guía de configuración

Remote Monitoring

El remote monitoring es una extensión de SNMP para notificaciones basadas en objetos de SNMP, se divide en objetos y eventos principalmente y nos permite conocer por ejemplo, cuando el CPU alcanza un umbral alto, o cuando disminuye y se normaliza, cuando una interface se apaga, cuando cambia la tabla de ruteo, etc etc.
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2940/software/release/12-1_19_ea1/configuration/guide/2940scg_1/swrmon.html

FTP

Podemos utilizar le cliente de ftp del router con simplemente indicar que queremos copiar algo y el mismo dispositivo nos pedirá los parámetros de conexión:
copy startup-config ftp
para habilitar el router como servidor ftp:

ip ftp passive

TFTP

similar al FTP:

tftp-server

Secure Copy Protocol

pasos de configuración:
1.    enable 
2.    configure terminal 
3.    aaa new-model 
4.    aaa authentication login {default | list-name} method1 [ method2... ] 
5.    aaa authorization {network | exec | commands level | reverse-access | configuration} {default | list-name} [method1 [ method2... ]] 
6.    username name [privilege level] password encryption-type encrypted-password 
7.    ip scp server enable 
8.    exit 
9.    show running-config 
10.    debug ip scp 

HTTP y HTTPS

Para habilitar el acceso al router utilizando http:
ip http server
ip http port
ip http access-class
ip http client username
ip http client password
ip http authentication [aaa | local | enable | tacacs]

para usar https:
ip http secure-server

verificación:
sh ip http server secure status

Telnet

username usuario password contrasena
line vty 0 4
login local
exec-timeout 0 0

verificación: telnet 10.0.0.1 

SSH

Se requiere la configuración de Telnet y además:

ip ssh ver 2
hostname [nombre]
ip domain-name ipref.info
ip ssh time-out 60
ip ssh authentication-retries 2
crypto key generate rsa 1024
line vty 0 4 
transport input ssh

verificación: ssh -l usuario 10.0.0.1

No hay comentarios. :

Publicar un comentario