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.