I have been experimenting with Linux routers. I have discovered some interesting stuff.
All I have to do is to type
echo "1" > /proc/sys/net/ipv4/ip_forward
and I have a router. I did not know it was so easy.
Applications such as Quagga and Zebra are useful if you need to use dynamic routing protocols like rip, ospf, etc. If you have a simple LAN and need to route between a few segments, they are not necessary. Change the value of ip_forward, add some static routes and you are good to go.
I have a question. I have set up a router on a test network. I type route -n to see the router's static routes. See the attachment for the output. I have formated the attachment for Linux and Windows.
What does the following line mean? It is the third route.
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
At first the machine would not route the packets between the subnets. It started routing after I deleted this route.
On Windows I see a 169 address when the workstation cannot connect to dhcp to get an address. The router is using fixed i.p. addresses so this should not be an issue.