Statistics
| Branch: | Revision:

iof-bird / bird-2.0.1 / doc / bird.conf.example @ 6b3f1a54

History | View | Annotate | Download (6.18 KB)

1
/*
2
 *	This is an example configuration file
3
 *	(for version 1.x.x, obsolete)
4
 */
5

    
6
# Yes, even shell-like comments work...
7

    
8
# Configure logging
9
#log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
10
#log stderr all;
11
#log "tmp" all;
12

    
13
# Override router ID
14
#router id 198.51.100.1;
15

    
16
# You can define your own symbols...
17
#define xyzzy = (120+10);
18
#define '1a-a1' = (30+40);
19

    
20
# Define a route filter...
21
#filter test_filter {
22
#	if net ~ 10.0.0.0/16 then accept;
23
#	else reject;
24
#}
25

    
26
#filter sink { reject; }
27
#filter okay { accept; }
28

    
29
#include "filters.conf";
30

    
31
# Define another routing table
32
#table testable;
33

    
34
# Turn on global debugging of all protocols
35
#debug protocols all;
36

    
37
# Turn on internal watchdog
38
#watchdog warning 5 s;
39
#watchdog timeout 30 s;
40

    
41
# The direct protocol automatically generates device routes to
42
# all network interfaces. Can exist in as many instances as you wish
43
# if you want to populate multiple routing tables with device routes.
44
#protocol direct {
45
#	interface "-eth*", "*";	# Restrict network interfaces it works with
46
#}
47

    
48
# This pseudo-protocol performs synchronization between BIRD's routing
49
# tables and the kernel. If your kernel supports multiple routing tables
50
# (as Linux 2.2.x does), you can run multiple instances of the kernel
51
# protocol and synchronize different kernel tables with different BIRD tables.
52
protocol kernel {
53
#	learn;			# Learn all alien routes from the kernel
54
	persist;		# Don't remove routes on bird shutdown
55
	scan time 20;		# Scan kernel routing table every 20 seconds
56
#	import none;		# Default is import all
57
	export all;		# Default is export none
58
#	kernel table 5;		# Kernel table to synchronize with (default: main)
59
}
60

    
61
# This pseudo-protocol watches all interface up/down events.
62
protocol device {
63
	scan time 10;		# Scan interfaces every 10 seconds
64
}
65

    
66
# Static routes (again, there can be multiple instances, so that you
67
# can disable/enable various groups of static routes on the fly).
68
protocol static {
69
#	disabled;		# Disable by default
70
#	table testable;		# Connect to a non-default table
71
#	preference 1000;	# Default preference of routes
72
#	debug { states, routes, filters, interfaces, events, packets };
73
#	debug all;
74
#	route 0.0.0.0/0 via 198.51.100.13;
75
#	route 198.51.100.0/25 unreachable;
76
#	route 10.0.0.0/8 unreachable;
77
#	route 10.1.1.0:255.255.255.0 via 198.51.100.3;
78
#	route 10.1.2.0:255.255.255.0 via 198.51.100.3;
79
#	route 10.1.3.0:255.255.255.0 via 198.51.100.4;
80
#	route 10.2.0.0/24 via "arc0";
81
}
82

    
83
# Pipe protocol connects two routing tables... Beware of loops.
84
#protocol pipe {
85
#	peer table testable;
86
# Define what routes do we export to this protocol / import from it.
87
#	import all;		# default is all
88
#	export all;		# default is none
89
#	import none;		# If you wish to disable imports
90
#	import filter test_filter;		# Use named filter
91
#	import where source = RTS_DEVICE;	# Use explicit filter
92
#}
93

    
94
# RIP aka Rest In Pieces...
95
#protocol rip MyRIP {	# You can also use an explicit name
96
#	preference xyzzy;
97
#	debug all;
98
#	port 1520;
99
#	period 7;
100
#	infinity 16;
101
#	garbage time 60;
102
#	interface "*" { mode broadcast; };
103
#	honor neighbor;		# To whom do we agree to send the routing table
104
#	honor always;
105
#	honor never;
106
#	passwords {
107
#		password "nazdar";
108
#	};
109
#	authentication none;
110
#	import filter { print "importing"; accept; };
111
#	export filter { print "exporting"; accept; };
112
#}
113

    
114
#protocol ospf MyOSPF {
115
#       tick 2;
116
#	rfc1583compat yes;
117
#	area 0.0.0.0 {
118
#		stub no;
119
#		interface "eth*" {
120
#			hello 9;
121
#			retransmit 6;
122
#			cost 10;
123
#			transmit delay 5;
124
#			dead count 5;
125
#			wait 50;
126
#			type broadcast;
127
#			authentication simple;
128
#			password "pass";
129
#		};
130
#		interface "arc0" {
131
#			rx buffer large;
132
#			type nonbroadcast;
133
#			poll 14;
134
#			dead 75;
135
#			neighbors {
136
#				10.1.1.2 eligible;
137
#				10.1.1.4;
138
#			};
139
#			strict nonbroadcast yes;
140
#		};
141
#		interface "xxx0" {
142
#                       passwords {
143
#				password "abc" {
144
#					id 1;
145
#					generate to "22-04-2003 11:00:06";
146
#					accept to "17-01-2004 12:01:05";
147
#				};
148
#				password "def" {
149
#					id 2;
150
#					generate from "22-04-2003 11:00:07";
151
#					accept from "17-01-2003 12:01:05";
152
#				};
153
#			};
154
#                       authentication cryptographic;
155
#		};
156
#	};
157
#	area 20 {
158
#		stub 1;
159
#		interface "ppp1" {
160
#			hello 8;
161
#			authentication none;
162
#		};
163
#               interface "fr*";
164
#               virtual link 192.168.0.1 {
165
#                       password "sdsdffsdfg";
166
#                       authentication cryptographic;
167
#               };
168
#	};
169
#}
170

    
171

    
172
#protocol bgp {
173
#	disabled;
174
#	description "My BGP uplink";
175
#	local as 65000;
176
#	neighbor 198.51.100.130 as 64496;
177
#	multihop;
178
#	hold time 240;
179
#	startup hold time 240;
180
#	connect retry time 120;
181
#	keepalive time 80;	# defaults to hold time / 3
182
#	start delay time 5;	# How long do we wait before initial connect
183
#	error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
184
#				# errors occur, we increase the delay exponentially ...
185
#	error forget time 300;	# ... until this timeout expires)
186
#	disable after error;	# Disable the protocol automatically when an error occurs
187
#	next hop self;		# Disable next hop processing and always advertise our local address as nexthop
188
#	path metric 1;		# Prefer routes with shorter paths (like Cisco does)
189
#	default bgp_med 0;	# MED value we use for comparison when none is defined
190
#	default bgp_local_pref 0;	# The same for local preference
191
#	source address 198.51.100.14;	# What local address we use for the TCP connection
192
#	password "secret";	# Password used for MD5 authentication
193
#	rr client;		# I am a route reflector and the neighor is my client
194
#	rr cluster id 1.0.0.1;	# Use this value for cluster id instead of my router id
195
#	export where source=RTS_STATIC;
196
#	export filter {
197
#		if source = RTS_STATIC then {
198
#			bgp_community = -empty-; bgp_community = add(bgp_community,(65000,5678));
199
#			bgp_origin = 0;
200
#			bgp_community = -empty-; bgp_community.add((65000,5678));
201
#			if (65000,64501) ~ bgp_community then
202
#				bgp_community.add((0, 1));
203
#			if bgp_path ~ [= 65000 =] then
204
#				bgp_path.prepend(65000);
205
#			accept;
206
#		}
207
#		reject;
208
#	};
209
#}
210
#
211
# Template usage example
212
#template bgp rr_client {
213
#	disabled;
214
#	local as 65000;
215
#	multihop;
216
#	rr client;
217
#	rr cluster id 1.0.0.1;
218
#}
219
#
220
#protocol bgp rr_abcd from rr_client {
221
#	neighbor 10.1.4.7 as 65000;
222
#}