Quagga is a routing software package which supports following protocols: RIP, OSPF, BGP, IPv4, IPv6, etc.
NetBSD provides network configuration through ifconfig, route, netstat, etc.
In the alternative Quagga also can setup interface's, addresses, flags, routes and so on. Quagga provides and handles the alternative networking options. Quagga can be in use for single xDSL connection, small network configuration and to set-up backbone routers for really large network.
Very often Quagga in use together with NetBSD networking. NetBSD serves interfaces and Quagga serves routing.
Traditionally ISP's uses Quagga for RIP, OSPF and BGP routing.
To install Quagga Routing Suite do:
# cd /usr/pkgsrc/net/quagga # make install
Configuration files located at /usr/pkg/etc/zebra.
To run quagga during machine start you can add into rc.local file following:
mkdir /var/run/zebra chown quagga /var/run/zebra chgrp quagga /var/run/zebra /usr/pkg/sbin/zebra -d /usr/pkg/sbin/bgpd -d
Put in /usr/pkg/etc/zebra/zebra.conf following:
hostname yourhostname password yourpassword enable password yourpassword
Log files located at: /var/log/quagga/.
If you need to define lo put the following in /usr/pkg/etc/zebra/zebra.conf, for an example:
interface lo ip address 127.0.0.1/8 ip address A.B.C.D/32 (this is your host real IP address)
To enable network interfaces put for an example:
interface rtk0 ip address 192.168.170.201/24 multicast
Note. This is alternative way to setup network interfaces instead of /etc/ifconfig.xxx configuration files.
Example of content for /usr/pkg/etc/zebra/bgpd.conf file:
! hostname bgpd.qw password xxxx enable password xxxx log file /var/log/zebra/bgpd.log ! router bgp 12121 bgp router-id 192.168.170.1 network 192.168.170.0/24 ! ! ! neighbor 192.168.171.1 remote-as 12121 neighbor 192.168.171.1 description GW-TER-UA neighbor 192.168.171.1 version 4 neighbor 192.168.171.1 soft-reconfiguration inbound neighbor 192.168.171.1 router-map UA-IN in neighbor 192.168.171.1 prefix-list UA-OUT out ! ! ! neighbor 192.168.172.1 remote-as 12121 neighbor 192.168.172.1 description GW-TER-WORLD neighbor 192.168.172.1 version 4 neighbor 192.168.172.1 soft-reconfiguration inbound neighbor 192.168.172.1 router-map WOLRD-IN in neighbor 192.168.172.1 prefix-list WORLD-OUT out ! ! ! router-map WORLD-IN permit 10 set local-preference 200 ! ip prefix-list WORLD-OUT permit 192.168.170.0/24 ! ! ! router-map UA-IN permit 10 set local-preference 100 ! ip prefix-list UA-OUT permit 192.168.170.0/24 ! ! ! access-list CONF permit 192.168.170.0/24 access-list CONF deny any ! ! ! line vty access-class CONF exec-timeout 120 0
Here is an example of /usr/pk/etc/zebra/ospfd.conf file:
hostname yourhostname password yourpassword enable password yourpassword interface rtk0 no ip ospf authentication-key ip ospf hello-interval 2 ip ospf dead-interval 5 interface rtk1 no ip ospf authentication-key ip ospf hello-interval 2 ip ospf dead-interval 5 router ospf ospf router-id A.B.C.D network 192.168.170.0/24 area 0 network 192.168.171.0/24 area 0
To manage quagga router do:
See also Quagga Routing Suite