OSPF en Quagga
- Introducción
- Configuración y monitorización de los procesos de Quagga
- Ficheros de configuración
- Iniciar Quagga
- Monitorización de la configuración
Quagga
Quagga (www.quagga.net) es un software que gestiona la tabla de encaminamiento de una máquina Linux según el funcionamiento de varios protocolos de encaminamiento de la arquitectura TCP/IP.
La arquitectura de Quagga está formada por un conjunto de procesos:
Proceso
zebra
: actualiza la tabla de encaminamiento e intercambia rutas según diferentes protocolos de encaminamientoProceso de cada protocolo de encaminamiento:
ripd
,opsfd
,bgpd
Utilizaremos Quagga para probar los protocolos: OSPFv2 y BGP-4.
Configuración y monitorización de los procesos de Quagga
Configuración a través de los ficheros:
Monitorización a través de:
capturas de tráfico, utilizando
tcpdump
con la opción-s 0
que permite capturar los paquetes completos.Shell VTY (Virtual Terminal Interface) :
vtysh
(págs. [vtysh-begin]–[vtysh-end]) La Shell VTY se comunica con cada uno de los procesos quagga de la máquina y permite configurar los protocolos de encaminamiento y monitorizar su comportamiento.
Ficheros de configuración
daemons
# Entries are in the format: <daemon>=(yes|no|priority)
# ...
# ...
# /usr/doc/quagga/README.Debian for details.
# Daemons are: bgpd quagga ospfd ospf6d ripd ripngd isisd
zebra=yes
bgpd=no
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
isisd=no
Las líneas que comienzan por #
son comentarios.
ospfd.conf
La configuración del fichero ospf.conf
en el router r1
:
!
! OSPFd sample configuration file
!
hostname ospfd
password zebra
router ospf
router-id 12.0.0.1
network 11.0.0.0/24 area 0.0.0.0
network 12.0.0.0/24 area 0.0.0.0
Asignamos como ID del router la mayor de sus IPs por las que se activará OSPF:
router-id 12.0.0.1
Se activa OSPF en las interfaces conectadas a estas redes, pertenecientes al área 0: a través de eth0 y eth1 se anunciarán las rutas utilizando OSPF. Hay que especificar a qué área pertenece cada interfaz del router por la que se activa OSPF.
network 11.0.0.0/24 area 0.0.0.0
network 12.0.0.0/24 area 0.0.0.0
Las líneas que comienzan por !
son comentarios.
ospfd.conf
: interfaces pasivas
La configuración del fichero ospf.conf
en el router r1
con una interfaz pasiva:
! -*- ospf -*-
!
! OSPFd sample configuration file
!
hostname ospfd
password zebra
router ospf
router-id 13.0.0.1
passive-interface eth2
network 11.0.0.0/24 area 0.0.0.0
network 12.0.0.0/24 area 0.0.0.0
network 13.0.0.0/24 area 0.0.0.0
La interfaz eth2
es pasiva, no se envían mensajes OSPF a través de ella.
Iniciar Quagga
Al iniciar un router en NetGUI normalmente el software de quagga no estará arrancado. Para realizar una configuración:
Se editan los ficheros de configuración (págs [conf-begin]–[conf-end]).
Se arranca quagga:
/etc/init.d/quagga start
Se realizar la monitorización.
Si es necesario modificar la configuración, se interrumpe la ejecución de quagga (
/etc/init.d/quagga stop
), se modifican los ficheros, y se vuelve a arrancar quagga (/etc/init.d/quagga start
)
En algunos escenarios puede que algunos routers estén preconfigurados para que arranquen con quagga ya lanzado.
Monitorización de la configuración: vtysh
r1:~# vtysh
Copyright 1996-2005 Kunihiro Ishiguro, et al.
r1# ?
clear Reset functions
configure Configuration from vty interface
copy Copy from one file to another
debug Debugging functions (see also 'undebug')
disable Turn off privileged mode command
end End current mode and change to enable mode
exit Exit current mde an down to previous mode
list Print command list
no Negate a command or set its defaults
ping Send echo messages
quit Exit current mode and down to previous mode
show Show running system information
ssh Open an ssh connection
start-shell Start UNIX shell
telnet Open a telnet connection
terminal Set terminal line parameters
traceroute Trace route to destination
undebug Disable debugging functions (see also 'debug')
write Write running configuration to memory, network, or terminal
r1#
Tabla de encaminamiento OSPF
Tabla de encaminamiento OSPF si sólo hay 1 área
- El comando
show ip ospf route
muestra la información sobre la tabla de encaminamiento OSPF del router (el ejemplo muestra la configuración del routerr1
de la figura):
r1# show ip ospf route
========== OSPF network routing table =========
N 11.0.0.0/24 [10] area: 0.0.0.0
directly attached to eth0
N 12.0.0.0/24 [10] area: 0.0.0.0
directly attached to eth1
N 13.0.0.0/24 [20] area: 0.0.0.0
via 12.0.0.2, eth1
N 14.0.0.0/24 [30] area: 0.0.0.0
via 12.0.0.2, eth1
========== OSPF router routing table ==========
========== OSPF external routing table ========
Tabla de encaminamiento OSPF si hay varias áreas
- El comando
show ip ospf route
muestra información adicional:
r1# show ip ospf route
============ OSPF network routing table ============
N 15.0.0.0/24 [10] area: 0.0.0.1
directly attached to eth0
N 16.0.0.0/24 [10] area: 0.0.0.1
directly attached to eth2
N 17.0.0.0/24 [20] area: 0.0.0.1
via 16.0.0.5, eth2
N IA 18.0.0.0/24 [30] area: 0.0.0.1
via 16.0.0.5, eth2
N IA 19.0.0.0/24 [40] area: 0.0.0.1
via 16.0.0.5, eth2
N IA 20.0.0.0/24 [40] area: 0.0.0.1
via 16.0.0.5, eth2
============ OSPF router routing table =============
R 18.0.0.4 [20] area: 0.0.0.1, ABR
via 16.0.0.5, eth2
============ OSPF external routing table ===========
- ABR: router frontera de área
- IA: rutas inter-área (de otras áreas)
- El campo área indica a través de que área ha aprendido un router dicha ruta.
- Las rutas precedidas por N son rutas hacia una red.
- Las rutas precedidas por R son rutas hacia un router.
Información de los vecinos OSPF
- El comando
show ip ospf neighbor
muestra la información sobre los vecinos que conoce el router (el ejemplo muestra el resultado del comando en el routerr2
de la figura):
r2# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
12.0.0.1 1 Full/Backup 00:00:30 12.0.0.1 eth0:12.0.0.2
14.0.0.3 1 Full/DR 00:00:40 13.0.0.3 eth1:13.0.0.2
Router Link State DB
El comando
show ip ospf database router
muestra la información sobre la base de datos de Router Link States que conoce el router (el ejemplo muestra el resultado del comando en el routerr1
de la figura):
r1# show ip ospf database router
OSPF Router with ID (12.0.0.1)
Router Link States (Area 0.0.0.0)
LS age: 1112
Options: 2
Flags: 0x0
LS Type: router-LSA
Link State ID: 12.0.0.1
Advertising Router: 12.0.0.1
LS Seq Number: 80000004
Checksum: 0x549d
Length: 48
Number of Links: 2
Link connected to: Stub Network
(Link ID) Net: 11.0.0.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 12.0.0.2
(Link Data) Router Interface address: 12.0.0.1
Number of TOS metrics: 0
TOS 0 Metric: 10
LS age: 1107
Options: 2
Flags: 0x0
LS Type: router-LSA
Link State ID: 13.0.0.2
Advertising Router: 13.0.0.2
LS Seq Number: 80000004
Checksum: 0x2ab0
Length: 48
Number of Links: 2
Link connected to: a Transit Network
(Link ID) Designated Router address: 12.0.0.2
(Link Data) Router Interface address: 12.0.0.2
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 13.0.0.3
(Link Data) Router Interface address: 13.0.0.2
Number of TOS metrics: 0
TOS 0 Metric: 10
LS age: 1107
Options: 2
Flags: 0x0
LS Type: router-LSA
Link State ID: 14.0.0.3
Advertising Router: 14.0.0.3
LS Seq Number: 80000003
Checksum: 0xd210
Length: 48
Number of Links: 2
Link connected to: a Transit Network
(Link ID) Designated Router address: 13.0.0.3
(Link Data) Router Interface address: 13.0.0.3
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: Stub Network
(Link ID) Net: 14.0.0.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 10
Network Link State DB
El comando
show ip ospf database network
muestra la información sobre la base de datos de Network Link States que conoce el router (el ejemplo muestra el resultado del comando en el routerr1
de la figura):
r1# show ip ospf database network
OSPF Router with ID (12.0.0.1)
Net Link States (Area 0.0.0.0)
LS age: 112
Options: 2
LS Type: network-LSA
Link State ID: 12.0.0.2 (address of Designated Router)
Advertising Router: 13.0.0.2
LS Seq Number: 80000002
Checksum: 0x5bc8
Length: 32
Network Mask: /24
Attached Router: 12.0.0.1
Attached Router: 13.0.0.2
LS age: 105
Options: 2
LS Type: network-LSA}
Link State ID: 13.0.0.3 (address of Designated Router)
Advertising Router: 14.0.0.3
LS Seq Number: 80000002
Checksum: 0x5fbc
Length: 32
Network Mask: /24
Attached Router: 13.0.0.2
Attached Router: 14.0.0.3
Summary Link State DB
- El comando
show ip ospf database summary
muestra la información sobre la base de datos de Summary Link States que conoce el router:
r1# show ip ospf database summary
OSPF Router with ID (16.0.0.1)
Summary Link States (Area 0.0.0.1)
LS age: 592
Options: 2
LS Type: summary-LSA
Link State ID: 18.0.0.0 (summary Network Number)
Advertising Router: 18.0.0.4
LS Seq Number: 80000006
Checksum: 0x0c07
Length: 28
Network Mask: /24
TOS: 0 Metric: 10
LS age: 580
Options: 2
LS Type: summary-LSA
Link State ID: 19.0.0.0 (summary Network Number)
Advertising Router: 18.0.0.4
LS Seq Number: 80000005
Checksum: 0x63a4
Length: 28
Network Mask: /24
TOS: 0 Metric: 20
LS age: 588
Options: 2
LS Type: summary-LSA
Link State ID: 20.0.0.0 (summary Network Number)
Advertising Router: 18.0.0.4
LS Seq Number: 80000006
Checksum: 0x56b0
Length: 28
Network Mask: /24
TOS: 0 Metric: 20
Resumen de las DBs si sólo hay 1 área
El comando
show ip ospf database
muestra un resumen de la información sobre las bases de datos del router (el ejemplo muestra el resultado del comando en el routerr1
de la figura):r1# show ip ospf database OSPF Router with ID (12.0.0.1) Router Link States (Area 0.0.0.0) Link ID ADV Router Age Seq# CkSum Link count 12.0.0.1 12.0.0.1 579 0x80000005 0x529e 2 13.0.0.2 13.0.0.2 574 0x80000005 0x28b1 2 14.0.0.3 14.0.0.3 574 0x80000004 0xd011 2 Net Link States (Area 0.0.0.0) Link ID ADV Router Age Seq# CkSum 12.0.0.2 13.0.0.2 586 0x80000002 0x5bc8 13.0.0.3 14.0.0.3 579 0x80000002 0x5fbc
Resumen de las DBs si hay varias áreas
- El comando
show ip ospf database
también muestra la información de los Summary Link States:
r1# show ip ospf database
OSPF Router with ID (12.0.0.1)
Router Link States (Area 0.0.0.1)
Link ID ADV Router Age Seq# CkSum Link count
12.0.0.1 12.0.0.1 579 0x80000005 0x529e 2
13.0.0.2 13.0.0.2 574 0x80000005 0x28b1 2
14.0.0.3 14.0.0.3 574 0x80000004 0xd011 2
Net Link States (Area 0.0.0.1)
Link ID ADV Router Age Seq# CkSum
12.0.0.2 13.0.0.2 586 0x80000002 0x5bc8
13.0.0.3 14.0.0.3 579 0x80000002 0x5fbc
Summary Link States (Area 0.0.0.1)
Link ID ADV Router Age Seq# CkSum Route
18.0.0.0 18.0.0.4 592 0x80000006 0x0c07 18.0.0.0/24
19.0.0.0 18.0.0.4 580 0x80000005 0x61a5 19.0.0.0/24
20.0.0.0 18.0.0.4 588 0x80000006 0x56b0 20.0.0.0/24