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

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
Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 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

Leave a Comment