- Install ‘net/quagga’ from ports:
# cd /usr/ports/net/quagga # make # make install
- Copy the sample configuration files into place
# cd /usr/local/etc/quagga # cp /usr/local/share/examples/quagga/zebra.conf.sample zebra.conf # cp /usr/local/share/examples/quagga/ospfd.conf.sample ospfd.conf
- Have a look at these files; they are very simple. “zebra” is the overall manager of the IP forwarding table; “ospfd” is the daemon which speaks the OSPF protocol.
- On the router machine, edit /usr/local/etc/quagga/ospfd.conf and add an OSPF section listing the network(s) on which you wish to exchange OSPF information
router ospf redistribute connected network 184.108.40.206/26 area 0
- Configure your interfaces as normal
# ifconfig eth0 x.x.x.x netmask y.y.y.y # ifconfig eth1 x.x.x.x netmask y.y.y.y
- Edit /etc/rc.conf to enable the daemons we want:
quagga_enable="YES" quagga_daemons="zebra ospfd"
- Start the selected daemons:
# /etc/rc.d/quagga start
- Check your forwarding table (netstat -rn)
- You can manage the router using telnet: the interface is just like a Cisco router! This lets you make configuration changes in real time.
# telnet 127.0.0.1 2601 -- to manage zebra (password "zebra") Try: show interface enable -- to get superuser mode (password "zebra") show run show ip route exit # telnet 127.0.0.1 2604 -- to manage ospfd Try: show ip ospf neighbours show ip ospf route exit Hint: use [TAB] for command completion, and '?' to get a list of options
- On the client machine, you can just point default route at the router. Or if you wish to play with zebra, then install it as above. You will need a ‘network’ statement on both machines to exchange information.
If you were running this in production, remember to change the default passwords!