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

  • 3
    After reboot, it again comes . How can I delete permanently ? – Shyamkkhadka Jan 14 '19 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 '19 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

From my experience,

route del -host <ip> reject

should work. In your specific case,

route del -host reject

should do the trick. Please note that this applies to routes I manually added. I'm not entirely certain why yours has duplicate routes without interfaces. As such, it may be necessary to apply a metric parameter, as described by baumgart.


Please see if there is a "device config file" under /etc/network/interfaces.d/ -> I had eht0!! Really, it was eht0 and not eth0 there!

  • You might want to expand your answer somewhat, as it is not obvious at present how it relates to the question being asked. – womble Mar 15 '19 at 6:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy