Idea: Support for virtualized routing table / VRF support



  • Idea: it would be nice to introduce support for OpenBSD virtualized routing table, thus to have the option of more than one routing domain. Or in Cisco words, make PFsense VRF aware. This could be useful for isolated networks and/or different clients.

    All should be there in OpenBSD, here's an example:
    http://www.packetmischief.ca/2011/09/20/virtualizing-the-openbsd-routing-table/

    Thanks for all the development on PFsense, I like it a lot.

    Greetings
    Rufer


  • Rebel Alliance Developer Netgate

    FreeBSD already has multiple routing tables with setfib(1). We don't have it in the GUI though, as there isn't really a compelling reason to use it in many cases as it tends to overcomplicate things and make them more confusing.

    I've used it to run jails with a different default gateway than the main host, but that's about the only case I've seen where it made much sense.



  • I very much agree this should be optional.
    May be a networkers thing… I wanted to create two separate internal networks with different 0.0.0.0 route. Two independent VRFs in Cisco terms.

    Greetings
    Rufer


  • Rebel Alliance Developer Netgate

    Why not just use policy routing to do that, like any other multi-wan setup?

    Interface rules for Net1:
    pass from Net1 to other internal/vpn networks (no gateway set – will follow routing table)
    pass from Net1 to *, gateway of whatever default Net1 should have

    Interface rules for Net2:
    pass from Net2 to other internal/vpn networks (no gateway set -- will follow routing table)
    pass from Net2 to *, gateway of whatever default Net2 should have

    No need for anything extra



  • It is possible, yes. On the other hand, policy routing tends to get complicated, too.
    VRF support would make a difference to other products. It's just an idea and everything is there.

    Greetings
    Rufer



  • Would this also solve/be a way of implementing a remedy to the "Multiple WAN with same gateway"-issue? See, e.g. http://forum.pfsense.org/index.php/topic,44059.0.html. This http://forum.pfsense.org/index.php/topic,10069.0.html old post seems to indicate that there at least was some interest in that issue…

    Cheers!



  • It permits this - depending on how it is implemented.

    Virtualized routing table support (aka VRF support) will permit two independent WAN interfaces, each with its own default route. That's relatively easy to implement in my opinion.
    If you want one single LAN behind, you need to route/NAT packets between different routing tables. As far as I read the documentation, PF supports routing between different routing tables, but I'm not sure about NAT.

    Greetings
    Rufer


  • Rebel Alliance Developer Netgate

    For that it's better to use ECMP, though from what Ermal said, using pf for state tracking on ECMP links isn't ideal (yet?).



  • Uhmmm .. just to see if I understand, equal cost multipath routing was implemented in FreeBSD 8 but is not in pfSense, right? You meant that it would be better to implement a solution to what has been mentioned in this thread by implementing support for ECMP rather than using e.g. setfib(), right?

    Cheers!


  • Rebel Alliance Developer Netgate

    AFAIK setfib does multiple routing tables, it doesn't do multiple arp tables. You still can't have the same IP+MAC on two interfaces with multiple routing tables unless they can also separate based on interface.

    ECMP lets you talk to the same destination via multiple paths, which is better for that scenario.


Log in to reply