Re: Routing challenges with DHCP and static interfaces

Teemu Rinta-aho <[email protected]> Fri, 16 Nov 2012 11:08:07 +0200
Newsgroups gmane.os.openbsd.pf
Message-ID <[email protected]>
On 16.11.2012, at 7.34, [email protected] wrote:

> I recently moved from OpenBSD 4.9 to 5.2, and onto a new machine with an extra enet port for the backup cable modem. DSL with a block of static IPs is the primary external interface. My plan was add rules with route-to to route specific traffic to the cable modem.
> 
> First thing, I can't seem to write a rule that will route anywhere other than to the default interface. For example, a rule such as "pass in quick on em0 from any to 1.2.3.4 keep state route-to ( em2 $em2GatewayAddr )" should do it. But then "telnet 1.2.3.4" causes a packet to go out em1, which is the interface hosting the default route. "pfctl -vvs rules" does show the route-to rule as one would expect, and it is being evaluated, but no packets match. I can't see any reason for packets to not match.
> 
> A second problem is that the cable modem must get an address using DHCP. To route to the cable modem, I assume that route-to rules must contain the gateway address. But it is not clear how to get that from DHCP issued address into a rule. Is there a way to do it, or is my approach incorrect ?
> 
> George


Hi George,

please check my blog posts 

http://www.rinta-aho.org/blog/?p=168 (original, without VLANs) and
http://www.rinta-aho.org/blog/?p=346 (with VLANs)

I faced, and solved, the same problems as you although my goal was a bit
different and maybe more complicated (get multiple public IPs from the same ISP).
Basically I use pf tables to store the next hop routers and update those from dhclient.

Hope it helps!

BR,
Teemu