37

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
67.40.227.206   *               255.255.255.255 UH    0      0        0 ppp0
192.168.46.79   *               255.255.255.255 UH    0      0        0 ipsec0
192.168.46.79   -               255.255.255.255 !H    2      -        0 -
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.0.0     U     0      0        0 ipsec0
10.1.0.0        -               255.255.0.0     !     2      -        0 -
default         *               0.0.0.0         U     3      0        0 ppp0
default         *               0.0.0.0         U     4      0        0 ppp0

I have two entries for 192.168.46.79 and 10.1.0.0. 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 192.168.46.79? At the router shell, if I ping that side of the tunnel it works. From the LAN-side, traffic goes to the "second 192.168.46.79" 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
47

with the route -n command you'll obtain

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

sudo route del -net 0.0.0.0 gw 192.168.178.1 netmask 0.0.0.0 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
15

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 10.1.0.0/24
ip route del unreachable 192.168.46.79/32

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

8

I think it's this: route del -net 10.1.0.0 netmask 255.255.0.0 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.