router — format of router component configuration
General syntax rules of Kernun Firewall configuration files are described in configuration(7). This man page describes types, sections and items specific for the router component configuration.
Repeatable sections/items are marked by
the '*
' before section/item name.
Configuration directives have attributes of several value-types. For the basic types description, see configuration(7).
Enumeration is a list of words (names) representing integer values. Some enumerations accept both names and direct integer values; in this case, enumeration description contains values for every name (in parenthesis next to name). For other enumerations, using of names is obligatory.
The following enumerations are used in router configuration directives:
Configuration of router library component consists of following prototypes:
export-import-routes ... ;
router-protocol { ... }
router { ... }
bird4 { ... }
bird6 { ... }
export-import-routes
none
;export-import-routes
filter
filter
;export-import-routes
[all
];Interchange of routes between protocol and engine.
export-import-mode
, optional, default: all)Interchange mode.
filter
(type: str
)Filter rules.
router-protocol
{
import ... ;
export ... ;
scan ... ;
* area name
{ ... }
* raw ... ;
}
Protocol configuration.
import
none
;import
filter
filter
;import
[all
];Import routes from protocol module to routing engine.
export-import-mode
, optional, default: all)Interchange mode.
filter
(type: str
)Filter rules.
export
none
;export
filter
filter
;export
[all
];Export routes from routing engine to protocol module.
export-import-mode
, optional, default: all)Interchange mode.
filter
(type: str
)Filter rules.
scan
[time
time
];Period of scanning protocol route sources.
time
time
(type: uint16
, optional, default: 10)area
name
{
id ... ;
* interface name
{ ... }
stub ... ;
* raw ... ;
}
OSPF area definition.
Backbone area cannot be stub.
id
[number
] [id
];id
dotted
[addr
];Area identification
ospf-area-id-mode
, optional, default: number)id
(type: uint32
, optional, default: 0)addr
(type: str
, optional, default: "")Dotted area ID must comply with IPv4 address format.
interface
name
{
* iface ... ;
cost ... ;
hello ... ;
retransmit ... ;
priority ... ;
wait ... ;
dead ... ;
authentication ... ;
stub ... ;
* raw ... ;
}
Interface parameters definition.
At least one IFACE item required..
iface
any
;iface
[name
] name
;Interface name.
name-selection
, optional, default: name)name
(type: name
of interface
, see interface(5))cost
[metric
];Interface metric.
metric
(type: uint32
, optional, default: 10)hello
[seconds
];Hello interval.
Routers on the same network need to have the same value.
seconds
(type: uint16
, optional, default: 10)retransmit
[seconds
];Retransmition of unacknowledged updates interval.
seconds
(type: uint16
, optional, default: 5)priority
[prty
];Designated router selection priority.
prty
(type: uint16
, optional, default: 1)wait
[seconds
];Startup wait time.
seconds
(type: uint16
, optional, default: 40)dead
[seconds
];Neighbor death timeout.
seconds
(type: uint16
, optional, default: 40)authentication
[none
];authentication
simple
password
;authentication
cryptographic
password
;Authentication mode.
ospf-authentication
, optional, default: none)password
(type: str
)Password can be max. 8 (simple) or 16 (cryptographic) charaters long.
stub
;Stub interface mode.
raw
line
;Raw interface line.
line
(type: str
)[End of section router-protocol.area.interface
description.]
stub
;Stub area mode.
raw
line
;Raw area line.
line
(type: str
)[End of section router-protocol.area
description.]
raw
line
;Raw protocol line.
line
(type: str
)[End of section router-protocol
description.]
router
{
phase ... ;
* tag ... ;
use-id ... ;
direct { ... }
kernel { ... }
device { ... }
static { ... }
ospf { ... }
* raw ... ;
}
Routing daemon configuration.
phase
[number
];Application Startup Phase.
number
(type: uint8
, optional, default: 40)Phase number; the lower one, the earlier start.
tag
value
;Configuration factorization tag.
This feature allows admin to create groups of Kernun applications (specially proxies and servers) according to various aspects (belonging to one customer, applications of particular network traffic etc.).
Each application can have several tag attributes and the KAT tool can run some commands (like 'ps', 'start' atc.) for applications with or without given tag.
value
(type: str
)Tag must contain letters, digits, hyphens and dots, only.
use-id
iface
;Router identification.
iface
(type: name
of interface
, see interface(5))Interface name, its IPv4 address will be used as router ID.
direct
{
* interface ... ;
}
Interfaces under direct control of BIRD.
interface
name
;Interface definition.
name
(type: name
of interface
, see interface(5))[End of section router.direct
description.]
kernel
{
import ... ;
export ... ;
scan ... ;
* raw ... ;
persist ... ;
}
Kernel routing table interaction description.
kernel
section is derived from
router-protocol
section prototype.
For detail description of it, see above.
kernel
section:Section area
is not valid.
persist
enabled
;Keeping BIRD routes at exit.
enabled
(type: yes-no
)[End of section router.kernel
description.]
device
{
import ... ;
scan ... ;
* raw ... ;
}
Network interfaces supervising description.
device
section is derived from
router-protocol
section prototype.
For detail description of it, see above.
device
section:Item export
is not valid.
Section area
is not valid.
static
{
import ... ;
export ... ;
* raw ... ;
}
static
section is derived from
router-protocol
section prototype.
For detail description of it, see above.
static
section:Item scan
is not valid.
Section area
is not valid.
ospf
{
import ... ;
export ... ;
* area name
{ ... }
* raw ... ;
rfc1583compat ... ;
}
ospf
section is derived from
router-protocol
section prototype.
For detail description of it, see above.
ospf
section:Item scan
is not valid.
rfc1583compat
;Routing table calculation according RFC 1583.
[End of section router.ospf
description.]
raw
line
;Raw router line.
line
(type: str
)[End of section router
description.]
bird4
{
phase ... ;
* tag ... ;
use-id ... ;
direct { ... }
kernel { ... }
device { ... }
static { ... }
ospf { ... }
* raw ... ;
}
bird4
section is derived from
router
section prototype.
For detail description of it, see above.
bird6
{
phase ... ;
* tag ... ;
use-id ... ;
direct { ... }
kernel { ... }
device { ... }
static { ... }
ospf { ... }
* raw ... ;
}
bird6
section is derived from
router
section prototype.
For detail description of it, see above.
bird6
section:USE-ID is mandatory in IPv6.
ospf.area.interface
(see above)Item authentication
is not valid.