<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Linux Blog &#187; quagga</title>
	<atom:link href="http://linuxblog.ro/tag/quagga/feed/" rel="self" type="application/rss+xml" />
	<link>http://linuxblog.ro</link>
	<description>UNIX, LINUX, BSD, OSX</description>
	<lastBuildDate>Thu, 19 Aug 2010 14:32:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>QOS and IP Accounting with BGP under linux</title>
		<link>http://linuxblog.ro/qos-and-ip-accounting-with-bgp-under-linux/</link>
		<comments>http://linuxblog.ro/qos-and-ip-accounting-with-bgp-under-linux/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 09:08:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[quagga]]></category>

		<guid isPermaLink="false">http://linuxblog.ro/?p=336</guid>
		<description><![CDATA[A quick aside: route realms are best described as a collection of routes. The decision as to which realm a route is placed is made by the local administrator, and each realm can contain routes from a mix of origins. Realms are used to allow administrators to perform bulk operations on large groups of routes in an easy manner.]]></description>
			<content:encoded><![CDATA[<p>At NSP we’ve go a fibre connection into the building, and a 10MBit feed from our ISP, and over that we’re allowed 10MBit of national and 3 Mbit PIR of international traffic. Note that this adds up to more than 10Mbit in total! This can cause annoying problems, like someone doing a lot of national or APE traffic at 10MBit, and closing out real international traffic. For a long time I’ve wanted to separate this out, but have not had the time to look into it</p>
<p>This week I finally organised a BGP from my ISP, and had a look at what my options were. I’d seen the <a href="http://www.ibiblio.org/john/pubs/route-qos/index.html"><span style="color: #00749e;">Route-based QOS mini-HOWTO</span></a> a while back, and it looked like it would work ok, but had a few problems. There’s no current way it to apply tc or iptables rules selectively based on a routing decision, or even on a route table. You can match on a route realm, however. The mini-HOWTO suggests copying your BGP routes into a separate table and into a realm at the same time, and then using tc and iptable’s realm matching code.</p>
<p>A quick aside: route realms are best described as a collection of routes. The decision as to which realm a route is placed is made by the local administrator, and each realm can contain routes from a mix of origins. Realms are used to allow administrators to perform bulk operations on large groups of routes in an easy manner. From the <a href="http://linux-ip.net/gl/ip-cref/node153.htm"><span style="color: #00749e;">iproute command reference</span></a>:</p>
<blockquote><p>The main application of realms is the TC route classifier [7], where they are used to help assign packets to traffic classes, to account, police and schedule them according to this classification.</p></blockquote>
<p>After a bit of digging, I found a link to a patch for <a href="http://www.quagga.net/"><span style="color: #00749e;">quagga</span></a> to provide <a href="http://vcalinus.gemenii.ro/quaggarealms.html"><span style="color: #00749e;">route realms</span></a> support. It’s even still maintained! After a bit of battling with autotools[1], and a bit of battling with linux capabilities[2], I had it up and running.</p>
<p>The <a href="http://vcalinus.gemenii.ro/quaggarealms.html"><span style="color: #00749e;">route realms</span></a> patch page covered off the BGP configuration I needed, and now I have a set of iptables counters for national, international and total traffic (for completeness). The only bit it doesn’t cover off is graphing, but we already have a set of perl scripts which pull information from interface totals or iptables FWMARK counters, so I modified that to pull from these counters as well, and set up RRD graphs. I was previously graphing interface totals out the external nic, and it’s interesting to note that the iptables “total” traffic, while adding up to the sum of national and international, does not correspond to the interface totals.</p>
<p>It’s worth pointing out that, as seen in <a href="http://linux-ip.net/gl/ip-cref/node153.htm"><span style="color: #00749e;">iproute command reference</span></a>, the <em>rtacct</em> tool will grab realm counts for you without needing iptables, so if you just want to something to graph things quickly, <em>rtacct</em> might do the job:</p>
<div class="codesnip-container">#kernel<br />
Realm BytesTo PktsTo BytesFrom PktsFrom<br />
BPSTo PPSTo BPSFrom PPSFrom<br />
unknown 5949K 57188 15839K 61776<br />
0 0 0 0<br />
national 15839K 61776 5949K 57188<br />
0 0 0 0</div>
<p><em>rtacct</em> has a naive limit of 256 realms however, where as the actual implementation supports a 16 bit number, so if you have a large number of realms, or you autoclassify your inbound BGP into realms based on the AS number, you will have to use iptables only</p>
<p>I’m currently only accounting for traffic using this mechanism, but I can also do QOS on it &#8211; tc will match directly on realm tags, and any iptables based match systems you may have can be adapted to match on a realm as well.</p>
<p>[1] The realms patch touched configure.ac, which then required the autotools chain to rebuild everything, but it needed a very particular combination of autoconf and automake. Because it took me an hour or so to get this right, I’ll record it here:</p>
<div class="codesnip-container">patch -p1 &lt; ../quagga-0.99.5-realms.diff<br />
aclocal-1.7<br />
autoheader<br />
autoconf<br />
autoconf2.50<br />
libtoolize -c<br />
automake-1.7 –gnu –add-missing –copy<br />
./configure –enable-realms –enable-user=quagga –enable-group=quagga –enable-vty-group=quaggavty –enable-vtysh –localstatedir=/var/run/quagga –enable-configfile-mask=0640 –enable-logfile-mask=0640</div>
<p> </p>
<p>autoheader and autoconf above are version 2.13. I have no idea why I had to run autoconf2.13 then autoconf2.50, but it seems that this actually worked.</p>
<p>[2] I initially tried building against quagga-0.98.6, because the quaggarealms patch site implied this was the “stable” verson, but it seems that quagga drops priviledges too soon. This works out fine if you have “capabilities” support in your kernel, which mine didn’t. They’ve changed this behaviour in 0.99.5, and incidentally this is the version in debian etch.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxblog.ro/qos-and-ip-accounting-with-bgp-under-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quagga realms Tutorial</title>
		<link>http://linuxblog.ro/quagga-realms-tutorial/</link>
		<comments>http://linuxblog.ro/quagga-realms-tutorial/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:15:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[duplex]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[quagga]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[service]]></category>

		<guid isPermaLink="false">http://linuxblog.ro/?p=327</guid>
		<description><![CDATA[Quagga is an open source routing software based on the Zebra router, for which development was stopped in 2003. It supports the main standardised routing protocols such as RIP, OSPF or BGP and can be installed on any Linux system with a 2.4 or higher kernel.]]></description>
			<content:encoded><![CDATA[<p>Quagga is an open source routing software based on the Zebra router, for which development was stopped in 2003. It supports the main standardised routing protocols such as RIP, OSPF or BGP and can be installed on any Linux system with a 2.4 or higher kernel.</p>
<p>Quagga is composed of several daemons, one per routing protocol and another one called Zebra acting as the kernel routing manager. Each daemon has its own configuration file and terminal interface which can be accessed by telnet.<br />
The vtysh tool is provided to configure the Quagga router from the localhost, in a unique interface.<br />
See the Quagga tutorial for instructions on configuring the router.</p>
<p>Quagga works independently from the operational system (OS) over which it is installed. This is not the case for the open source Vyatta router or the commercial routers where the OS and the routing engine are built together.<br />
With Vyatta routers, you can access the operational system (a modified version of the Debian Linux distribution) but even this is not necessary to configure the router.<br />
With commercial routers like Cisco or Nortel, you can access only the router interface.</p>
<p>It must be emphasised that Quagga owns only routing capabililies and functionalities associated with it, such as access lists or route maps. It does not provide &#8220;non-routing&#8221; functionalities such as DHCP server, NTP server/client or ssh access but it is often possible to enable them on the operating system supporting your Quagga router.<br />
See the Routers&#8217; comparison to get an overview about the functionalities available with Cisco, Vyatty or Quagga routers.<br />
The Quagga Command line Interface is very similar to the Cisco IOS software allows it to be configured very easily for those who are familiar with Cisco.</p>
<p>And finally, little story: the word &#8216;quagga&#8217; comes from an extinct animal which was a subspecies of the plains zebra.</p>
<p>1. QUAGGA DAEMONS:</p>
<p>You have to activate the Quagga daemons matching the routing protocols you want to set on your router.<br />
zebra:<br />
bgpd:<br />
ospfd:<br />
ospf6d:<br />
ripd:<br />
ripngd:     Interface declaration and static routing<br />
BGP routing protocol<br />
OSPF routing protocol<br />
OSPF IPv6 routing protocol<br />
RIP v2 routing protocol<br />
RIP Ipv6 routing protocol<br />
In the example below, the zebra and IPv4 OSPF daemon have been activated.</p>
<p>#vim /etc/quagga/daemons<br />
zebra=yes<br />
bgpd=no<br />
ospfd=yes<br />
ospf6d=no<br />
ripd=no<br />
ripngd=no</p>
<p>Restart the Quagga service:</p>
<p>#/etc/init.d/quagga restart<br />
Stopping Quagga daemons (prio:0): ospfd zebra (bgpd) (ripd) (ripngd) (ospf6d) (isisd).<br />
Removing all routes made by zebra.<br />
Nothing to flush.<br />
Loading capability module if not yet done.<br />
Starting Quagga daemons (prio:10): zebra ospfd.</p>
<p>You can check the Quagga daemons status:</p>
<p>#ps -ef | grep quagga<br />
UID     PID     PPID     C     STIME     TTY     TIME     CMD<br />
quagga     4632     1     0     22:25     ?     00:00:00     /usr/lib/quagga/ospfd &#8211;daemon<br />
quagga     4636     1     0     22:25     ?     00:00:00     /usr/lib/quagga/zebra &#8211;daemon<br />
If a Quagga daemon doesn&#8217;t stop properly, you can kill it manually and start the quagga service:</p>
<p>#kill -9 &#8220;UID number&#8221;<br />
#/etc/init.d/quagga start</p>
<p>2. CONFIGURATION FILES: (/etc/quagga/*.conf files)</p>
<p>You must create a configuration file (even if it is empty) each time you activate a Quagga daemon.<br />
Each daemon is associated with a specific file name:</p>
<p>zebra:<br />
bgpd:<br />
ospfd:<br />
ospf6d:<br />
ripd:<br />
ripngd:     zebra.conf<br />
bgpd.conf<br />
ospfd.conf<br />
ospf6d.conf<br />
ripd.conf<br />
ripngd.conf<br />
To create the config files, copy the sample config files as follows:<br />
In our example, as we activated the zebra and ospfd daemons; we need to create the zebra.conf and ospfd.conf files.</p>
<p>#cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf<br />
#cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf<br />
Another way to do it is to create two empty files called /etc/quagga/ospfd.conf and /etc/quagga/zebra.conf. But in this case you cannot telnet a daemon, you need to configure the telnet permissions with vtsh (see below).</p>
<p>Finally, give user and group ownership to respectively quagga and quaggavty to the files inside the /etc/quagga directory:</p>
<p>#chown quagga.quaggavty /etc/quagga/*.conf<br />
#chmod 640 /etc/quagga/*.conf<br />
Restart the Quagga service:</p>
<p>#/etc/init.d/quagga restart<br />
Top of the page</p>
<p>3. DEBIAN.CONF FILE</p>
<p>By default, the Quagga daemons are listening only to the loopback interface 127.0.0.1. It means that you can telnet a daemon only on its loopback address 127.0.0.1 and thus cannot access it remotely.</p>
<p>If you want to telnet a Quagga daemon remotely you can, in the /etc/quagga/debian.conf file. Either indicate one or several IP addresses or remove the -A option meaning that you can telnet a daemon on any of its IP addresses.</p>
<p>Here are two examples:</p>
<p>The ospfd daemon is listening to the 127.0.0.1 and 192.168.1.104 IP addresses.<br />
ospfd_options=&#8221; &#8211;daemon -A 127.0.0.1 192.168.1.104&#8243;</p>
<p>The zebra daemon is listening to all the Linux interfaces IP addresses. We recommend using this setting. If you want to filter who can access to your router, configure access lists on the router software.<br />
zebra_options=&#8221; &#8211;daemon &#8221;</p>
<p>Here is the recommended debian.conf file:</p>
<p>#vim /etc/quagga/debian.conf</p>
<p># If this option is set the /etc/init.d/quagga script automatically loads<br />
# the config via &#8220;vtysh -b&#8221; when the servers are started.<br />
# Check /etc/pam.d/quagga if you intend to use &#8220;vtysh&#8221;!<br />
#<br />
vtysh_enable=yes<br />
zebra_options=&#8221; &#8211;daemon -A &#8221;<br />
bgpd_options=&#8221; &#8211;daemon -A &#8221;<br />
ospfd_options=&#8221; &#8211;daemon -A &#8221;<br />
ospf6d_options=&#8221;&#8211;daemon -A &#8221;<br />
ripd_options=&#8221; &#8211;daemon -A &#8221;<br />
ripngd_options=&#8221;&#8211;daemon -A &#8221;<br />
isisd_options=&#8221; &#8211;daemon -A &#8221;</p>
<p>The &#8220;vtysh_enable=yes&#8221; setting is required to access the Quaggga router via vtysh. (see vtysh section).</p>
<p>Restart the Quagga service</p>
<p>#/etc/init.d/quagga restart<br />
Top of the page</p>
<p>4. VTYSH</p>
<p>As indicated in the Quagga introduction, you can access the daemons by telnetting their port number because each daemon has its own configuration file and terminal interface.</p>
<p>zebra:<br />
ripd:<br />
ripng:<br />
ospfd:<br />
bgpd:<br />
ospf6d:         2601<br />
2602<br />
2603<br />
2604<br />
2605<br />
2606<br />
By instance, to access the ospfd daemon:</p>
<p>#telnet localhost 2604<br />
As it&#8217;s not very practical to configure your router by telnetting its daemons separately, vtysh has been created to configure everything in one single interface.</p>
<p>To use vtysh, you must first create its configuration file as follows:</p>
<p>#cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf</p>
<p>/etc/quagga/vtysh.conf<br />
!<br />
! Sample<br />
!<br />
! service integrated-vtysh-config<br />
hostname quagga-router<br />
username root nopassword<br />
!</p>
<p>Apply correct permissions and restart Quagga:</p>
<p>#chown quagga.quaggavty /etc/quagga/*.conf<br />
#chmod 640 /etc/quagga/*.conf<br />
#/etc/init.d/quagga restart<br />
In the example above the &#8220;service integrated-vtysh-config&#8221; setting has been disabled (recommended). In this case, when you save the config under vtysh, it will be stored in separate files depending on the protocols you activated.<br />
Below, an example where the Quagga configuration is saved under vtysh. (The zebra and ospfd daemons have been enabled.)</p>
<p>#vtysh<br />
quagga-router#write<br />
Configuration saved to /etc/quagga/zebra.conf<br />
Configuration saved to /etc/quagga/ospfd.conf</p>
<p>If you activate &#8220;service integrated-vtysh-config&#8221;, the configuration under vtysh will be saved in one file called Quagga.conf in the /etc/quagga/ directory.<br />
With this setting, when you access a daemon via telnet, the daemon will look first to the Quagga.conf file before looking for its own file. This means that, when you telnet a device, there can be a difference between what you see after the &#8220;show run&#8221; command and the content of the associated file, for example zebra.conf.</p>
<p>#vtysh<br />
quagga-router#write<br />
Configuration saved to /etc/quagga/Quagga.conf</p>
<p>It is recommended to disable &#8220;service integrated-vtysh-config&#8221; because if this setting is enabled and in case of a syntax error in the Quagga.conf file, this can lead to all your daemons being unable to start up. This will not be case when &#8220;service integrated-vtysh-config&#8221; is disabled because the configurations are stored in separate files.</p>
<p>Check that the default &#8220;vtysh_enable=yes&#8221; setting are configured in your /etc/quagga/debian.conf file. You can read the previous paragraph about the debian.conf file to get more information.</p>
<p>Then it&#8217;s useful to add the &#8220;VTYSH_PAGER=more&#8221; setting in your /etc/environment file, otherwise you will see an unfriendly &#8220;(END)&#8221; blinking in the left-down corner of the screen each time your enter a command and will need to press the &#8220;q&#8221; key to continue.</p>
<p>#echo VTYSH_PAGER=more &gt; /etc/environnement<br />
Log off and log on to enable the environment setting. You can now access the Quagga router with the vtysh command:</p>
<p>#vtysh<br />
Hello, this is Quagga (version 0.99.6).<br />
Copyright 1996-2005 Kunihiro Ishiguro, et al.</p>
<p>quagga-router#</p>
<p>If you want to run a Quagga command from the Linux shell:</p>
<p>#vtysh -c &#8220;command&#8221;<br />
For instance, vtysh -c &#8220;show ip route&#8221; will display the Quagga routing table.</p>
<p>You can use ping and traceroute to perform connectivity checks from the vtysh prompt. Of course, these two programs need to be installed on the Linux machine. Ping is generally installed by default but traceroute often not.<br />
To install traceroute:</p>
<p>#apt-get install traceroute<br />
Top of the page</p>
<p>5. IP FORWARDING:</p>
<p>IP forwarding is required to transfer packets between the network interfaces of a Linux system.<br />
See a picture of the Linux kernel routing.</p>
<p>#echo &#8220;1&#8243; &gt; /proc/sys/net/ipv4/ip_forward<br />
The command above will add the &#8220;1&#8243; value inside the /proc/sys/net/ipv4/ip_forward file and thus activate the IP forwarding.<br />
If you want to keep the IP forwarding after a Linux reboot:</p>
<p>#echo &#8220;net.ipv4.ip_forward = 1&#8243; &gt;&gt; /etc/sysctl.conf<br />
It is possible to check the ip_forwarding status under the Quagga router:</p>
<p>#show ip forwarding<br />
IP forwarding is on</p>
<p>In this case the IP forwarding is activated.</p>
<p>Top of the page.</p>
<p>6. SPEED/DUPLEX:</p>
<p>It is not possible to set the duplex and speed settings on the Quagga plateform. You have to configure them at the Linux level.<br />
Use the interface configuration tutorial for assistance.</p>
<p>Here is a comparison of some characteristics  you can find on four     routers: the first two are the best open source routers available,     <a href="http://www.quagga.net/docs/quagga.html#SEC5" target="_blank">Quagga</a> and     <a href="http://www.vyatta.com/" target="_blank">Vyatta</a> and the remaining two are commercial devices and best-sellers from Cisco:      a standard router from the 26xx family and a Layer Three Switch 3750.</p>
<table class="texte_table1" border="0" cellspacing="0" cellpadding="1">
<tbody>
<tr>
<td width="66"></td>
<td width="68" align="center">RFC</td>
<td width="73" align="center">QUAGGA<br />
0.99.6</td>
<td width="66" align="center">VYATTA<br />
VC 3.0</td>
<td width="66" align="center">CISCO<br />
2651</td>
<td width="66" align="center">CISCO<br />
3750 L3</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Software type</td>
<td></td>
<td align="center">IOS-Like</td>
<td align="center">JunOS-Like</td>
<td align="center">Cisco IOS</td>
<td align="center">Cisco IOS</td>
</tr>
<tr>
<td>Opensource</td>
<td></td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">NO</td>
<td align="center">NO</td>
</tr>
<tr>
<td>Installation</td>
<td></td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">NO</td>
<td align="center">NO</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Static Routing</td>
<td>-</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>RIPv2</td>
<td>2453</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>OSPFv2</td>
<td>2328</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>BGPv4</td>
<td>1771/4271</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>NAT</td>
<td>2766</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">NO</td>
</tr>
<tr>
<td>VRRP</td>
<td>3768</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">NO</td>
</tr>
<tr>
<td>Access lists</td>
<td></td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>Route maps</td>
<td></td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>VPN IPSec</td>
<td>4301</td>
<td align="center">NO/Linux (1)</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>VPN SSL</td>
<td></td>
<td align="center">NO/Linux (2)</td>
<td align="center">NO/Linux (2)</td>
<td align="center">NO</td>
<td align="center">NO</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>FTP client</td>
<td>959</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>TFTP client</td>
<td>1350</td>
<td align="center">NO</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>Telnet server</td>
<td>854</td>
<td align="center">YES (3)</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>ssh server</td>
<td>4251</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES/NO</td>
<td align="center">YES/NO</td>
</tr>
<tr>
<td>HTTP server</td>
<td></td>
<td align="center">NO</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>DHCP server</td>
<td>2131</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>DHCP relay</td>
<td></td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>NTP server</td>
<td>1305</td>
<td align="center">NO/Linux</td>
<td align="center">NO</td>
<td align="center">YES/NO</td>
<td align="center">NO</td>
</tr>
<tr>
<td>NTP client</td>
<td>1305</td>
<td align="center">NO/Linux</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>SNMP</td>
<td>3412/1157</td>
<td align="center">YES (4)</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td></td>
<td></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Ping</td>
<td></td>
<td align="center">YES (5)</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
<tr>
<td>traceroute</td>
<td></td>
<td align="center">YES (5)</td>
<td align="center">YES</td>
<td align="center">YES</td>
<td align="center">YES</td>
</tr>
</tbody>
</table>
<p>Legend:</p>
<table class="texte_table" style="border: 0px solid;" border="0">
<tbody>
<tr style="border: 0px solid;">
<td style="border: 0px solid;">YES:<br />
YES/NO:<br />
BUGGED:<br />
NO/Linux:<br />
(1)<br />
(2)<br />
(3)</p>
<p>(4)<br />
(5)</td>
<td style="border: 0px solid;"></td>
<td style="border: 0px solid;">The protocol is supported.<br />
Available on specific Cisco IOSs only.<br />
There is a major bug on the protocol.<br />
Not supported on the Quagga router but can be enabled at the Linux level.<br />
Openswan can be used as an implementation of IPsec for Linux.<br />
OpenVPN can be used to build SSL VPNs on Linux.<br />
Each routing protocol daemon  and the zebra kernel routing manager have to be telnetted separately.<br />
Quagga must be compiled with the SNMP functionality.<br />
Ping or traceroute must be installed at the Linux level to be used under Quagga.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://linuxblog.ro/quagga-realms-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
