Cisco¶
Se usa puerto de consola serial a 9600 baudios
Para ayuda ir poniendo
?
.Para ir volviendo atrás poner
exit
.
Básico¶
Pasar al modo privilegiado:
router> enable
Mostrar cosas:
router# show ip interface brief
router# show ipv6 interface brief
router# show ip interface f0/0
router# show ipv6 interface f0/0
router# show ip route
router# show running-config
Configurar IP:
router# configure terminal
router(config)# interface FastEthernet0/0
router(config-if)# ip address 192.168.1.1 255.255.255.0
Configurar IP secundaria:
router(config-if)# ip address 192.168.2.1 255.255.255.0 secondary
Habilitar interfaz:
router(config-if)# no shutdown
router(config-if)# exit
Configurar rutas:
router(config)# ip route 0.0.0.0 0.0.0.0 {IP gateway}
router(config)# ip route {IP destino} {mascara destino} {IP gateway}
router(config)# ipv6 route ::/0 {IP gateway}
router(config)# ipv6 route {IP destino}/{mascara destino} {IP gateway}
Crear loopback y dar IP:
(config)# interface loopback 0
(config-if)# ip address 7.0.0.4 255.0.0.0
Para guardar la configuracion de inicio:
router# copy running-config startup-config
Para borrar la configuración de inicio encontré tres formas, en GNS3 no anda ninguna:
router# erase startup-config
router# erase nvram:
router# write erase
Para reiniciar en GNS3 usar el botón de «Stop», en un dispositivo físico:
router# reload
Para reiniciar la configuración en GNS3, agregar un nuevo router, click derecho, exportar su configuración, hacer click derecho en el router a reiniciar, imporar configuración.
NAT¶
Configurar cual es la interna y cual externa:
router# configure terminal
router(config)# interface FastEthernet0/0
router(config-if)# ip nat inside
router(config-if)# exit
router(config)# interface FastEthernet0/1
router(config-if)# ip nat outside
router(config-if)# exit
Configurar lista de acceso con un numero mayor a 100 protocolo IP, para cualquier origen y cualquier destino:
router(config)# access-list 101 permit ip any any
Configurar pool de rango de IPs a usar para nateo (las de afuera, normalmente una sola):
router(config)# ip nat pool {nombre} {IP inicial} {IP final} netmask {mascara}
Terminar:
router(config)# ip nat inside source list 101 pool {nombre pool} overload
Mostrar info:
router(config)# exit
router# show ip nat translations
Servidor DHCP¶
Primero configurar IPs y rutas.
Dar de alta dhcp, con «no» se da de baja:
router# configure terminal
router(config)# service dhcp
Crear pool de IPs, excluir IPs de la red a no asignar y dar red a utilizar:
router(config)# ip dhcp excluded-address {IP minima} {IP maxima}
router(config)# ip dhcp pool {nombre}
Configurar parametros, la red es el rango de IPs a dar:
router(dhcp-config)# network {Numero red} {mascara}
router(dhcp-config)# domain-name {IP DNS}
router(dhcp-config)# default-router {IP gateway}
router(dhcp-config)# lease {dias}
Configurar tiempo de comprobacion de si la IP esta asignada:
router(dhcp-config)# exit
router(config)# ip dhcp timeout {milisegundos}
Comprobacion de configuracion:
router(config)# exit
router# exit
router# show ip dhcp binding
router# show ip dhcp conflict
router# show ip dhcp server statistics
Mostrar debug:
router# debug ip dhcp server events|packet|linkage
Enlace serial¶
DCE: (Hembra), Configura velocidad.
DTE: (Macho), Recibe velocidad.
Para ver interfaces seriales en Cisco (muestra si es DCE o DTE):
router# show controllers Serial0/0/0
Para configurar DCE:
router# configure terminal
router(config)# interface serial 0/0/0
router(config-if)# clock rate 125000
router(config-if)# ip address {ip}
Para configurar DTE en Cisco no hay nada especial. Directamente te pones IP.
Servidor PPPoE¶
Configurar salida al exterior:
router# configure terminal
router(config)# interface fastEthernet 0/0
router(config-if)# ip address {IP salida}
router(config-if)# no shutdown
router(config-if)# exit
router(config)# ip route 0.0.0.0 0.0.0.0 {gateway}
PPPoE:
router# configure terminal
router(config)# username {usuario cliente} password {pass cliente}
router(config)# bba-group pppoe global
router(config)# virtual-template 20
Configurar interfaz:
router(config)# interface fastEthernet 0/1
router(config-if)# pppoe enable
Configurar PPPoE:
router(config)# interface virtual-template 20
router(config-if)# mtu 1492
router(config-if)# ppp mtu adaptive
router(config-if)# ip unnumbered fastEthernet 0/1
router(config-if)# peer default ip address pool pppoepool
router(config-if)# ppp authentication {no me acuerdo si era "pap" o "chap"}
router(config-if)# ppp chap hostname {nombre servidor}
router(config-if)# ppp chap password 0 {pass servidor}
router(config-if)# exit
router(config)# ip local pool pppoepool 10.10.10.1 10.10.10.200
Falta hacer NAT para que pueda salir afuera.
VLAN (switch)¶
Mostrar VLANs activas:
switch# show vlan
Agregar VLAN:
switch(config)# vlan 2
switch(config-vlan)# name {nombre_vlan}
switch(config-vlan)# exit
Agregar interfaces a una VLAN, especificando rango:
switch(config)# interface range fastEthernet 0/{x} - {y}
switch(config-if-range)# switchport mode access
switch(config-if-range)# switchport access vlan 2
Agregar trunk, también se puede especificar un rango pero este es ejemplo de la configuración de solo una:
switch(config)# interface fastEthernet 0/{x}
switch(config-if)# encapsulation dot1q
switch(config-if)# switchport mode trunk
switch(config-if)# switchport trunk native vlan 1
switch(config-if)# switchport trunk allowed vlan all
switch(config-if)# switchport trunk allowed vlan add 2
switch(config-if)# switchport trunk allowed vlan remove 3
Por hacer
VLAN Trunking protocol (VTP) es un protocolo propietario de cisco que tiene 3 modos: Server,Client, y Transparent. A mi no me dejaba configurar vlans porque estaba en modo cliente, por lo tanto lo tuve que cambiar el switch a modo server. __SW_P__(config)#vtp mode server «At least one server is required in a VTP domain to propagate VLAN Information within the VTP domain. We can create, add, or delete VLANs of a VTP domain in a Switch which is in VTP servver mode and change VLAN Information in a VTP server» VTP cliente necesita un switch servidor que le informe sobre los cambios o configuraciones de las VLANs y escucha avisos de otros switches. NO podemos crear,modificar, o eliminar VLANs en un switch VTP cliente. VTP transparente no participa en un dominio VTP, pero pueden recibir mensajes protocolares y switchearlos.
VLAN (router)¶
Routear con Cisco en trunk:
router(config)# interface FastEthernet0/0
router(config-if)# sub-interface FastEthernet0/0.2
router(config-if)# encapsulation dot1q 2
router(config-if)# ip address 192.168.1.1 255.255.255.0
router(config-if)# sub-interface FastEthernet0/0.3
router(config-if)# encapsulation dot1q 3
router(config-if)# ip address 192.168.2.1 255.255.255.0
IPv6¶
Habilitar ruteo IPv6:
router(config)# ipv6 unicast-routing
Habilitar dirección link-local bajo una interfaz:
router(config)# interface {interfaz}
router(config-if)# ipv6 enable
Habilitar RA en una interfaz y configurar el intervalo en segundos:
router(config)# interface {interfaz}
router(config-if)# no ipv6 nd suppress-ra
router(config-if)# ipv6 nd ra-interval {intervalo}
Me pasó a veces que RA viene activado en las interfaces por defecto, es posible que si uno no quiere RA, haya que dehabilitarlo manualmente:
router(config)# interface {interfaz}
router(config-if)# ipv6 nd suppress-ra
En routers nuevos puede que los comandos sean:
router(config)# interface {interfaz}
router(config-if)# no ipv6 nd ra suppress
router(config-if)# ipv6 nd ra interval {intervalo}
6to4¶
![../_images/6to4.png](../_images/6to4.png)
Activar ruteo IPv6:
router(config)# ipv6 unicast-routing
Dar IPv4 a la interfaz WAN:
router(config)# interface FastEthernet {if_wan}
router(config-if)# ip address {ipv4_if_wan} {ipv4_mask_if_wan}
router(config-if)# no shutdown
router(config-if)# exit
Crear tunel y ponerle una IPv6 que está en la red 2002:{ipv4}:0000::/64
,
generalmente la ::1
e indicar que sale por la {if_wan}
:
router(config)# interface Tunnel2002
router(config-if)# no ip address
router(config-if)# no ip redirects
router(config-if)# no shutdown
router(config-if)# ipv6 address {ipv6_if_wan}/64
router(config-if)# tunnel source FastEthernet {if_wan}
router(config-if)# tunnel mode ipv6ip 6to4
router(config-if)# exit
Configurar la interfaz con IPv6 que da a la LAN, tiene que estar en una subred,
generalmente también es la ::1
, en tal caso es
2002:{ipv4}:{subred}::1/64
. También habilitar RA:
router(config)# interface FastEthernet {if_lan}
router(config-if)# ipv6 address {ipv6_if_lan}/{ipv6_mask_if_lan}
router(config-if)# no shutdown
router(config-if)# no ipv6 nd suppress-ra
Configurar las rutas, la primera es una ruta IPv4 común para que se llegue a
destino por IPv4. La segunda supongo que indica que todo lo que vaya a una IPv6
2002
debe entrar por el tunel:
router(config)# ip route 0.0.0.0 0.0.0.0 {ipv4_if_gw}
router(config)# ipv6 route 2002::/16 Tunnel2002
También se puede dar un gateway IPv6, no hace falta, sería mejor no ponerlo
porque en el caso en el que hayan varios túneles hacia varias redes IPv6 habría
que separar las rutas en vez de tener una que vaya a ::/0
. El caso más
simple es:
router(config)# ipv6 route ::/0 {ipv6_if_wan_destino}
RIP¶
RIPv2¶
Hay que decirle que version usar.
router(config)#router rip
router(config-router)#version 2
Desactivar la sumarización de redes, por lo tanto al usar el comando network
se publican las subredes que pertenezcan a esa red en lugar de la red completa
como una sola:
router(config-router)#no auto-summary
Agregar redes en donde trabajar. De paso publica esas redes, como no pide máscara se fija en la clase de la red para determinar la máscara, sumarizando las redes:
router(config-router)#network {red}
Pasivar una interfaz:
R6(config-router)#passive-interface {interfaz}
Distribuir más redes, usar metricas menores a 15:
router(config-router)#redistribute static
router(config-router)#redistribute static metric {metrica}
Redistribuir EBGP si es necesario, usar metricas menores a 15:
router(config)# router rip
router(config-route)# redistribute bgp {numero_as} metric {metrica}
Redistribuir IBGP si es necesario, usar metricas menores a 15:
router(config)# router rip
router(config-route)# redistribute bgp {numero_as} metric {metrica}
router(config-route)# exit
router(config)# router bgp {numero_as}
router(config-route)# bgp redistribute-internal
RIPng¶
Primero dar IPv6 estáticas a cada interfaz y borrar las rutas si es que hay.
Después habilitar RIP en las interfaces que uno quiera, asignándole un nombre cualquiera al proceso:
router(config)# interface {interfaz}
router(config-if)# ipv6 rip {nombre_proceso} enable
router(config-if)# exit
router(config)# ipv6 router rip {nombre_proceso}
router(config-if)# redistribute connected
OSPF¶
OSPFv2¶
Crear loopback:
router(config)# interface loopback 0
router(config-if)# ip address {ip_loopback} {mascara}
Crear un proceso OSPF, por ejemplo poner el número 100
:
router(config)# router ospf {id_proceso}
Agregar redes en donde trabajar. De paso publica esas redes, con la máscara
dada. La mascara debe ser invertida, por ejemplo 255.255.255.240
se vuelve
0.0.0.15
, si se suman queda 255 en cada octeto:
router(config-route)# network {red} {mascara_invertida} area 1
Mascara invertida: 0.255.255.255 publica la 10.X.X.X.
Pasivar interfaces:
router(config-route)# passive-interface {interfaz}
router(config-route)# passive-interface loopback0
Redistribuir EBGP si es necesario:
router(config)# router ospf {proceso}
router(config-route)# redistribute bgp {numero_as} subnets
Redistribuir IBGP si es necesario:
router(config)# router ospf {proceso}
router(config-route)# redistribute bgp {numero_as} subnets
router(config-route)# exit
router(config)# router bgp {numero_as}
router(config-route)# bgp redistribute-internal
OSPFv3¶
Primero se debe asignar una IPv4 al loopback, esta IP es usada por OSPF para identificar a este router:
router(config)# interface loopback 0
router(config-if)# ip address {ipv4_loopback} {mascara}
router(config-if)# exit
Después se debe entrar a una interfaz de WAN y activar OSPF, se le debe asignar
un ID de proceso cualquiera mientras que sea un número, yo uso 1
:
router(config)# interface {interfaz}
router(config-if)# ipv6 ospf {id_proceso} area 0
Para indicar qué rutas se deben publicar:
router(config-if)# ipv6 router ospf {id_proceso}
router(config-rtr)# redistribute static
router(config-rtr)# redistribute connected
router(config-rtr)# exit
Si se quieren agregar más interfaces WAN se puede compartir el ID del proceso, no es necesario indicar las rutas a distribuir de nuevo:
router(config)# interface FastEthernet {interfaz}
router(config-if)# ipv6 ospf {id_proceso} area 0
BGP¶
Solamente hay un proceso, hay que darle el numero de AS:
router(config)# router bgp {numero_as}
Dar redes a anunciar, a diferencia de otros protocolos esto no indica las interfaces que corren el protocolo, solamente las redes a anunciar:
router(config-router)# network {red} mask {mascara}
Agregar vecino peer:
router(config-router)# neighbor {ip_destino} remote-as {as_destino}
Agregar peer estableciendo dirección de loopback de destino por si una de sus interfaces se cae, normalmente se hace en IBGP:
router(config-router)# neighbor {ip_loopback_destino} remote-as {as_destino}
Originar tráfico hacia peer desde mi propio loopback, en caso en que este router tenga varias interfaces de salida hacia el peer. Si se cae una de las interfaces, la comunicación comienza a originarse desde otra interfaz, el destino verá que la IP de origen cambió y rechazará la conexión:
router(config-router)# neighbor {ip_loopback_destino} update-source loopback0
Publicar una ruta sumarizada que engloba a todas las redes dentro del AS, no se
pueden publicar rutas que no están en la tabla de ruteo el null0
asegura que
si llega un paquete y no hay una ruta más específica el paquete se descarta.:
router(config)# ip route {red} {mascara} null0 250
router(config)# router bgp {numero_as}
router(config)# network {red} mask {mascara}
Configurar para que un peer reciba solamente la ruta por defecto, esto se podría en un AS de tránsito para darle servicio a un AS que no es de tránsito:
router(config)# ip route 0.0.0.0 0.0.0.0 null0 250
router(config)# ip prefix-list DEFAULT permit 0.0.0.0/0
router(config)# route-map DEFAULT permit 10
router(config-route-map)# match ip address prefix-list DEFAULT
router(config-route-map)# exit
router(config)# router bgp {numero_as}
router(config-router)# neighbor {ip_destino} route-map DEFAULT out
router(config-router)# neighbor {ip_destino} default-originate
Nota
Supongo que ese último bloque de comandos se puede resumir, el último comando propaga la ruta por defecto a un peer en particular, el problema es que cuando lo probé el peer recibía todas las rutas BGP más la por defecto.
Todos los comandos anteriores lo que hacen es algo así como un filtro de rutas para el peer, al cual se le daría solamente la ruta por defecto. El problema que tuve es que cuando lo probé no propagaba nada, entonces agregué el último comando que propaga la ruta por defecto y quedó como me gustaría.
Ver estado de sesiones BGP:
router# show ip bgp summary
Ver tabla de enrutamiento BGP:
router# show ip bgp
Ver vecinos y tipo y cantidad de mensajes intercambiados:
router# show ip bgp neighbors
MPLS¶
No hacenos la implementación, pero pongo algunos comandos que dan información.
Ver las interfaces sobre las que funciona MPLS-LDP:
show mpls interfaces
Muestra los parámetros que está usando el protocolo en este equipo:
show mpls ldp parameters
Mostrar los vecinos MPLS:
show mpls ldp neighbor
Mostrar la tabla de etiquetas:
show mpls ldp binding
Mostrar la tabla de forwarding:
show mpls forwarding-table
No sé que hace este:
show mpls ip binding