Q: Where can I find documentation for GNU Zebra ?
A: Here is description of main Zebra resources as of time of writing:
resource | current state |
---|---|
Zebra manual for v. 0.93b, info format | Contains up-to-date list of all CLI commands, but very few comments. |
Zebra manual for v. 0.85, html format, supplied with Zebra | Some outdated. |
Zebra manual for v. 0.88, html format, Pawel S. Veselov homepage | Some outdated. |
Zebra manual for v. 0.93b, html format, by Jean-Francois Laforest | a fresh meat :) |
Zebra man pages collection | Describes command-line parameters, contains list of relevant CLI commands |
Zebra web-site | Only most general information |
Unofficial Zebra FAQ | Updated some times per month |
Q: Where can I find more information on routing ?
A: Paul: www.cisco.com has plenty of useful documents.
A: Teun Vink: www.bgpexpert.com, www.nanog.org, www.ciscopress.com.
A: Pilot: I provide some links too:
Q: Why does this FAQ mainly refer to Linux and OSPF?
A: Because the maintainers mainly use Linux and OSPF. If you have anything to add, please email it to Zebra mailing list and we may publish it here.
Q: How to unsubscribe from zebra@zebra.org mailing list ?
A: Read the message majordomo program sent to you when you subscribed onto the list. If you have lost it, send e-mail to majordomo@zebra.org with this text in message BODY: unsubscribe zebra your@email.address.com. Although it's worth reading for you, if you read this FAQ :)
Q: What is the latest version of Zebra and how can I get it?
A: Paul: The latest version tar.gz can be downloaded from GNU Zebra web-site. This is the official site and should contain links to the latest version. If you want the very latest version, it is better to use the CVS version and compile it yourself.
Precompiled .rpm files are available with the RedHat Linux based distributions, but they are generally slightly out of date, and you would prefer the latest version. But before uninstalling, make a copy of zebra, ospfd, bgpd, whatever you wish have in /etc/rc.d/init.d/ - these scripts are useful for starting and stopping your daemons.
A: Pilot: I guess, the correct way is to update your distro or poll your supplier for publishing updates for any program. Everyone should do his own work.
Q: My routes appear in Zebra, but not in the Linux kernel.
A: Paul: Some people have reported this problem in earlier versions of Zebra. I have never experienced this in versions 0.93a or later.
A: Pilot: If you compile Zebra yourself, try to toggle usage of Linux RTNETLINK device. MAY BE, it will help.
A: Richard Revis: RedHat Linux 7.3 (their current server version - also applies to the free release of 7.3) ships with RPMs that do not have netlink enabled, even though it is enabled in the kernel. Recompile Zebra from source with the option --enable-netlink.
Q: I'm using the [AnyLinux] zebra-x.xx-y.iz86.rpm. How can I determine if it's Ok ?
A: Neale Banks: grab the corresponding source package (e.g. zebra-x.xx-y.iz86.src.rpm) and examine it (bonus: you can tweak and rebuild to your requirements ;-).
A: Pilot: I'll say again, poll your supplier. Optionally, after fetching the info about specific distribution, email us and we'll post it here.
OS/distro | out-of-box Zebra support |
---|---|
Linux/ALTLinux Junior 2.0 | Ok |
Linux/ALTLinux Master 2.0 | Ok |
Linux/ALTLinux Master 2.2 | Ok |
Linux/ASPLinux 7.2 | Ok |
Linux/RedHat 7.3 | bad RPMs |
Linux/Debian sid | Ok |
FreeBSD/3.5-STABLE | Ok |
A:
Teun Vink: For Debian, you can download the source package, and look at the
debian/build
file. The default Zebra packages supplied by Debian
are compiled with these flags:
./configure --prefix=/usr --sysconfdir=/etc/zebra \ --enable-ipv6 \ --enable-vtysh \ --enable-netlink \ --enable-nssa \ --enable-snmp \ --with-libpam
Q: How do you filter traffic in Zebra? What about NAT? How to apply my route map to an interface or use extended access-lists ?
A: Paul: You don't. Zebra only handles the dynamic routing protocols. Most Operating Systems, such as Linux, support "iptables" or something similar that can be used for NAT and IP filtering.
A: Pilot: Feel difference between route updates' route maps and policy routing. The 1st is a filter, applied to a set of records, and the 2nd is OS kernel's task. Use Linux netfilter to implement policy routing, QoS, link aggregation, firewall, NAT. Read Advanced-routing HOWTO.
A: Njal Sigurdsson: FreeBSD is supplied with it's own packet filtering/accouting software called IPFW. Configuiration of IPFW can be found at FreeBSD handbook. Alternatively, IPFilter is another popular packet filter, which has been ported to the following platforms - Solaris, NetBSD, FreeBSD, OpenBSD, IRIX, HP-UX. Binaries and configuation information for IPFilter can be found at ipfilter.org
Q: When using interfaces with non-standard packet sizes (like GRE), I can't get to certain sites.
A: This is not a Zebra problem. Many secure web sites ignore all ICMP packets as part of their security policy. This is generally not a good idea, but you can't normally do much about it. All you can do is reduce the MTU of connections as are established. Here is a Linux example:
# iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Q: How do I flush my routing table?
A: Zebra has no function to perform RT flushing, you have to do it from OS command line.
OS: Linux: First you should decide, what you wish to flush. If you want to kill ALL routes, including directly connected networks and loopback, use
# ip route flush table allfor IPv4 and
# ip -6 route flush table allfor IPv6.
# ip -4 route flush scope global type unicast
OS: *BSD: Try route flush
.
Q: I can't use the 'router rip' (ospf, bgp) command for some reason.
A: Theodor Milkov: ripd (ospfd, bgpd) is separate daemon with separate vty on separate port. Unless you are using vtysh - you must telnet to port 2602 (2604, 2605) instead of 2601.
Q:
sh run
doesn't work during configuration mode.
A:
Use wri ter
command.
Q: Load-balancing between 2 (3, 4, ...) gateways does not work while having 2 (3, 4, ...) routes to the same destination
A:
# configure [...] --enable-multipath=2 (3, 4, ...)or
# configure [...] --enable-multipath=0 (no limit at all)Ensure that your Linux kernel has turned on following features: "Advanced router", "Enable equal-cost multipath".
Q: How can I develop a custom application with data feeding from Zebra ?
A: You may first try to read the following:
Q: How can I setup an unequal-cost multipath routing with Zebra ?
A: Paul Jakma: see the 'weight' flag for use in setting multi-next-hop routes, using the 'ip' tool. documented in ip-cref.ps, which usually lives in /usr/share/doc/iproute-x.y.z/ (at least on RedHat and clones).
# ip route add <prefix> via <nexthop1> weight x via <nexthop2> weight ywill create a route to prefix via nexthop1 and nexthop2, distributing packets1 according to the proportion of the weights. 1. well actually, it'll distribute the result of kernel route table lookups in proportion to the weights, not quite the same, but same overall result.