IPv6 über PPPoe?

IPv6 über PPPoe?

Was ist der beste Weg, um IPv6-Adressen über PPPoE zu erhalten?

Ich verwende derzeit das NM-Applet, um den Internetdienst meines ISPs zu nutzen, aber es hat keine IPv6-Registerkarte für PPPOE-Verbindungen. Ich hätte nichts dagegen, ein Befehlszeilentool zu verwenden, aber es wäre schön, meine Einstellungen vom NM-Applet auf ein beliebiges Tool zu übertragen, wenn ich das tun muss.

Antwort1

Sie können versuchen, hinzuzufügen

+ipv6 ipv6cp-use-ipaddr

nach /etc/ppp/options. Je nachdem, wie Ihr ISP IPv6 bereitstellt, reicht dies möglicherweise aus, um der Maschine selbst IPv6 zuzuweisen.

Viele ISPs gehen davon aus, dass ein Router eine Verbindung über PPPoE statt über einen PC herstellt, daher funktioniert dies für Sie möglicherweise nicht. Die einzige Möglichkeit, in dieser Situation IPv6 zu erhalten, besteht darin, Ihren Computer als Router zu konfigurieren. Er sollte dann DHCP für IPv6 verwenden, um die Präfixdelegierung anzufordern. Das erhaltene Präfix kann dann verwendet werden, um Ihren Netzwerken oder Ihrem lokalen Computer /64-Subnetze zuzuweisen. Und wenn Sie Ihren lokalen Netzwerken IPv6-Dienste zur Verfügung stellen möchten, sollten Sie radvd (Router Advertisement Daemon) ausführen, um bekannt zu geben, dass Ihr Computer ein Router ist.

Am einfachsten ist es, hierfür wide-dhcpdv6 zu verwenden. Die Grundidee besteht darin, die Präfixdelegierung von einer Schnittstelle anzufordern und dieses Präfix dann zu verwenden, um Subnetze anderen Schnittstellen zuzuweisen, wie:

interface ppp0 {
    # Request Prefix Delegation on ppp0, and give the received prefix id 0
    send ia-pd 0;
};

# Use subnets from the prefix with id 0
id-assoc pd 0 {
    prefix-interface eth0 {
        # Assign subnet 1 to eth0
        sla-id 1;
    };
};

Angenommen, Sie haben von Ihrem ISP das Präfix 2001:db8:1234::/48 erhalten. In diesem Beispiel würde eth0 dann 2001:db8:1234:1::/64 zugewiesen.

Eine einfache radvd.conf würde so aussehen:

interface eth0
{
    AdvSendAdvert on;
    prefix ::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
    };
};

Oh, und vergessen Sie nicht,

net.ipv6.conf.all.forwarding=1

in Ihrer /etc/sysctl.conf.

Antwort2

Die Antwort von Sander Steffann ist großartig, aber wenn Sie festgestellt haben, dass Sie die IPv6-Adresse erhalten haben (kann über ip addroder überprüft werden ifconfig) und mtr -6 www.google.comes trotzdem nicht funktioniert, kann dies an einer Art Standard-Routing-Zuweisung in Ihrem lokalen Router liegen (kann über ip -6 routeoder überprüft werden netstat -6rn).

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, RA auf Ihrem Ethernet-Port wie folgt zu deaktivieren (ändern Sie die vorhandene Datei in /etc/netplan/):

network:
    version: 2
    renderer: networkd
    ethernets:
        enp3s0:
            accept-ra: false

verwandte Informationen