Alice ADSL – IPv6 in dualstack con router OpenBSD

Un progetto che da tanto volevo concludere. Da anni Alice offre la possibilità di ottenere una connessione PPPoE dualstack impostando il login adsl@alice6.it con password IPV6@alice6. Uno dei problemi riscontrati dalla connessione dualstack è l’aumento delle latenze in IPv4, come riscontrato da altri utenti vedi per esempio http://www.hwupgrade.it/forum/archive/index.php/t-2479031.html. Problema che ho potuto riscontrare di persona: in caso di connessione dualstack i ping sul famoso DNS di Google passano da 12-15ms a 24-28ms. Visto che Alice permette di avere più connessioni PPPoE attive contemporaneamente ho deciso di creare due connessioni PPPoE. Una per il classico IPv4 e una in dualstack di cui però utilizzo solo la parte IPv6.

incomincio con il definire le due connessioni PPPoE

/etc/hostname.pppoe0

inet 0.0.0.0 255.255.255.255 NONE pppoedev axe0 authproto pap authname 'aliceadsl ' authkey 'aliceadsl ' up
dest 0.0.0.1
!/sbin/route add default -ifp pppoe0 0.0.0.1

/etc/hostname.pppoe1

inet 0.0.0.0 255.255.255.255 NONE pppoedev axe0 authproto pap authname 'PPPOEUSERNAME' authkey 'PPPOEPASSWORD' up
dest 0.0.0.1
inet6 autoconf
!/sbin/route add -inet6 default -ifp pppoe1 ::0.0.0.1

Bisogna poi trasportare l’advertisement del prefisso IPv6 dall’interfaccia PPPoE alla scheda di rete interna, jme0 in questo caso,  per l’autoconfigurazione. Wide dhcpd sembra essere il tool adatto.

/etc/dhcp6c.conf

interface pppoe1 {
    send ia-pd 0;
    send ia-na 0;
    send rapid-commit;
    request domain-name-servers;
    request domain-name;
};

id-assoc na 0 {
};

id-assoc pd 0 {
        prefix-interface jme0 {
                sla-len 0;
        };
};
e lanciare il demone:
/usr/local/sbin/dhcp6c -c /etc/dhcp6c.conf pppoe1

Come ultima cosa è necessario lanciare il demone responsabile dell’advertisement delle rotte e prefissi in modo che i clients presenti sulla rete possano ottenere un ip pubblico.

/usr/sbin/rtadvd jme0

Bisogna ricordarsi di configurare pf, in caso contrario si corre il rischio di lasciare come raggiungibili tutti gli IPv6 assegnati ai client dietro al router.

Test_your_IPv6_