On Unix-like operating systems, the route command displays or modifies the IP routing table.

This page describes the Linux version of route.

Description

In computer networking, a router is a device responsible for forwarding network traffic. When datagrams arrive at a router, the router must determine the best way to route them to their destination.

  • Description
  • Syntax
  • Examples
  • Related commands
  • Linux commands help

On Linux, BSD, and other Unix-like systems, the route command is used to view and make changes to the kernel routing table. The command syntax is different on different systems; here, with specific command syntax, we’ll be discussing the Linux version.

Running route at the command line without any options displays the routing table entries:

route

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.1.2 0.0.0.0 UG 1024 0 0 eth0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

This shows us how the system is currently configured. If a packet comes into the system and has a destination in the range 192.168.1.0 through 192.168.1.255, then it is forwarded to the gateway *, which is 0.0.0.0 — a special address which represents an invalid or non-existant destination. Here, our system will not route these packets.

If the destination is not in this IP address range, it is forwarded to the default gateway (in this case, 192.168.1.2, and that system will determine how to forward the traffic on to the next step towards its destination.

Technical description

route manipulates the kernel’s IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it was configured with the ifconfig program.

When the add or del options are used, route modifies the routing tables. Without these options, route displays the current contents of the routing tables.

Syntax

route [-CFvnee]

route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] i [mss M] [window W] [irtt m] [reject] [mod] [dyn] [reinstate] [[dev] If]

route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

route [-V] [–version] [-h] [–help]

Options

Examples

route -n

Shows routing table for all IPs bound to the server.

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

adds a route to the network 192.56.76.x via “eth0” The Class C netmask modifier is not really necessary here because >192.* is a Class C IP address. The word “dev” can be omitted here.

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

This command sets all of the class D (multicast) IP routes to go via “eth0”. This is the correct normal configuration for a multicasting kernel.

arp — Manipulate the system ARP cache.ifconfig — View or modify the configuration of network interfaces.ip — Display and manipulate information about routing, devices, policy routing and tunnels.netstat — Print information about network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.