gated

Anuncio
Universidad Simón Bolı́var
Diseño y Administración de Redes
Septiembre - Diciembre 1.998
gated (Protocolos Interiores)
Dany Luis Fariña Andueza
gated
Caracterı́sticas principales
• Permite correr más de un protocolo de
enrutamiento.
• Facilita la modificación dinámica de la
información externa de alcanzabilidad
• Se pueden implementar polı́ticas de
enrutamiento para decidir cuáles rutas
aceptar y cuáles anunciar.
• Todos los protocolos se configuran desde un
mismo archivo (/etc/gated.conf).
Ejemplo de configuración (I)
Ejemplo de configuración (I)
Máquina macadamia
rip yes {
nobroadcast ;
interface 172.16.9.23
version 2
multicast
authentication simple "REAL^stuff" ;
};
Ejemplo de configuración (I)
Enrutador cashew
interfaces{
interface 172.16.9.1 passive;
};
routerid 172.16.9.1 ;
rip yes {
broadcast;
defaultmetric 5;
interface 172.16.9.23
version 2
multicast
authentication simple "REAL^stuff" ;
};
ospf yes{
backbone{
authtype simple;
interface 172.16.1.9 {
priority 5;
authkey "It’sREAL";
};
};
};
Ejemplo de configuración (II)
Enrutador brazil
autonomoussystem 249;
routerid 172.16.1.1;
rip no;
bgp yes{
preference 50;
group type external peeras 164{
peer 10.6.0.103;
peer 10.20.0.72;
};
};
ospf yes{
backbone{
authtype simple;
interface 172.16.1.1{
priority 10;
authkey "It’sREAL";
};
};
};
Ejemplo de configuración (II)
Enrutador brazil
export proto bgp as 164{
proto direct;
proto ospf;
};
export proto ospfase type 2{
proto bgp as 164{
all;
};
};
Opciones de gated (I)
gated [-c] [-C] [-n] [-N] [-t trace_options]
[-f config_file] [trace_file]
-c
Revisa la sintaxis del archivo de configuración.
Escribe la salida a /usr/tmp/gated dump.
-C
Ídem. Devuelve un estado de salida (1: error, 0:
en caso contrario).
-n
Impide que se actualice la tabla de enrutamiento.
-N
Impide que gated se ejecute como un demonio.
-t trace options
Enciende el modo de trace (trazas).
-f config file
Utilizar el archivo de configuración config file
(Por defecto /etc/gated.conf).
trace file
Descargar las trazas en el archivo trace file.
Procesamiento de señales
sighup
Releer el archivo de configuración sin interrumpir
el servicio.
sigint
Guardar el estado de gated en
/usr/tmp/gated dump.
sigterm
Termina gated “amistosamente”.
sigkill
Termina gated forzosamente y genera un core.
sigusr1
Enciende o apaga el tracing.
sigusr2
Chequear cambios en el estado de las interfaces
de red.
El lenguaje de configuración de gated
(I)
Lenguaje estructurado, compuesto por nueve tipos de
especificaciones:
Directive
Inclusión de archivos en gated.conf.
Trace
Control de las trazas de gated.
Options
Definición de procesamientos especiales de gated.
Interface
Configuración de las interfaces de red.
Definition
Aspectos de configuración relacionados con los
protocolos.
Protocol
Habilitan o deshabilitan los protocolos. También
definen sus opciones.
El lenguaje de configuración de gated
(II)
- Especificaciones (continuación):
Static
Definición de rutas estáticas usadas por gated.
Control
Definición de polı́tica de enrutamiento.
Aggregate
Usado en redes nacionales y regionales para
reducir el número de rutas anunciadas.
Las especificaciones directive y trace pueden aparecer
en cualquier lugar dentro del archivo gated.conf. El
resto de las especificaciones deben seguir el orden
antes descrito.
Directive statements
Inclusión de archivos en gated.conf.
%include filename
Incluir el archivo “filename” en el archivo de
configuración.
%directory pathname
Directorio base para los archivos incluidos.
Trace statements (I)
Control de las trazas de gated.
traceoptions [trace_file] [replace] [size bytes[k|m]
[files n]] [nostamp] trace_options
[except trace_options]
trace file
Archivo de salida para las trazas.
replace
Reemplazar el archivo de trazas actual, en lugar
de agregar la información.
Trace statements (II)
[size t[k | m] [files n]]
Limita el tamaño del archivo de trazas a t bytes.
n define el número máximo de archivos de trazas
(trace file.1, trace file.2, ..., trace file.n).
nostamp
No incluir timestamp en las lı́neas de las trazas.
trace options
Define los eventos capturados por gated:
none: Ningún evento.
all: Todos los eventos.
general: Eventos de normal y route
state: Transiciones de estado en los protocolos.
(p.e.: OSPF y BGP).
normal: Interacciones normales de los
protocolos.
policy: Aplicación de polı́ticas de enrutamiento.
Trace statements (III)
trace options (continuación)
task: Procesamiento a nivel del sistema.
timer: Eventos de temporización de protocolos
o máquinas vecinas.
route: Cambios en las tablas de enrutamiento.
detail: Contenido de los paquetes que pasan
por el enrutador.
send: Limita detail a los paquetes enviados.
recv Limita detail a los paquetes recibidos.
except trace options
Deshabilita algunas opciones especı́ficas de
tracing.
Options statements (I)
Definición de procesamientos especiales de gated.
options [nosend] [noresolv]
[gendefault
[preference preferencia]
[gateway gateway]]
[syslog [upto] log_leve]
[mark time]
;
nosend
No enviar ningún paquete.
noresolv
No usar el DNS para resolver nombres y
direcciones.
syslog [upto] log level
Usar setlogmask para controlar el logging de gated
mark time
Envı́a un mensaje de tiempo periódico al archivo
de trazas.
Interface statements (I)
• Configuración de las interfaces de red.
• Las interfaces pueden ser identificadas por
nombre (le0 se refiere a la interfaz ”le0”, le se
refiere a le0, le1, ...), por nombre de máquina,
dirección IP o por la palabra clave all.
• gated soporta cuatro tipos de interfaz: loopback,
broadcast, point-to-point y non-broadcast
multi-access.
• gated ignora cualquier interfaz que tenga una
dirección local, remota o de broadcast inválida.
También ignora interfaces PPP con la misma
dirección remota y local.
Interface statements (II)
interfaces {
options
[strictinterfaces] [scaninterval time];
interface interface_list
[preference preferencia]
[down_preference preferencia]
[passive] [simplex] [reject] [blackhole];
define address
[broadcast direccion] | [pointtopoint address]
[netmask mask] [multicast];};
Interface statements (III)
strictinterfaces
Genera un error cuando en la configuración se
referencia una interfaz que no fue hallada al
comenzar gated.
scaninterval time
Revisar cambios en la lista de interfaces cada
time segundos.
preference preferencia
Define la prefencia de las interfaces. 0: mayor
preferencia.
down preference preferencia
Define la prefencia de las interfaces que no
funcionan.
Interface statements (IV)
passive
Evita que gated degrade la preferencia de una
interfaz cuando ésta no funciona correctamente.
broadcast dirección
Define la dirección de broadcast.
pointtopoint dirección
Define la dirección local de una interfaz PPP. En
este caso la especificación define indica la
dirección de la máquina remota.
netmask mask
Define la máscara de subred.
multicast
Indica que la interfaz soporta multicasting.
Definition statements (I)
Define aspectos de configuración relacionados con más
de un protocolo.
autonomoussytem asn;
routerid direccion;
martians{
host address [allow];
address [mask mascara | masklen numero]
[allow];
default [allow];
};
autonomoussystem asn
Define el sistema autónomo usado por BGP y
EGP.
routerid dirección
Define el enrutador usado por BGP y OSPF.
Definition statements (II)
martians{
host address [allow];
address [mask mascara | masklen numero]
[allow];
default [allow];
};
• Define las direcciones cuya información de
enrutamiento será ignorada.
• Una dirección puede ser especificada como
una dirección de máquina usando la palabra
clave host antes de la dirección, en caso
contrario la dirección es interpretada como
una dirección de red.
• La palabra allow elimina la dirección de la
lista de marcianos.
• default allow elimina todas las entradas
estándar de la lista de marcianos.
Protocol statements (I)
Permite activar o desactivar el soporte de los
protocolos, y definir sus opciones.
Los protocolos soportados son:
Interiores
• hello
• isis
• rip
• ospf
Exteriores
• bgp
• egp
otros
• snmp
• redirect
• icmp
• routerdiscovery
• kernel
RIP statement (I)
rip yes | no | on | off [{
broadcast;
nobroadcast;
nocheckzero;
preference preferencia;
defaultmetric metrica;
query authentication [none | [simple | md5 clave]];
interface lista_interfaces
[noripin] | [ripin]
[noripout] | [ripout]
[metricin metrica]
[metricout metrica]
[version 1 | 2 [multicast | broadcast]]
[[secondary] authentication
[none | [simple | md5 clave]];
trustedgateways lista_gateways;
sourcegateways lista_gateways;
traceoptions opciones_trazas;
}];
RIP statement (II)
Esta especificación habilita o deshabilita el soporte a
RIP.
broadcast
Obliga a gated a hacer broadcast de los paquetes
de actualización aún si el sistema posee una sola
interfaz.
nobradcast
Obliga a gated a no hacer broadcast de los
paquetes de actualización aunque el sistema
tenga más de una interfaz.
preference preference
Determina la preferencia para las rutas obtenidas
por RIP.
defaultmetric metric
Define la métrica usada para las rutas anunciadas
por RIP.
queryauthentication [none / [simple / md5
clave]]
Define el tipo de autentificación de los paquetes
de petición de actualización.
RIP statement (III)
interface interface list
Identifica las interfaces de ejecución de RIP.
Parámetros:
ripin / noripin : Escuchar/Ignorar paq. RIP
recibidos.
ripout / noripout : Enviar/No enviar paq. RIP.
metricin metric : Métrica usada para los paquetes
RIP recibidos por la interfaz.
metricout metricout : Especifica la métrica sumada
a los paquetes enviados por la interfaz.
version 1 / 2 [multicast / broadcast] : Versión
de RIP usada en esta interfaz.
trustedgateways gateway list : Define los enrutadores de los cuales RIP acepta actualizaciones.
traceoptions trace options : Opciones de trazas de
eventos: packets, request, response, other.
Especificación OSPF (I)
ospf yes | no | on | off [{
defaults {
preference preferencia;
cost costo;
tas [as] tag;
type 1 | 2;
};
exportlimit rutas;
exportinterval tiempo;
traceoptiones opciones_trazas;
monitorauthkey clave;
Especificación OSPF (II)
backbone | area numero {
authtype 0 | 1 | none | simple;
sub [cost costo];
networks {
direccion [mask mascara
/masklen numero]
[restrict];
host direccion [restrict];
};
stubhosts {
direccion cost costo;
};
interface lista_interfaces
[nonbroadcast]
[cost costo] {
pollinterval tiempo;
routers {
direccion [eligible];
};
parametros_interfaz
};
virtuallink neighborid
id_router
transitarea area {
parametros_interfaz
};
};
}];
Especificación OSPF (III)
defaults
Define las caracterı́sticas por defecto cuando se
importan rutas de sistemas autónomos externos y
éstas son anunciadas. Los anuncios de estado de
enlace (LSA) usados para estas rutas son
llamados autonomous system externals (ASE).
rutas.
preference preferencia : Define la preferencia
de las rutas ASE
cost costo : Define el costo indicado al anunciar
una ruta no-OSPF en un ASE.
type 1 / 2 : Define el tipo de ASE usado. 1 :
Cuando las rutas obtenidas de un protocolo
externo provee valores métricos comparables a
la métrica de OSPF. 2 : en caso contrario.
exportlimit rutas
Define el máximo número de ASE’s que pueden
ser dispersados a la vez.
Especificación OSPF (IV)
exportinterval tiempo
Define cuán frecuentemente se dispersan los
ASE’s.
traceoptions trace options
Define los eventos de los cuales se hará traza.
lsabuild : Construcción de LSA’s.
spf : Cálculos de SPF (Shortest Path First).
hello : Paquetes hello de OSPF.
dd : Paquetes de descripción de base de datos
de OSPF.
request : Paquetes de petición de estado de
enlace (LS).
lsu : Paquetes de actualización de LS.
ack : Paquetes Ack de LS.
Especificación OSPF (V)
backbone / area number
Define el área OSPF al cual pertenece este
enrutador. Parámetros de configuración:
authtype 0 / 1 / none / simple : Especifica
el esquema de autentificación.
stub [cost costo] : Especifica si éste es un área
terminal (stub area). Si se especifica, el costo
es usado al anunciar una ruta por defecto en
el área.
stubhosts : Lista las máquinas conectadas
directamente, y sus costos. Estas deben ser
anunciadas como alcanzables desde este
enrutador.
Especificación OSPF (VI)
backbone / area (continuación)
interface interface list [nobroadcast] [costo
costo]
Define las interfaces usadas por OSPF. Si se
especifica nobroadcast la interfaz se supone
conectada a una red NBMA. En caso
contrario, la interfaz está conectada a una red
broadcast o PPP. También se puede especificar
el costo.
Las interfaces NBMA poseen dos opciones
especı́ficas:
pollinterval time : Tiempo entre paquetes
hello.
routers : Lista todos los vecinos por
dirección.
Especificación OSPF (VII)
backbone / area (continuación)
interface (continuación)
Las interfaces PPP tienen un parámetro
adicional:
nomulticast : Obliga a enviar paquetes
unicast a través de esta interfaz.
enable / disable : Habilita o deshabilita la
interfaz.
retransmitinterval time : Define el
número de segundos entre anuncios del
estado de los enlaces.
transitdelay time : Tiempo aproximado
que toma retrasmitir una actualización de
estado de enlaces.
priority priority : Define la prioridad de
este enrutador para ser elegido como
enrutador designado.
La Especificación isis
isis yes | no | dual | iso {
traceoptions opciones_trazas_isis;
systemid string_hexadecimal_6_digitos;
area string_hexadecimal;
set parametro_isis valor ; ...
circuit string
metric level 1 | 2 metrica
priority level 1 | 2 prioridad;
};
La Especificación hello
hello yes | no | on | off [{
broadcast;
nobroadcast;
preference preferencia;
defaultmetric metrica;
interface lista_interfaces
[nohelloin] | [helloin]
[nohelloout] | [helloout]
[metricin metrica]
[metricout metrica];
trustedgateways lista_gateways;
sourcegateways lista_gateways;
traceoptions opciones_trazas;
}];
Descargar