FreeBSD routing

Richard Burakowski richard.burakowski at mrburak.net
Tue Oct 18 19:52:35 PDT 2005


Bob Hepple wrote:

>Well, it has to be taught ... eg with a FreeBSD 2.214 I can do this:
>route delete default
>route add -net 192.168.254.0 -interface xl0 # !!!
>route add default 192.168.254.245
>cp /etc/resolv.conf.home /etc/resolv.conf
>  
>
well, my turn ...

from the man page:
    If the destination is directly reachable via an interface requiring no
    intermediary system to act as a gateway, the -interface modifier should
    be specified; the gateway given is the address of this host on the 
common
    network, indicating the interface to be used for transmission.

what i've now come to understand hinges on the phrase "address of this 
host on the common network, indicating the interface to be used for 
transmission.".  note this is not *the* interface.  for ethernet, it's 
the local interface and the destination's mac address.  the format of 
this address is partly described in link_addr(3).

route add 192.168.2.214/32 -link -interface rl0:x:x:x:x:x:x

if you want the kernel to use arp to find the mac address, you 
specifically have to tell it to:

route add 192.168.2.214/32 -interface rl0 -cloning

a giveaway should have been the duplicate mac addresses in your routing 
tables which we all missed.

cheers,

richard


More information about the freebsd-questions mailing list