This turns out to be harder than I thought. The routes I want to delete are the "!" rejected routes, but I can't seem to formulate the right "route del" command to pull it off.

Here is the routing table...

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface   *      UH    0      0        0 ppp0   *      UH    0      0        0 ipsec0   -      !H    2      -        0 -     *        U     0      0        0 eth0        *          U     0      0        0 ipsec0        -          !     2      -        0 -
default         *              U     3      0        0 ppp0
default         *              U     4      0        0 ppp0

I have two entries for and These are auto-generated by the little Linux based router I'm using. I can ping the IPSEC tunnels from the shell itself, but traffic from the LAN takes the second route (the rejected "!" or "!H" route) for reasons I simply don't understand.

  • Can you be more specific when you say traffic takes the 'second route'? – Zoredache Sep 14 '10 at 18:18
  • Notice the two table entries for At the router shell, if I ping that side of the tunnel it works. From the LAN-side, traffic goes to the "second" entry and is rejected/drops. – user54259 Sep 14 '10 at 19:52
  • I also don't understand why the SG560 generates two (2) table entries for "default" and the IPSEC destinations. I'm perplexed. – user54259 Sep 14 '10 at 19:53

with the route -n command you'll obtain

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface         UG    0      0        0 eth0         UG    600    0        0 wlan0

sudo route del -net gw netmask dev eth0

you'll get all parameters respectively from above

  • After reboot, it again comes . How can I delete permanently ? – Shyamkkhadka Jan 14 at 9:17
  • 1
    @shyamkkhadka it depends from which process it has been created... recommend you to post a question with your specific case to analyze it. Give details about the route you got and want to remove. Mostly the dhcp server and client will create the routes – Philippe Gachoud Jan 14 at 10:37

The types of the routes with the ! flag are either unreachable or prohibit. route, being an ancient utility from net-tools, does not differentiate between the two. Use iproute2.

The net-tools way to delete these routes would be to use route del on it. However, net-tools provides no way to differentiate between the rejected route and the other one (because the dev argument is optional, though not specifying a device is likely to remove the unreachable route).

iproute2 allows you to do it like this:

ip route del unreachable
ip route del unreachable

It might not be unreachable, but prohibit. Use ip route with no arguments to determine which.


I think it's this: route del -net netmask metric 2

I'm not 100% certain. But, I think you've got something else goofy going on since you have 2 default routes.

  • 2
    +1 : 2 default routes is always a sign of something being misconfigured (unless they actually point to different gateways and have different metrics). – wolfgangsz Sep 14 '10 at 21:20

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.