FreeBSD static routing set gateway to link

freebsdnetworkingrouting

I am running FreeBSD 8.1 and configuring static routes. What is the route command to set the gateway to link#1 and not an IP address?

I tried route add default link#1 but FreeBSD doesn't take it. With Cisco IOS it's possible to route to a next-hop gateway this way with ip route. For example, Cisco IOS will take ip route 172.16.2.0 255.255.255.0 Serial 0/0. What is the equivalent UNIX command to do the same?

I statically configured netif em0 to 172.16.1.102 The state of my FreeBSD instance shows link#1 exactly once as follows.

Destination     Gateway
...
localhost      link#3    UH   ...    lo0
172.16.1.0     link#1    U    ...    em0

...

Best Answer

You need to stop, take 10 giant steps back from the machine, and read the FreeBSD handbook section on networking (specifically the section on Gateways and Routes).

. . . go ahead, this answer will still be here when you're done. . . .

You read it? Good.
Now you understand that what you're asking to do makes no sense, right?


FreeBSD generally handles routes two ways:

  1. I am connected to this network directly, via a NIC (interface, link)
    The system knows this because when you configure an interface you provide an IP address and a netmask. Any machines on the subnet specified by that combination are reachable over that link.

  2. I can reach this network via a gateway machine with a specific IP address
    The system knows this because you configure a route to a specific destination (a single address, a subnet, or the "default" route for any destination not otherwise specified), and tell it which machine (address) will be the gateway that it should send traffic to in order to reach that destination.
    Implicit in this is that you must be able to reach this gateway (either via a link as in (1) above, or via another gateway.

You cannot configure a link as a gateway - doing so makes no sense as any network(s) reachable via a specific link will be automatically configured for you when you configure the interface.

You can do other things (like simply spew traffic onto a serial line), which are all documented in the handbook if you're actually in one of the rare situations where you would need to, but you've given no indication that you're in such a situation.

Related Topic