Recourse routing problem: won't resolve route via PPPoE

Hello,

I face really silly situation that should be resolved in seconds but it won’t. I try to do simple recoursive routing like this:

I got RB951 (tried different ROS versions from 6.26 to last RC of 6.30) with one PPPoE WAN link. I set up PPPoE client, it run and up, but I set not to receive default route from PPPoE server.

Now I set up two routes:

1) route 8.8.8.8/32 -> PPPoE-Client interface

2) route 0.0.0.0/0 -> 8.8.8.8

So traffic outside should go to the same way that 8.8.8.8 is visible - that is, via PPPoE-Client interface.

I did that many times (but these times it was over /30 p2p WAN links), and it worked every time, and this time I see no ping run outside and the second route is blue in the IP Routes table.

I tuned scope and target-scope parameters - without any good results.

So I decided to ask (after all, this is Friday and maybe I just too tired?) - how can bring my scheme to life?

Thanks in advance!

(I’ve asked this in beginers forum, but think this should be here)

I have the same problem, too!

When I saw notification that someone replied me I was happy I’ll know the answer at last :slight_smile:

Hope we’ll get way out of this!

What I was able to figure out is recursive routing will work well if you create routes over IPs not over PPPoE interface name.

Say, if your PPPoE connect brings you your ip = 1.1.1.100 and remote ip (gw for you) = 1.1.1.1, then you can do (this will work)

ip route 8.8.8.8/32 -> 1.1.1.1
ip route 0.0.0.0/0 -> 8.8.8.8

(i don’t mention scope attribute here, set it as appropriate), but this way everything is ok.

But this way it won’t work:


ip route 8.8.8.8/32 -> pppoe-out1
ip route 0.0.0.0/0 -> 8.8.8.8

That is, interface can’t be used here. Is this the “feature” of ROS?

My problem is, my PPPoE connect used to change remote (gw) address from time to time, so I can’t use it statically.

This will work.

ip route 8.8.8.8/32 -> pppoe-out1
ip route 0.0.0.0/0 -> 8.8.8.8

We have been trying to figure this out ourselves for a while now, but the solution was far more simple than expected.
Change the Target Scope of the recursive route (in your example 0.0.0.0/0) to 30

No, this is something that won’t work dispute the clearness of the approach.

Once again: you can do

ip route 8.8.8.8/32 → > 12.34.56.78
ip route 0.0.0.0/0 → 8.8.8.8

or even

ip route 8.8.8.8/32 → > interface_name
ip route 0.0.0.0/0 → 8.8.8.8

(in a case that interface_name is the oint-to-point interface, that is, not ppp.

(surely take care for scope/target scope pair)

but this won’t work

ip route 8.8.8.8/32 → > ppp_interface_name
ip route 0.0.0.0/0 → 8.8.8.8

Why it is so is something that fuzzy me. No idea, and no RFC comes to my mind as well. The only way out (in a case of PPPoE link which is quite often) is to use the IP of remote PPP gw.

That’s bad, really!