IPv6 через PPPoe?

IPv6 через PPPoe?

Каков наилучший способ получения адресов IPv6 по протоколу PPPoe?

В настоящее время я использую NM-Applet для получения интернет-услуг от моего провайдера, но у него нет вкладки IPv6 для соединений PPPOE. Я бы не отказался от использования какого-нибудь инструмента командной строки, но было бы неплохо перенести мои настройки из NM-applet в любой инструмент, если мне это придется сделать.

решение1

Вы можете попробовать добавить

+ipv6 ipv6cp-use-ipaddr

в /etc/ppp/options. В зависимости от того, как ваш интернет-провайдер предоставляет IPv6, этого может быть достаточно, чтобы предоставить самой машине IPv6.

Многие интернет-провайдеры предполагают, что маршрутизатор подключается к PPPoE вместо ПК, поэтому это может не сработать для вас. Единственный способ получить IPv6 в этой ситуации — настроить ваш компьютер как маршрутизатор. Затем он должен использовать DHCP для IPv6, чтобы запросить делегирование префикса. Полученный им префикс затем можно использовать для назначения подсетей /64 вашим сетям или локальной машине. А если вы хотите предоставить службу IPv6 для своих локальных сетей, вам следует запустить radvd (демон объявления маршрутизатора), чтобы объявить, что ваш компьютер является маршрутизатором.

Самый простой способ — использовать wide-dhcpdv6. Основная идея — запросить делегирование префикса с одного интерфейса, а затем использовать этот префикс для назначения подсетей другим интерфейсам, например:

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;
    };
};

Предположим, что вы получили префикс 2001:db8:1234::/48 от вашего провайдера. Этот пример затем назначит 2001:db8:1234:1::/64 для eth0.

Базовый radvd.conf будет выглядеть так:

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

О, и не забудьте поставить

net.ipv6.conf.all.forwarding=1

в вашем /etc/sysctl.conf.

решение2

Ответ Сандера Стеффана отличный, но если вы обнаружили, что получили адрес IPv6 (можно проверить с помощью ip addrили ifconfig), но mtr -6 www.google.comон все равно не работает, это может быть вызвано каким-то назначением маршрутизации по умолчанию на вашем локальном маршрутизаторе (можно проверить с помощью ip -6 routeили netstat -6rn).

Одним из способов решения этой проблемы является отключение RA на вашем порту Ethernet, например, так (измените существующий файл в /etc/netplan/):

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

Связанный контент