Wednesday, March 11, 2009

FreeBSD Static Routing Configuration

FreeBSD Static Routing Configuration
by Vivek Gite

Q. How do I configure FreeBSD for static routing? I'd like to set default route to 60.1.2.3 and static route for network 192.168.1.0/24 using 192.168.1.254 router. How do make configuration persistence?

A. You can use FreeBSD route command to setup a default route / gateway. You need to edit /etc/rc.conf configuration file to setup static and default routing.

FreeBSD Static Routing Configuration
Open /etc/rc.conf file using a text editor:
# vi /etc/rc.conf
Set default router IP to 60.1.2.3:
defaultrouter="60.1.2.3"
Create static routing for lan network 192.168.1.0/24, append following two lines:
static_routes="lan"
route_lan="-net 192.168.1.0/24 192.168.1.254"
Save and close the file. Where,

static_routes="lan" : Set to the list of static routes that are to be addedat system boot time.
route_lan="-net 192.168.1.0/24 192.168.1.254" : Specify roting network and router IP address
defaultrouter="60.1.2.3" : Set a default route to this host name or IP address. It is recommended that you use an IP address.
Restart FreeBSD networking service to update routing information:
# /etc/rc.d/netif restart && /etc/rc.d/routing restart

To view routing table, enter:
# netstat -r
# netstat -rn

How do I add multiple static routes?
For each whitespace (blank space) separated element in the value, a route_ variable is assumed to exist whose contents will later be
passed to a route add operation at boot time. For example, setup static routing as follows:

network router IP
lan (192.168.1.0/24) 192.168.1.254
mumoffice (10.0.0.0/8) 10.30.110.5
foo 169.254.1.1 via loopback (lo0)

Add following to /etc/rc.conf
static_routes="lan mumoffice foo"
route_lan="-net 192.168.1.0/24 192.168.1.254"
route_mumoffice="-net 10.0.0.0/8 10.30.110.5"
route_foo="-host 169.254.1.1 -iface lo0"
FreeBSD Multicast Roting Configuration
Multicast routing requires that support be compiled into the kernel with the following option:
options MROUTING
In addition, the multicast routing daemon, mrouted must be installed and configured to set up tunnels and DVMRP via /etc/mrouted.conf. See mrouted page at offical FreeBSD project page for more information.

No comments: