[radvd-devel-l] Overriding of link-local default route?
kim at holviala.com
Sun Dec 7 04:24:54 EST 2008
First, some background info: I've have my own /64 allocated by my ISP
and routed to my through my regular ADSL connection. My problem is that
while the netblock and the default route work just fine, the router
advertisements do not. It seems that one of the devices between me and
my ISP's v6 router doesn't like RA's and messes with them, so whenever I
connect a device to the v6 network one of three things happens: a)
everything works, b) I get zero RA's or c) I get RA's just fine, but the
default route in them is messed up.
Anyway, this would be easy to fix in the v4 world - I'd just set up my
own DHCPv4 server which would then serve out addresses from my netblock
and tell the clients to use the ISP's router as their default gateway.
But in the v6 world all goes to hell. I can't set up radvd (or any other
RA daemon) to serve out my ISP's default gateway (global address,
link-locals don't go through some devices properly). I can't divide the
/64 to two smaller blocks so that I could do routing between them (and
have my own "subnet" here). I could set up DHCPv6 server here but
surprise, surprise, DHCPv6 doesn't serve out default gateways... Argh!
So the only thing I came up with is to modify radvd to be a "rogue" RA
daemon which sends out RA packets where the router (default gw) is not
my radvd servers own link-local but my ISP's global gw address instead.
Is that even theoretically possible? I mean RA packets are just regular
data packets with some octets in them, and "lying" about the router
shouldn't be a problem. I quickly browsed through the sources of radvd
and found out about AdvSourceLLAddress which sends out the routers
address inside the packet. It shouldn't be too hard to have the address
it sends out configurable, right? Any idea if that would work?
More information about the radvd-devel-l