Annotation of embedaddon/quagga/doc/basic.texi, revision 1.1
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: * Terminal Mode Commands:: Common commands used in a VTY
! 19: * Config Commands:: Commands used in config files
! 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:
! 49: @itemize @asis
! 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:
! 56: @itemize @asis
! 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:
! 583: @item
! 584: @kindex ?
! 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>