FreeBSD Static Routing Configuration

by on February 3, 2008 · 13 comments· LAST UPDATED February 3, 2008

in , ,

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
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:

networkrouter 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.1via 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.

Further readings:

  • See man pages - mrouted, router and rc.conf
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 13 comments… read them below or add one }

1 Feargal Reilly March 20, 2009 at 2:34 pm

Note: Using “/etc/rc.d/netif restart” over a remote connection can be a bad idea. It’ll tear down all of your interfaces so you will lose your connection. Things such as ppp may get confused, leaving you unable to reconnect.

Reply

2 nixCraft March 20, 2009 at 3:23 pm

You can use KVM / KVMoIP for remote systems.

Reply

3 SEanS April 27, 2009 at 2:46 pm

I have set up the BSD routing so many time it is a joke but when I ping google.le it still tells me:
ping: cannot resolve google.ie: Host name lookup failure
So can some one please show me what to do?
Thanks in advance, SEanS

Reply

4 nixCraft April 27, 2009 at 3:11 pm

What about /etc/resolv.conf file?

Reply

5 Sukri May 6, 2009 at 5:13 pm

may be you not input dns corectly
please input primary &secondary DNS

#primary DNS
nameserver=xxx.xxx.xxx.xxx
#secondary DNS
nameserver=xxx.xxx.xxx.xxx

Good luck

Reply

6 Bayou June 29, 2009 at 7:23 am

Him

I have two nic card.
de0 public ip address
r10 private ip address
when I enter de0 first i did the host and then gateway and the ip4 public aand subnett
BUT when I try to enter the private ip on r10 I see the previous confguration I did with de0
Please advise how to enter r10 the private ip address. Please show me an example how to make it work?

Thanks, B

Reply

7 Bayou July 5, 2009 at 3:24 am

I have two nic card.
de0 public ip address
r10 private ip address
when I enter de0 first i did the host and then gateway and the ip4 public aand subnett
BUT when I try to enter the private ip on r10 I see the previous confguration I did with de0
Please advise how to enter r10 the private ip address. Please show me an example how to make it work?

Thanks, B

Reply

8 M. O. Afeef September 25, 2009 at 11:17 pm

I have Modem Speedtoutch it is working Put Without Password
Imean The wirelees link Is open I need to look it .

Reply

9 Thord matre June 23, 2010 at 1:40 pm

You should also apply default to your list of static routes.

static_routes=”lan default”
route_lan=”-net 192.168.1.0/24 192.168.4.1″

defaultrouter=”aaa.bbb.215.185″

Reply

10 eric August 11, 2011 at 11:11 am

Hi, everyone.

can i ask some technical question, i have a setup lucent IP telephony i want to connect to the abudhabi using ip telephony also it is posible use freebsd as my firewall?

Thank you.

Reply

11 Dánial November 1, 2011 at 11:31 am

I’m running FreeBSD 8.2 and after adding the routes to rc.conf I activated them by running:

# /etc/rc.d/routing static

Reply

12 Leandro TNK December 6, 2011 at 5:40 am

Danial

Tons of thx man, you’re the man!!! =D
I spent hours trying to solve this problem and this command worked like a charm to me =D

now freebsd can resolve names =D

thx thx thx

Reply

13 chatzki February 25, 2014 at 8:25 am

From 9.0 version it is sufficient to restart only ‘routing’ service:
# service routing restart

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: