Using FreeBSD as a router

Steffen Schumacher steffen at schumacher.dk
Wed Aug 22 07:35:14 PDT 2007


On 22.08.2007 08:32:41 -0500, Josh Paetzel wrote:
> Steffen Schumacher wrote:
> > On 22.08.2007 12:30:54 +0100, Tom Judge wrote:
> > > Steffen Schumacher wrote:
> > > 
[cut..]
> > /Steffen 
> 
> "You keep using that word. I do not think it means what you think it
> means."
> 
> In FreeBSD the default route is a directly connected host that it can
> send packets to that it doesn't have a specific route to.  It's not
> going to 'figure out' a default route from a network address.
> 
Ok, I'll try to elaborate what it is I'd like:
For each route a 'router' must have some next-hop information, so that
it knows how to forward traffic for that prefix. Typically the interface,
and possibly a layer2 address (mac for ethernet) if such exist.
Normally (virtually all the time) static routes are directed at connected
hosts, just as you explain. This way it is simple to get the next-hop
info, because it is the same as for that connected host.

What I would like is for the router to realize the configured next-hop
isn't a directly connected host, and as a result attempt to lookup that
host to see if we have a route for the next-hop address. If we do, then
we use the next-hop information from this second lookup and use the
next-hop information for the original route. 
This is what I mean with recursive route lookups.

1. normal lookup
0/0 -> x.
x/30 -> fxp0.
=> 0/0 -> mac of x via fxp0.

2. recursive lookup
0/0 -> y.
y/16 -> x/30.
x/30 -> fxp0.
=> 0/0 -> mac of x via fxp0.

Hope this clarifies, but it does seem there is very little support for this.
Does anyone know the whereabouts of this in the FreeBSD code? 

/Steffen

> There are a lot of hacks people use to get around this, some of the
> are of the 'ping this ip periodically and if it goes away swap the
> default route' nature.
> 
> You could also investigate running CARP/HSRP/VRRP/GLBP  on these two gateways 
> so they can sit on the same IP, thus obliviating the need to change
> the default route at all.
> 
> I've never actually tried getting FBSD to grap it's own routing
> information from a routing protocol but it's possible you could go
> down that route as well...
> 
> -- 
> Thanks,
> 
> Josh Paetzel




More information about the freebsd-isp mailing list