2

I have a strange situation here. If anyone can help, please do so.

We're talking about a Linux Box running as Router using Ubuntu 18.04.3 LTS, with 2 interfaces: "lan" - which connects to my internal LAN and "wan" - which connects to my ISP.

However, my ISP requires PPPoE connection, so, basically, the "wan" interface is used only a starter for the ppp0 interface.

My problem is that I cannot get IPv6 global address on this server.

I am able to successfully connect to my ISP. I already followed the tutorial from here: http://gruffi.be/mediawiki/index.php/Ipv6_with_PPPoE_on_Ubuntu , but it doesn't work for me.

So, here is what I did:

  1. /etc/ppp/options:

    +ipv6 ipv6cp-use-ipaddr
    
  2. /etc/sysctl.conf:

    net.ipv6.conf.all.forwarding=1
    
    net.ipv6.conf.ppp0.accept_ra=2
    
  3. /etc/wide-dhcpv6/dhcp6c.conf:

    interface ppp0 {
    
        send ia-pd 2;
        send ia-na 1;
    };
    
    # Use subnets from the prefix with id 0
    id-assoc pd 2 {
        prefix-interface lan {
            # Assign subnet 1 to eth0
            sla-len 8; # <----- BELANGRIJK: 8 omdat ons klein net 64 en ons groot 56 is en dat het verschil is
            sla-id 2;
        };
    };
    
    id-assoc na 1 { };
    
  4. /etc/radvd.conf:

    interface lan
    {
        AdvSendAdvert on;
        prefix ::/64
        {
            AdvOnLink on;
            AdvAutonomous on;
            AdvRouterAddr on;
        };
    RDNSS 2001:4860:4860::8888  2001:4860:4860::8844
            {
                    # AdvRDNSSLifetime 3600;
            };
    };
    

My ISP told me that it doesn't use Router Advertisement, however it uses DHCPv6 Prefix Delegation and offers /64 subnets.

The problem is that I tried more configs from the net, non of them worked for me.

When I "ifconfig ppp0", it says:

inet 1.2.3.4 ...
inet6 fe80::xxxx:yyyy

No sign of a global IPv6 address.

If I turn on debugging on wide DHCP client and I examine /var/log/syslog, I see that it tries to send Solicit messages to ff02::1:2%ppp0 and the timers reset. I get no reply.

However, router advertisements are working, both on "ppp0" and on my internal lan, because I have a Default Route: "default via fe80::1" when I "ip -6 r". However, no global IPv6 address.

I suspect it something to do with DHCP. The address is not obtained correcly.

I can ping:

ping6 fe80::1%ppp0
64 bytes from...

But when trying to "ping6 google.com", it says: "Beyond scope of source address"

I need to do 2 things, in the long run:

  1. Try to get a global IPv6 address on "ppp0" so my websites can be accesible from IPv6 addresses (DNS already taken care of)

  2. I need to forward whatever /64 prefix my ISP gives me, let's say: "2001:abcd:dead:beef::/64" to my internal computers, but using a fixed part for the internal computers.[/COLOR]

For example:

Computer 1: 2001:abcd:dead:beef::1/64
Computer 2: 2001:abcd:dead:beef::2/64
Computer 3: 2001:abcd:dead:beef::3/64

I do NOT want EUI-64 addresses, NOR do I want Private Addresses. I want my computers assigned an ORDERly IPv6 address with the prefix given, regardless of the dynamic prefix.

For example, after reboot, I might get "2001:1234:beef:dead::/64". I want the same Host-part allocation using "::1", "::2", and so on...

Thank you !

Adam
  • 61

1 Answers1

0

For #1, your solution may be with the ipv6 option in your pppd conf:

+ipv6 Enable the IPv6CP and IPv6 protocols.

ipv6 , Set the local and/or remote 64-bit interface identifier. Either one may be omitted. The identifier must be specified in standard ascii notation of IPv6 addresses (e.g. ::dead:beef). If the ipv6cp-use-ipaddr option is given, the local identifier is the local IPv4 address (see above). On systems which supports a unique persistent id, such as EUI-48 derived from the Ethernet MAC address, ipv6cp-use-persistent option can be used to replace the ipv6 , option. Otherwise the identifier is randomized.

So if you used ipv6 ::1, would that do what you wanted? As an experiment you can replace ipv6cp-use-ipaddr with ipv6cp-use-persistent instead... that should give you a predictable global ipv6 for your ppp0. From there you can start tweaking your wide-dhcpv6 and radvd....