6.14. Using OSPF for Simple Dynamic Routing

Your network is growing in size and complexity, and you don't feel that ripd is doing the job for you anymore. You're riding herd on a growing number of routers, and performance is suffering. Now what?

This sounds like a job for ospfd. ospfd is more complex to administer, but it will continue to grow as your site grows, and not fail you.

This is a simple /etc/quagga/ospfd.conf configuration that does about the same job as ripd:

	!/etc/quagga/ospfd.conf
	hostname ospfd1
	password bigsecretword
	enable password bigsecretword
	log file /var/log/quagga/ospfd.log
	!
	router ospf
	  ospf router-id 33.44.55.66
	  network 0.0.0.0/0 area 0
	  redistribute connected
	  redistribute static
	!
	!administrative access controls- local machine only
	!
	access-list localhost permit 127.0.0.1/32
	access-list localhost deny any
	!
	line vty
	  access-class localhost

This forwards all routes, with no filtering or restrictions. It's good for testing, but for production systems, you should add authentication and name specific routes:

	!/etc/quagga/ospfd.conf
	hostname ospfd1
	password bigsecretword
	enable password bigsecretword
	log file /var/log/quagga/ospfd.log
	!
	interface eth0
	 ip ospf authentication message-digest
	 ip ospf message-digest-key 1 md5 bigsecretword
	!
	router ospf
	 ospf router-id 33.44.55.66
	 network 192.168.10.0/0 area 0
	 redistribute connected
	 redistribute static
	 area 0.0.0.0 authentication message-digest
	!
	!administrative access controls- local machine only
	!
	access-list localhost permit 127.0.0.1/32
	access-list localhost deny any
	!
	line vty
	  access-class localhost

ospfd is more efficient than ripd, so this could serve your needs for a long time without needing more complex configurations.

On Debian systems, remember to change /etc/quagga/daemons to read ospfd=yes. Then, restart Quagga:

	# /etc/init.d/quagga restart

On Fedora, just start ospfd:

	# /etc/init.d/ospfd start

And remember, zebra is the manager daemon, so it must always start first.

Give your routers a couple of minutes, then use your favorite routing command to see your new routing table:

	$ /sbin/route
	$ ip route show
	$ netstat -rn

Here are some definitions: