How to forward traffic out via a non-default interface?

Mikhail T. mi+thun at aldan.algebra.com
Sat Oct 29 20:21:34 UTC 2016


Hello! I asked this question online already:

    http://superuser.com/q/1138996/247471?sem=2

if you have an answer, please, share it wherever you feel appropriate...

have a fairly vanilla home LAN with an Internet provider-supplied router 
providing DHCP. The router uses many of its default settings unmodified. 
The home network is 192.168.1.0/24 and the router itself is known 
internally as 192.168.1.1.

I need to configure several similar routers to change their default 
settings. One of my computers (running FreeBSD) has a spare Ethernet 
interface (|bce0|) and I connected one of these additional routers to 
it. As expected, this router /also/ uses 192.168.1.1. The machine now 
has two "configured" interfaces:

  * |bce1| -- 192.168.1.8, which is connected to the "real" router,
    connecting it to the Internet and the rest of the home LAN
  * |bce0| -- 192.168.1.5, which is connected to the second router,
    which I need to change to use different network settings

How can I reach this second router without breaking the machine's 
connectivity with the LAN and the Internet? Simply trying to reach 
192.168.1.1 goes through |bce1| and reaches my normal router...

Can |ipfw(8)| somehow force certain packets to go out using |bce0| 
instead of |bce1|? Preferably, without the use of "fib", because adding 
one requires a reboot...

Thanks! Yours,

    -mi




More information about the freebsd-net mailing list