Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does the routing order matter:

> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.154     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.128     0.0.0.0         255.255.255.224 U     0      0        0 vmbr0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vmbr1
0.0.0.0         123.x.x.129     0.0.0.0         UG    0      0        0 vmbr0

is it the same as:

> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
123.x.x.128     0.0.0.0         255.255.255.224 U     0      0        0 vmbr0
123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.154     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vmbr1
0.0.0.0         123.x.x.129     0.0.0.0         UG    0      0        0 vmbr0

?

where the difference is, that

123.x.x.128     123.x.x.129         255.255.255.224 U     0      0        0 vmbr0

is higher order than

123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0

so if I send to 123.x.x.151 where will it go:

- the routed way over `123.x.x.129`, because it matches the `123.x.x.128` rule, or
- the direct way using the arp table, because it matches the `123.x.x.151` rule

?

share|improve this question
up vote 11 down vote accepted

The order in the table doesn't matter; routes with a longer prefix always take priority. If you stop clinging to netmasks and consider the prefix lengths instead (which ip route shows), you have 123.x.x.128/27 and 123.x.x.151/32, and the latter – more specific – route will take priority over the former (more generic one).

share|improve this answer
    
What happens if there are eqal sized masks? E.g. 10.0.0.0/24 and 192.168.0.0/24. – ManuelSchneid3r Feb 4 at 21:57
    
@ManuelSchneid3r: Nothing happens. Routes are only considered if they actually match the destination, and an IP address obviously cannot start with 10. and 192. at the same time, so it will only match one of those masks in the first place. – grawity Feb 5 at 5:37

Order only matters if you have duplicate routes. Don't do that.

For example, if two interfaces have the same destination, netmask, and gateway of 0.0.0.0, the first one will grab all the traffic for that network.

What's more, I've found some systems will randomly reorder on boot which one comes first. If only one works, or only one has a router gateway set, this can result in losing access to that network on reboot.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.