[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IPv6 over ppp autoconfiguration not working in squeeze



Adam Spragg <adam@spra.gg> writes:

>> For my IPv6-only PPPoE uplink, I've been using the following
>> lines in a file in "/etc/ppp/peers/" successfully for several
>> 
>> years now:
>>    noip
>>    +ipv6
>>    ipv6 ::abcd:1
>
> If I use the option "ipv6 ::1" then I just get the ipv6 address "fe80::1/10" 
> instead of "fe80::4576:73e7:b3f5:eda6/10" on the interface.

That's what you've asked it to do.

IP6CP (the IPv6 network control protocol in PPP) does not negtioate
addresses or prefixes.  That is left for SLAAC or DHCPv6.  All it does
negotiate is the interface identifiers, i.e. the lower 64 bits of the
address.    This is also documented in the pppd man page.  So you need
to run either SLAAC or DHCPv6 on top of the PPP link if you want a
global address for it.  Although you probably don't need it...

Note that, just like IPv4 addresses, your ISP may choose to force you to
use a specific interface identifier.  So any specific setting you use
may be rejected by the other end and cause a failure.  It obviously did
not in your case, but that's just luck.  I would not recommend end users
setting specific interface identifiers.  Using "+ipv6" (and optionally
"noip" if you don't want dual stack) should be all that's necessary.

We had to force interface identifiers for our users because it turned
out that the DHCPv6 server would use this to match its leases in
addition to the DUID.  So if your PPP link went down and came up with a
new interface identifier (which is the Linux default at least), then the
DHCPv6 server would refuse any requests from that user until the lease
expired (unless the DHCPv6 client had freed the lease before the link
went down, shich of course will not happen in the common case).  The
solution was to issue specific per-user interface identifiers.


Bjørn


Reply to: