You need to use the route command on a FreeBSD to manually manipulate the network routing tables. It provides six commands as follows:
- add : Add a route.
- flush :Remove all routes.
- delete : Delete a specific route.
- change : Change aspects of a route (such as its gateway).
- get : Lookup and display the route for a destination.
- monitor : Continuously report any changes to the routing information base, routing lookup misses, or suspected network partitionings.
Task: View / Display FreeBSD Routing Table
Use the netstat command with -r option as follows:
$ netstat -r
$ netstat -rn
Sample outputs:
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 61.221.xx.yy UGS 0 247 em1 10 10.10.110.5 UGS 0 50 em0 10.10.110/26 link#1 UC 0 0 em0 10.10.110.5 00:1b:0d:e6:58:40 UHLW 2 0 em0 1145 61.221.xx.yy/29 link#2 UC 0 0 em1 61.221.xx.yy 00:1b:0d:e6:57:c0 UHLW 2 0 em1 1055 61.221.xx/24 link#2 UC 0 0 em1 127.0.0.1 127.0.0.1 UH 0 0 lo0 |
The first two line displays default routes. To just print IPv4 routing table, enter:
# netstat -4 -r -n
Sample outputs:
To just print IPv6 routing table, enter:
# netstat -6 -r -n
Task: FreeBSD Set a default route
All network packets that cannot be sent according to the previous entries of the routing table are sent through the following default gateway:
# route add default 192.168.1.254
How do I save routing information to a configuration file?
If you reboot FreeBSD box, the routing configuration will be lost i.e. the routing information will not persist. You need to edit /etc/rc.conf file to set defaultroute:
# vi /etc/rc.conf
Set default route by editing defaultrouter variable:
defaultrouter="192.168.1.254"
Save and close the file.
Task: Start and Stop FreeBSD Configured Interfaces
To apply changes to a configuration file, you need to stop and restart the corresponding FreeBSD networking interface. The following command will also update routing information:
# /etc/rc.d/netif restart
# /etc/rc.d/routing restart
OR
# service netif restart
# service routing restart
How can I change or the default gateway from the FreeBSD CLI?
Use the following commands:
### [ delete the default route/gateway ] ###
# route del default
### [ now setup 192.168.1.254 as the default gateway for my FreeBSD box ] ###
route add default 192.168.1.254
Verify it:
# netstat -r -n
Further readings:
- Read man pages netstat, route, rc.conf, service



9 comment
# /etc/rc.d/netif restart
# /etc/rc.d/netif stop
# /etc/rc.d/netif start
these commands make two times the same action: up down the interface.
But these commands don’t renew the routes. to renew the route you must do
/etc/rc.d/routing stop
/etc/rc.d/routing start
Thanks its wounder full.
Asmat,
Thanks for the heads up. The faq has been updated.
Thanks for the compete tutorial. Really good!
M.
you are great my friend , keep the good work.
Please change
/etc/rc.d/routing stop
/etc/rc.d/routing start
to
/etc/rc.d/routing restart
Most of the time one will be on a ssh session, above commands leads to
big problems, latter one is always safer.
Thanks!
Pol
netstart does not work, it s netstat
thanks for the heads up!