Annotation of embedaddon/quagga/doc/basic.texi, revision 1.1.1.3
1.1 misho 1: @node Basic commands
2: @chapter Basic commands
3:
4: There are five routing daemons in use, and there is one manager daemon.
5: These daemons may be located on separate machines from the manager
6: daemon. Each of these daemons will listen on a particular port for
7: incoming VTY connections. The routing daemons are:
8:
9: @itemize @bullet
10: @item @command{ripd}, @command{ripngd}, @command{ospfd}, @command{ospf6d}, @command{bgpd}
11: @item @command{zebra}
12: @end itemize
13:
14: The following sections discuss commands common to all the routing
15: daemons.
16:
17: @menu
18: * Config Commands:: Commands used in config files
1.1.1.3 ! misho 19: * Terminal Mode Commands:: Common commands used in a VTY
1.1 misho 20: * Common Invocation Options:: Starting the daemons
21: * Virtual Terminal Interfaces:: Interacting with the daemons
22: @end menu
23:
24:
25:
26: @node Config Commands
27: @section Config Commands
28:
29: @cindex Configuration files for running the software
30: @c A -not configuration files for installing the software
31: @cindex Files for running configurations
32: @cindex Modifying the herd's behavior
33: @cindex Getting the herd running
34:
35:
36: @menu
37: * Basic Config Commands:: Some of the generic config commands
38: * Sample Config File:: An example config file
39: @end menu
40:
41:
42: In a config file, you can write the debugging options, a vty's password,
43: routing daemon configurations, a log file name, and so forth. This
44: information forms the initial command set for a routing beast as it is
45: starting.
46:
47: Config files are generally found in:
48:
1.1.1.2 misho 49: @itemize @w{}
1.1 misho 50: @item @file{@value{INSTALL_PREFIX_ETC}/*.conf}
51: @end itemize
52:
53: Each of the daemons has its own
54: config file. For example, zebra's default config file name is:
55:
1.1.1.2 misho 56: @itemize @w{}
1.1 misho 57: @item @file{@value{INSTALL_PREFIX_ETC}/zebra.conf}
58: @end itemize
59:
60: The daemon name plus @file{.conf} is the default config file name. You
61: can specify a config file using the @kbd{-f} or @kbd{--config-file}
62: options when starting the daemon.
63:
64:
65:
66: @node Basic Config Commands
67: @subsection Basic Config Commands
68:
69: @deffn Command {hostname @var{hostname}} {}
70: Set hostname of the router.
71: @end deffn
72:
73: @deffn Command {password @var{password}} {}
74: Set password for vty interface. If there is no password, a vty won't
75: accept connections.
76: @end deffn
77:
78: @deffn Command {enable password @var{password}} {}
79: Set enable password.
80: @end deffn
81:
82: @deffn Command {log trap @var{level}} {}
83: @deffnx Command {no log trap} {}
84: These commands are deprecated and are present only for historical compatibility.
85: The log trap command sets the current logging level for all enabled
86: logging destinations, and it sets the default for all future logging commands
87: that do not specify a level. The normal default
88: logging level is debugging. The @code{no} form of the command resets
89: the default level for future logging commands to debugging, but it does
90: not change the logging level of existing logging destinations.
91: @end deffn
92:
93:
94: @deffn Command {log stdout} {}
95: @deffnx Command {log stdout @var{level}} {}
96: @deffnx Command {no log stdout} {}
97: Enable logging output to stdout.
98: If the optional second argument specifying the
99: logging level is not present, the default logging level (typically debugging,
100: but can be changed using the deprecated @code{log trap} command) will be used.
101: The @code{no} form of the command disables logging to stdout.
102: The @code{level} argument must have one of these values:
103: emergencies, alerts, critical, errors, warnings, notifications, informational, or debugging. Note that the existing code logs its most important messages
104: with severity @code{errors}.
105: @end deffn
106:
107: @deffn Command {log file @var{filename}} {}
108: @deffnx Command {log file @var{filename} @var{level}} {}
109: @deffnx Command {no log file} {}
110: If you want to log into a file, please specify @code{filename} as
111: in this example:
112: @example
113: log file /var/log/quagga/bgpd.log informational
114: @end example
115: If the optional second argument specifying the
116: logging level is not present, the default logging level (typically debugging,
117: but can be changed using the deprecated @code{log trap} command) will be used.
118: The @code{no} form of the command disables logging to a file.
119:
120: Note: if you do not configure any file logging, and a daemon crashes due
121: to a signal or an assertion failure, it will attempt to save the crash
122: information in a file named /var/tmp/quagga.<daemon name>.crashlog.
123: For security reasons, this will not happen if the file exists already, so
124: it is important to delete the file after reporting the crash information.
125: @end deffn
126:
127: @deffn Command {log syslog} {}
128: @deffnx Command {log syslog @var{level}} {}
129: @deffnx Command {no log syslog} {}
130: Enable logging output to syslog.
131: If the optional second argument specifying the
132: logging level is not present, the default logging level (typically debugging,
133: but can be changed using the deprecated @code{log trap} command) will be used.
134: The @code{no} form of the command disables logging to syslog.
135: @end deffn
136:
137: @deffn Command {log monitor} {}
138: @deffnx Command {log monitor @var{level}} {}
139: @deffnx Command {no log monitor} {}
140: Enable logging output to vty terminals that have enabled logging
141: using the @code{terminal monitor} command.
142: By default, monitor logging is enabled at the debugging level, but this
143: command (or the deprecated @code{log trap} command) can be used to change
144: the monitor logging level.
145: If the optional second argument specifying the
146: logging level is not present, the default logging level (typically debugging,
147: but can be changed using the deprecated @code{log trap} command) will be used.
148: The @code{no} form of the command disables logging to terminal monitors.
149: @end deffn
150:
151: @deffn Command {log facility @var{facility}} {}
152: @deffnx Command {no log facility} {}
153: This command changes the facility used in syslog messages. The default
154: facility is @code{daemon}. The @code{no} form of the command resets
155: the facility to the default @code{daemon} facility.
156: @end deffn
157:
158: @deffn Command {log record-priority} {}
159: @deffnx Command {no log record-priority} {}
160: To include the severity in all messages logged to a file, to stdout, or to
161: a terminal monitor (i.e. anything except syslog),
162: use the @code{log record-priority} global configuration command.
163: To disable this option, use the @code{no} form of the command. By default,
164: the severity level is not included in logged messages. Note: some
165: versions of syslogd (including Solaris) can be configured to include
166: the facility and level in the messages emitted.
167: @end deffn
168:
169: @deffn Command {log timestamp precision @var{<0-6>}} {}
170: @deffnx Command {no log timestamp precision} {}
171: This command sets the precision of log message timestamps to the
172: given number of digits after the decimal point. Currently,
173: the value must be in the range 0 to 6 (i.e. the maximum precision
174: is microseconds).
175: To restore the default behavior (1-second accuracy), use the
176: @code{no} form of the command, or set the precision explicitly to 0.
177:
178: @example
179: @group
180: log timestamp precision 3
181: @end group
182: @end example
183:
184: In this example, the precision is set to provide timestamps with
185: millisecond accuracy.
186: @end deffn
187:
188: @deffn Command {service password-encryption} {}
189: Encrypt password.
190: @end deffn
191:
192: @deffn Command {service advanced-vty} {}
193: Enable advanced mode VTY.
194: @end deffn
195:
196: @deffn Command {service terminal-length @var{<0-512>}} {}
197: Set system wide line configuration. This configuration command applies
198: to all VTY interfaces.
199: @end deffn
200:
201: @deffn Command {line vty} {}
202: Enter vty configuration mode.
203: @end deffn
204:
205: @deffn Command {banner motd default} {}
206: Set default motd string.
207: @end deffn
208:
209: @deffn Command {no banner motd} {}
210: No motd banner string will be printed.
211: @end deffn
212:
213: @deffn {Line Command} {exec-timeout @var{minute}} {}
214: @deffnx {Line Command} {exec-timeout @var{minute} @var{second}} {}
215: Set VTY connection timeout value. When only one argument is specified
216: it is used for timeout value in minutes. Optional second argument is
217: used for timeout value in seconds. Default timeout value is 10 minutes.
218: When timeout value is zero, it means no timeout.
219: @end deffn
220:
221: @deffn {Line Command} {no exec-timeout} {}
222: Do not perform timeout at all. This command is as same as
223: @command{exec-timeout 0 0}.
224: @end deffn
225:
226: @deffn {Line Command} {access-class @var{access-list}} {}
227: Restrict vty connections with an access list.
228: @end deffn
229:
230: @node Sample Config File
231: @subsection Sample Config File
232:
233:
234: Below is a sample configuration file for the zebra daemon.
235:
236: @example
237: @group
238: !
239: ! Zebra configuration file
240: !
241: hostname Router
242: password zebra
243: enable password zebra
244: !
245: log stdout
246: !
247: !
248: @end group
249: @end example
250:
251: '!' and '#' are comment characters. If the first character of the word
252: is one of the comment characters then from the rest of the line forward
253: will be ignored as a comment.
254:
255: @example
256: password zebra!password
257: @end example
258:
259: If a comment character is not the first character of the word, it's a
260: normal character. So in the above example '!' will not be regarded as a
261: comment and the password is set to 'zebra!password'.
262:
263:
264:
265: @node Terminal Mode Commands
266: @section Terminal Mode Commands
267:
268: @deffn Command {write terminal} {}
269: Displays the current configuration to the vty interface.
270: @end deffn
271:
272: @deffn Command {write file} {}
273: Write current configuration to configuration file.
274: @end deffn
275:
276: @deffn Command {configure terminal} {}
277: Change to configuration mode. This command is the first step to
278: configuration.
279: @end deffn
280:
281: @deffn Command {terminal length @var{<0-512>}} {}
282: Set terminal display length to @var{<0-512>}. If length is 0, no
283: display control is performed.
284: @end deffn
285:
286: @deffn Command {who} {}
287: Show a list of currently connected vty sessions.
288: @end deffn
289:
290: @deffn Command {list} {}
291: List all available commands.
292: @end deffn
293:
294: @deffn Command {show version} {}
295: Show the current version of @value{PACKAGE_NAME} and its build host information.
296: @end deffn
297:
298: @deffn Command {show logging} {}
299: Shows the current configuration of the logging system. This includes
300: the status of all logging destinations.
301: @end deffn
302:
303: @deffn Command {logmsg @var{level} @var{message}} {}
304: Send a message to all logging destinations that are enabled for messages
305: of the given severity.
306: @end deffn
307:
308:
309:
310:
311: @node Common Invocation Options
312: @section Common Invocation Options
313: @c COMMON_OPTIONS
314: @c OPTIONS section of the man page
315:
316: These options apply to all @value{PACKAGE_NAME} daemons.
317:
318: @table @samp
319:
320: @item -d
321: @itemx --daemon
322: Runs in daemon mode.
323:
324: @item -f @var{file}
325: @itemx --config_file=@var{file}
326: Set configuration file name.
327:
328: @item -h
329: @itemx --help
330: Display this help and exit.
331:
332: @item -i @var{file}
333: @itemx --pid_file=@var{file}
334:
335: Upon startup the process identifier of the daemon is written to a file,
336: typically in @file{/var/run}. This file can be used by the init system
337: to implement commands such as @command{@dots{}/init.d/zebra status},
338: @command{@dots{}/init.d/zebra restart} or @command{@dots{}/init.d/zebra
339: stop}.
340:
341: The file name is an run-time option rather than a configure-time option
342: so that multiple routing daemons can be run simultaneously. This is
343: useful when using @value{PACKAGE_NAME} to implement a routing looking glass. One
344: machine can be used to collect differing routing views from differing
345: points in the network.
346:
347: @item -A @var{address}
348: @itemx --vty_addr=@var{address}
349: Set the VTY local address to bind to. If set, the VTY socket will only
350: be bound to this address.
351:
352: @item -P @var{port}
353: @itemx --vty_port=@var{port}
354: Set the VTY TCP port number. If set to 0 then the TCP VTY sockets will not
355: be opened.
356:
357: @item -u @var{user}
358: @itemx --vty_addr=@var{user}
359: Set the user and group to run as.
360:
361: @item -v
362: @itemx --version
363: Print program version.
364:
365: @end table
366:
367:
368:
369: @node Virtual Terminal Interfaces
370: @section Virtual Terminal Interfaces
371:
372: VTY -- Virtual Terminal [aka TeletYpe] Interface is a command line
373: interface (CLI) for user interaction with the routing daemon.
374:
375: @menu
376: * VTY Overview:: Basics about VTYs
377: * VTY Modes:: View, Enable, and Other VTY modes
378: * VTY CLI Commands:: Commands for movement, edition, and management
379: @end menu
380:
381:
382:
383: @node VTY Overview
384: @subsection VTY Overview
385:
386:
387: VTY stands for Virtual TeletYpe interface. It means you can connect to
388: the daemon via the telnet protocol.
389:
390: To enable a VTY interface, you have to setup a VTY password. If there
391: is no VTY password, one cannot connect to the VTY interface at all.
392:
393: @example
394: @group
395: % telnet localhost 2601
396: Trying 127.0.0.1...
397: Connected to localhost.
398: Escape character is '^]'.
399:
400: Hello, this is @value{PACKAGE_NAME} (version @value{VERSION})
401: @value{COPYRIGHT_STR}
402:
403: User Access Verification
404:
405: Password: XXXXX
406: Router> ?
407: enable Turn on privileged commands
408: exit Exit current mode and down to previous mode
409: help Description of the interactive help system
410: list Print command list
411: show Show running system information
412: who Display who is on a vty
413: Router> enable
414: Password: XXXXX
415: Router# configure terminal
416: Router(config)# interface eth0
417: Router(config-if)# ip address 10.0.0.1/8
418: Router(config-if)# ^Z
419: Router#
420: @end group
421: @end example
422:
423: '?' is very useful for looking up commands.
424:
425: @node VTY Modes
426: @subsection VTY Modes
427:
428: There are three basic VTY modes:
429:
430: @menu
431: * VTY View Mode:: Mode for read-only interaction
432: * VTY Enable Mode:: Mode for read-write interaction
433: * VTY Other Modes:: Special modes (tftp, etc)
434: @end menu
435:
436: There are commands that may be restricted to specific VTY modes.
437:
438: @node VTY View Mode
439: @subsubsection VTY View Mode
440: @c to be written (gpoul)
441:
442:
443: This mode is for read-only access to the CLI. One may exit the mode by
444: leaving the system, or by entering @code{enable} mode.
445:
446: @node VTY Enable Mode
447: @subsubsection VTY Enable Mode
448:
449: @c to be written (gpoul)
450: This mode is for read-write access to the CLI. One may exit the mode by
451: leaving the system, or by escaping to view mode.
452:
453: @node VTY Other Modes
454: @subsubsection VTY Other Modes
455:
456:
457: @c to be written (gpoul)
458: This page is for describing other modes.
459:
460: @node VTY CLI Commands
461: @subsection VTY CLI Commands
462:
463: Commands that you may use at the command-line are described in the following
464: three subsubsections.
465:
466: @menu
467: * CLI Movement Commands:: Commands for moving the cursor about
468: * CLI Editing Commands:: Commands for changing text
469: * CLI Advanced Commands:: Other commands, session management and so on
470: @end menu
471:
472: @node CLI Movement Commands
473: @subsubsection CLI Movement Commands
474:
475: These commands are used for moving the CLI cursor. The @key{C} character
476: means press the Control Key.
477:
478: @table @kbd
479:
480: @item C-f
481: @itemx @key{RIGHT}
482: @kindex C-f
483: @kindex @key{RIGHT}
484: Move forward one character.
485:
486: @item C-b
487: @itemx @key{LEFT}
488: @kindex C-b
489: @kindex @key{LEFT}
490: Move backward one character.
491:
492: @item M-f
493: @kindex M-f
494: Move forward one word.
495:
496: @item M-b
497: @kindex M-b
498: Move backward one word.
499:
500: @item C-a
501: @kindex C-a
502: Move to the beginning of the line.
503:
504: @item C-e
505: @kindex C-e
506: Move to the end of the line.
507:
508: @end table
509:
510: @node CLI Editing Commands
511: @subsubsection CLI Editing Commands
512:
513: These commands are used for editing text on a line. The @key{C}
514: character means press the Control Key.
515:
516: @table @kbd
517:
518: @item C-h
519: @itemx @key{DEL}
520: @kindex C-h
521: @kindex @key{DEL}
522: Delete the character before point.
523:
524: @item C-d
525: @kindex C-d
526: Delete the character after point.
527:
528: @item M-d
529: @kindex M-d
530: Forward kill word.
531:
532: @item C-w
533: @kindex C-w
534: Backward kill word.
535:
536: @item C-k
537: @kindex C-k
538: Kill to the end of the line.
539:
540: @item C-u
541: @kindex C-u
542: Kill line from the beginning, erasing input.
543:
544: @item C-t
545: @kindex C-t
546: Transpose character.
547:
548: @end table
549:
550: @node CLI Advanced Commands
551: @subsubsection CLI Advanced Commands
552:
553: There are several additional CLI commands for command line completions,
554: insta-help, and VTY session management.
555:
556: @table @kbd
557:
558: @item C-c
559: @kindex C-c
560: Interrupt current input and moves to the next line.
561:
562: @item C-z
563: @kindex C-z
564: End current configuration session and move to top node.
565:
566:
567: @item C-n
568: @itemx @key{DOWN}
569: @kindex C-n
570: @kindex @key{DOWN}
571: Move down to next line in the history buffer.
572:
573: @item C-p
574: @itemx @key{UP}
575: @kindex C-p
576: @kindex @key{UP}
577: Move up to previous line in the history buffer.
578:
579: @item TAB
580: @kindex @key{TAB}
581: Use command line completion by typing @key{TAB}.
582:
1.1.1.3 ! misho 583: @item ?
! 584: @kindex @key{?}
1.1 misho 585: You can use command line help by typing @code{help} at the beginning of
586: the line. Typing @kbd{?} at any point in the line will show possible
587: completions.
588:
589: @end table
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>