mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 01:27:09 +00:00 
			
		
		
		
	* *.texi: update the docs a bit. Add some info about zebra.dishone.st in the overview. Add link-detect and update static routes section in zebra. Add write-config in vtysh. Update version handling and add passive-interface default for ripd.
		
			
				
	
	
		
			230 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@node Zebra
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@chapter Zebra
 | 
						|
 | 
						|
@c SYNOPSIS
 | 
						|
@command{zebra} is an IP routing manager.  It provides kernel routing
 | 
						|
table updates, interface lookups, and redistribution of routes between
 | 
						|
different routing protocols.
 | 
						|
 | 
						|
@menu
 | 
						|
* Invoking zebra::              Running the program
 | 
						|
* Interface Commands::          Commands for zebra interfaces
 | 
						|
* Static Route Commands::       Commands for adding static routes
 | 
						|
* zebra Terminal Mode Commands::  Commands for zebra's VTY
 | 
						|
@end menu
 | 
						|
 | 
						|
 | 
						|
@node Invoking zebra, Interface Commands, Zebra, Zebra
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Invoking zebra
 | 
						|
 | 
						|
Besides the common invocation options (@pxref{Common Invocation Options}), the
 | 
						|
@command{zebra} specific invocation options are listed below.
 | 
						|
 | 
						|
@table @samp
 | 
						|
@item -b
 | 
						|
@itemx --batch
 | 
						|
Runs in batch mode.  @command{zebra} parses configuration file and terminates
 | 
						|
immediately.
 | 
						|
 | 
						|
@item -k
 | 
						|
@itemx --keep_kernel
 | 
						|
When zebra starts up, don't delete old self inserted routes.
 | 
						|
 | 
						|
@item -l
 | 
						|
@itemx --log_mode
 | 
						|
Set verbose logging on.
 | 
						|
 | 
						|
@item -r
 | 
						|
@itemx --retain
 | 
						|
When program terminates, retain routes added by zebra.
 | 
						|
 | 
						|
@end table
 | 
						|
 | 
						|
@node Interface Commands, Static Route Commands, Invoking zebra, Zebra
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Interface Commands
 | 
						|
 | 
						|
@deffn Command {interface @var{ifname}} {}
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {shutdown} {}
 | 
						|
@deffnx {Interface Command} {no shutdown} {}
 | 
						|
Up or down the current interface.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {ip address @var{address/prefix}} {}
 | 
						|
@deffnx {Interface Command} {ip6 address @var{address/prefix}} {}
 | 
						|
@deffnx {Interface Command} {no ip address @var{address/prefix}} {}
 | 
						|
@deffnx {Interface Command} {no ip6 address @var{address/prefix}} {}
 | 
						|
Set the IPv4 or IPv6 address/prefix for the interface.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {ip address @var{address/prefix} secondary} {}
 | 
						|
@deffnx {Interface Command} {no ip address @var{address/prefix} secondary} {}
 | 
						|
Set the secondary flag for this address. This causes ospfd to not treat the
 | 
						|
address as a distinct subnet.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {description @var{description} ...} {}
 | 
						|
Set description for the interface.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {multicast} {}
 | 
						|
@deffnx {Interface Command} {no multicast} {}
 | 
						|
Enable or disables multicast flag for the interface.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {bandwidth <1-10000000>} {}
 | 
						|
@deffnx {Interface Command} {no bandwidth <1-10000000>} {}
 | 
						|
Set bandwidth value of the interface in kilobits/sec.  This is for 
 | 
						|
calculating OSPF cost. This command does not affect the actual device 
 | 
						|
configuration.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn {Interface Command} {link-detect} {}
 | 
						|
@deffnx {Interface Command} {no link-detect} {}
 | 
						|
Enable/disable link-detect on platforms which support this. Currently 
 | 
						|
only linux and with certain drivers - those which properly support the 
 | 
						|
IFF_RUNNING flag.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node Static Route Commands, zebra Terminal Mode Commands, Interface Commands, Zebra
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section Static Route Commands
 | 
						|
 | 
						|
Static routing is a very fundamental feature of routing technology.  It
 | 
						|
defines static prefix and gateway.
 | 
						|
 | 
						|
@deffn Command {ip route @var{network} @var{gateway}} {}
 | 
						|
@var{network} is destination prefix with format of A.B.C.D/M.
 | 
						|
@var{gateway} is gateway for the prefix.  When @var{gateway} is
 | 
						|
A.B.C.D format.  It is taken as a IPv4 address gateway.  Otherwise it
 | 
						|
is treated as an interface name. If the interface name is @var{null0} then
 | 
						|
zebra installs a blackhole route.
 | 
						|
 | 
						|
@example
 | 
						|
ip route 10.0.0.0/8 10.0.0.2
 | 
						|
ip route 10.0.0.0/8 ppp0
 | 
						|
ip route 10.0.0.0/8 null0
 | 
						|
@end example
 | 
						|
 | 
						|
First example defines 10.0.0.0/8 static route with gateway 10.0.0.2.
 | 
						|
Second one defines the same prefix but with gateway to interface ppp0. The
 | 
						|
third install a blackhole route.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {ip route @var{network} @var{netmask} @var{gateway}} {}
 | 
						|
This is alternate version of above command.  When @var{network} is
 | 
						|
A.B.C.D format, user must define @var{netmask} value with A.B.C.D
 | 
						|
format.  @var{gateway} is same option as above command
 | 
						|
 | 
						|
@example
 | 
						|
ip route 10.0.0.0 255.255.255.0 10.0.0.2
 | 
						|
ip route 10.0.0.0 255.255.255.0 ppp0
 | 
						|
ip route 10.0.0.0 255.255.255.0 null0
 | 
						|
@end example
 | 
						|
 | 
						|
These statements are equivalent to those in the previous example.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {ip route @var{network} @var{gateway} @var{distance}} {}
 | 
						|
Installs the route with the specified distance.
 | 
						|
@end deffn
 | 
						|
 | 
						|
Multiple nexthop static route
 | 
						|
 | 
						|
@example
 | 
						|
ip route 10.0.0.1/32 10.0.0.2
 | 
						|
ip route 10.0.0.1/32 10.0.0.3
 | 
						|
ip route 10.0.0.1/32 eth0
 | 
						|
@end example
 | 
						|
 | 
						|
If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0
 | 
						|
is reachable, then the last route is installed into the kernel.
 | 
						|
 | 
						|
If zebra has been compiled with multipath support, and both 10.0.0.2 and
 | 
						|
10.0.0.3 are reachable, zebra will install a multipath route via both
 | 
						|
nexthops, if the platform supports this.
 | 
						|
 | 
						|
@example
 | 
						|
zebra> show ip route
 | 
						|
S>  10.0.0.1/32 [1/0] via 10.0.0.2 inactive
 | 
						|
                      via 10.0.0.3 inactive
 | 
						|
  *                   is directly connected, eth0
 | 
						|
@end example
 | 
						|
 | 
						|
@example
 | 
						|
ip route 10.0.0.0/8 10.0.0.2
 | 
						|
ip route 10.0.0.0/8 10.0.0.3
 | 
						|
ip route 10.0.0.0/8 null0 255
 | 
						|
@end example
 | 
						|
 | 
						|
This will install a multihop route via the specified next-hops if they are
 | 
						|
reachable, as well as a high-metric blackhole route, which can be useful to
 | 
						|
prevent traffic destined for a prefix to match less-specific routes (eg
 | 
						|
default) should the specified gateways not be reachable. Eg:
 | 
						|
 | 
						|
@example
 | 
						|
zebra> show ip route 10.0.0.0/8             
 | 
						|
Routing entry for 10.0.0.0/8
 | 
						|
  Known via "static", distance 1, metric 0
 | 
						|
    10.0.0.2 inactive
 | 
						|
    10.0.0.3 inactive
 | 
						|
 | 
						|
Routing entry for 10.0.0.0/8
 | 
						|
  Known via "static", distance 255, metric 0
 | 
						|
    directly connected, Null0
 | 
						|
@end example
 | 
						|
 | 
						|
@deffn Command {ipv6 route @var{network} @var{gateway}} {}
 | 
						|
@deffnx Command {ipv6 route @var{network} @var{gateway} @var{distance}} {}
 | 
						|
These behave similarly to their ipv4 counterparts.
 | 
						|
@end deffn
 | 
						|
 | 
						|
 | 
						|
@deffn Command {table @var{tableno}} {}
 | 
						|
Select the primary kernel routing table to be used.  This only works
 | 
						|
for kernels supporting multiple routing tables (like GNU/Linux 2.2.x
 | 
						|
and later).  After setting @var{tableno} with this command, 
 | 
						|
static routes defined after this are added to the specified table.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@node zebra Terminal Mode Commands,  , Static Route Commands, Zebra
 | 
						|
@comment  node-name,  next,  previous,  up
 | 
						|
@section zebra Terminal Mode Commands
 | 
						|
 | 
						|
@deffn Command {show ip route} {}
 | 
						|
Display current routes which zebra holds in its database.
 | 
						|
 | 
						|
@example
 | 
						|
@group
 | 
						|
Router# show ip route 
 | 
						|
Codes: K - kernel route, C - connected, S - static, R - RIP, 
 | 
						|
       B - BGP * - FIB route.
 | 
						|
 | 
						|
K* 0.0.0.0/0              203.181.89.241
 | 
						|
S  0.0.0.0/0              203.181.89.1
 | 
						|
C* 127.0.0.0/8            lo
 | 
						|
C* 203.181.89.240/28      eth0
 | 
						|
@end group
 | 
						|
@end example
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {show ipv6 route} {}
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {show interface} {}
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {show ipforward} {}
 | 
						|
Display whether the host's IP forwarding function is enabled or not.
 | 
						|
Almost any UNIX kernel can be configured with IP forwarding disabled.
 | 
						|
If so, the box can't work as a router.
 | 
						|
@end deffn
 | 
						|
 | 
						|
@deffn Command {show ipv6forward} {}
 | 
						|
Display whether the host's IP v6 forwarding is enabled or not.
 | 
						|
@end deffn
 |