≡ Menu

FreeBSD Static Routing Configuration

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:

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.

Further readings:

  • See man pages – mrouted, router and rc.conf
Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 14 comments… add one }
  • Feargal Reilly March 20, 2009, 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.

    • nixCraft March 20, 2009, 3:23 pm

      You can use KVM / KVMoIP for remote systems.

  • SEanS April 27, 2009, 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

  • Sukri May 6, 2009, 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

  • Bayou June 29, 2009, 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

  • Bayou July 5, 2009, 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

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

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

  • Thord matre June 23, 2010, 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″

  • eric August 11, 2011, 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.

  • Dánial November 1, 2011, 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
    
    • Leandro TNK December 6, 2011, 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

      • Shaukat November 27, 2014, 7:18 am

        Thanks a lot bro… It works with
        # /etc/rc.d/routing static

  • chatzki February 25, 2014, 8:25 am

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

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , , , , , , , , , ,