Annotation of embedaddon/quagga/doc/basic.texi, revision 1.1.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>