Use cases for routing protocols



  • Browsing through the package manager, I can see a few alternative routing protocol packages… OSPF, RIP, BGP.

    For the average home setup where everything is just send to the modem connected to the WAN port - is there any use case?
    Meaning, is there someway (and also some benefit) to setting up some route table sharing with my ISP ?  I mean... I've only got one physical route.

    This story changes if your doing multi-WAN?

    Apologies for the basic question...  haven't quire wrapped my head around it yet.



  • For the average home user, you won't ever need any routing protocols.
    In fact, as long as there is a single link, a routing protocol is pretty much pointless, as the default gateway will have the same effect.

    Two cases where routing protocols come in handy:

    • If you have multiple ISP links, and you have a publicly routable /24 (or larger) subnet and an autonomous system number (ASN), then you could run BGP sessions with both ISPs to advertise your subnet(s) to both of them.  This is one way to achieve redundant connectivity.

    • Ifyou are joining large (many subnets) networks together and you need to ensure communication between them.  Routing protocols such as OSPF and BGP can ensure a sharing of routing information between the networks.



  • I am a home user which is going to setup a routing protocol.  I don't need it as everything can be done with static routes.  It is more trouble to setup but once setup it will be easy to change routers or have multiple routers online at the same time.  It will also help with my Cisco layer 3 switch.  I can add and subtract networks without having to change all the static routes and maybe mistyping one which causes you to debug the system again.  Once you get the protocols running it is very easy to move networks and devices in and out of the system.  I would like EIGRP but what I can afford is RIPv2.  My new (old) switch is on the way.

    Since routing protocols take bandwidth I will keep my RIP connection at a higher bandwidth than my internet connection.  The new switch will do 10G so I don't foresee any bandwidth issues.  I will start with 1 GIG since my internet connection is 300/20.



  • That must be some home network… I have 10 VLANs on my home network, and have not needed any routing protocols to date.

    EIGRP is Cisco proprietary, so don't expect to see that supported anytime soon, and if you plan to deploy IPv6 in any capacity, forget about dynamic routing protocols, as OSPFv3,  RIPng and BGP4 aren't supported on pfSense yet.

    Lastly, neither RIP, OSPF nor BGP consume bandwidth in any quantity to be of consequence to the rest of the traffic flowing on the link.



  • I am an old Cisco network guy so I know about EIGRP being Cisco proprietary but I used it for 15 years so I would feel more comfortable using it.  I am not really an IPv6 person as I retired about 10 years ago.  I think IPv4 will last me through the rest my life.  I only have 5 VLANs at my home right now. All my VLANs are separate networks and they are routed by my Cisco layer 3 switch.  I want all that information to be passed to the router network.

    The last time I ran RIP was in the old Novell days on 10meg hubs.  It was classfull routing.  RIPv2 should allow subnetting in the routing protocol.  At one point we had EIGRP consuming 20% of our 56K line.  We had to slim it down.  Things are different now with all the large pipes.

    Like I said I don't need routing protocols as static routes will work.  It sure is nice to be able to turn on a routing protocol and put an IP address on a device and it folds right into the network.



  • While it has nothing to do with routing, I use OpenBGP for maintaining an alias table of IPs to be blocked at the firewall.  The IPs are sent to pfSense from a back-end server running fail2ban.

    It all started when the Postfix package failed to gain official support and the implementation is based on this post.



  • @biggsy,
    Very novel use for BGP!



  • Not wanting to hijack the OP's thread but, yeah, it took quite a lot of web searching to find that solution - not really knowing what to look for.

    Then, I had to find a workaround for the fact that the table is cleared on a firewall rule change.

    Doktornotor pointed me to the shellcmd package and its "afterfilterchangeshellcmd" option.  I use that to call a tiny PHP script that checks whether the table is empty.  If it is, the connection to the sending host is restarted and the table is rebuilt.

    Lots of fun :)