Go Back   DaemonForums > Miscellaneous > Guides

Guides All Guides and HOWTO's.

Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1   (View Single Post)  
Old 13th April 2010
vermaden's Avatar
vermaden vermaden is offline
Join Date: Apr 2008
Location: pl_PL.lodz
Posts: 1,053
Post HOWTO: multiple default routes

Thanks to phoenix help I was able to setup multiple default routes, or a default route per network/interface to be precise, in Debian/Linux it is as simple as that:

iface eth0 inet static

iface eth1 inet static
That would be example topology (but more then 2 interfaces is also possible).
 NETWORK0                      NETWORK1
         \                            /
          \                          /
           \                        /
            \                      /
             \                    /
          ROUTER0             ROUTER1

              \                  /
        |       \              /       |
        |       em0          em1       |
        |     |
        |                              |
        |         FREEBSD BOX          |
        |                              |
Now, You can not use the 'casual' defaultrouter="X" cause it will be only for one network.

We will have to use setfib(1) to create two (or more) separete routing tables per network/interface.

Add these lines to /boot/loader.conf file:
It will unfortunately require kernel recompile, but its not as that hard:
# cd /usr/src/sys/$( uname -m )/conf
# ln -s /root/ROUTES
# echo "options ROUTETABLES=16" >> ROUTES
# cd /usr/src
# make NO_MODULES=1 kernel KERNCONF=ROUTES KODIR=/boot/routes
# mv /boot/routes/kernel /boot/kernel/kernel
# reboot
We can of course set 2 instead of 16, but You will at least have to recompile Your kernel again and reboot which is not very handy ...

Nest set your networks/interfaces as usual in /etc/rc.conf file:
# check /etc/rc.local for default routes

All the rest configuration resides in /etc/rc.local file:
# define default routes
setfib 0 route delete default
setfib 0 route add    default
setfib 1 route delete default
setfib 1 route add    default

# assing route tables to interfaces
ipfw -f flush
ipfw add allow    ip from any to any via lo0
ipfw add setfib 1 ip from any to any via em0
ipfw add setfib 0 ip from any to any via em1
ipfw add allow    ip from any to any
These would be handy for restarting:
# /etc/rc.d/netif restart
# /etc/rc.d/local restart
... and thats all folks.
religions, worst damnation of mankind
"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds

Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”.
vermaden's: links resources deviantart spreadbsd
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
change default font of the X rex FreeBSD General 2 26th October 2008 05:54 PM
apache 2.2.8 , is it on chroot by default? superslot OpenBSD Security 9 30th June 2008 11:56 AM
is default security applied? BFlatMinor OpenBSD Security 7 21st June 2008 03:36 PM
cvs-supfile default prefix maxrussell FreeBSD General 2 24th May 2008 10:49 AM
Default installation and Xenocara... maurobottone OpenBSD Installation and Upgrading 2 20th May 2008 10:12 PM

All times are GMT. The time now is 01:45 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick