Получить IPv6 по PPPoE в Ubuntu

У меня здесь странная ситуация. Если кто может помочь, сделайте это.

Мы говорим о Linux Box, работающем как маршрутизатор с использованием Ubuntu 18.04.3 LTS, с двумя интерфейсами: «lan», который подключается к моей внутренней локальной сети, и «wan», который подключается к моему интернет-провайдеру.

Однако моему интернет-провайдеру требуется соединение PPPoE, поэтому, по сути, «wan» -интерфейс используется только в качестве стартера для интерфейса ppp0.

Моя проблема в том, что я не могу получить глобальный адрес IPv6 на этом сервере.

Я могу успешно подключиться к своему интернет-провайдеру. Я уже следовал руководству отсюда: http://gruffi.be/mediawiki/index.php/Ipv6_with_PPPoE_on_Ubuntu , но у меня это не работает.

Итак, вот что я сделал:

  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 {
    
    отправить ia-pd 2;
    отправить ia-na 1;
    };
    
    # Использовать подсети из префикса с id 0
    id-assoc pd 2 {
    prefix-interface lan {
     # Назначьте подсеть 1 на 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:

     интерфейс LAN
    {
    AdvSendAdvert on;
    префикс :: / 64
     {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
     };
    RDNSS 2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844
     {
     # AdvRDNSSLifetime 3600;
     };
    };
    

Мой интернет-провайдер сказал мне, что он не использует объявление маршрутизатора, но использует делегирование префикса DHCPv6 и предлагает подсети / 64.

Проблема в том, что я пробовал больше конфигов из сети, ни один из них у меня не работал.

Когда я "ifconfig ppp0", он говорит:

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

Нет признаков глобального IPv6-адреса.

Если я включаю отладку на широком DHCP-клиенте и просматриваю / var / log / syslog, я вижу, что он пытается отправить сообщения запроса на ff02 :: 1: 2% ppp0, и таймеры сбрасываются. Я не получаю ответа.

Однако реклама маршрутизатора работает как на «ppp0», так и на моей внутренней локальной сети, потому что у меня есть маршрут по умолчанию: «default via fe80 :: 1», когда я «ip -6 r». Однако нет глобального IPv6-адреса.

Я подозреваю, что это как-то связано с DHCP. Адрес получен неверно.

Могу пинговать:

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

Но при попытке «пинг6 гуглить.com ", в нем говорится:" За пределами исходного адреса "

В конечном итоге мне нужно сделать 2 вещи:

  1. Попытаться получить глобальный IPv6-адрес на" ppp0 ", чтобы мои веб-сайты были доступны с IPv6. адреса (DNS уже позаботился)

  2. Мне нужно переслать любой префикс / 64, который мне дает мой провайдер, скажем: «2001: abcd: dead: beef :: / 64» на мои внутренние компьютеры, но с использованием фиксированной части для внутренних компьютеров. [/ COLOR]

Например:

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

Я НЕ хочу адресов EUI-64, Я НЕ хочу частных адресов. Я хочу, чтобы моим компьютерам был назначен ORDERly IPv6-адрес с заданным префиксом, независимо от динамического префикса.

Например, после перезагрузки я могу получить «2001: 1234: beef: dead :: / 64». Я хочу такое же распределение хост-части с использованием « :: 1», « :: 2» и так далее ...

Спасибо!

1
задан 23 January 2020 в 23:11

1 ответ

Для №1 ваше решение может быть с параметром ipv6 в вашей конфигурации pppd:

+ ipv6 Включите протоколы IPv6CP и IPv6.

ipv6, Установите локальный и / или удаленный 64-битный идентификатор интерфейса. Любой из них может быть опущен. Идентификатор должен быть указан в стандартном формате ascii адресов IPv6 (например, :: мертвые: говядина). Если задана опция ipv6cp-use-ipaddr, локальный идентификатор - это локальный IPv4-адрес (см. выше). На системы, которые поддерживают уникальный постоянный идентификатор, например EUI-48, полученный из MAC-адреса Ethernet, Параметр ipv6cp-use-persistent можно использовать для замены ipv6 , вариант. В противном случае идентификатор будет случайным .

Итак, если бы вы использовали ipv6 :: 1, это сделало бы то, что вы хотели? В качестве эксперимента вы можете заменить ipv6cp-use-ipaddr на ipv6cp-use-persistent ... это должно дать вам предсказуемый глобальный ipv6 для вашего ppp0. Оттуда вы можете приступить к настройке ваших wide-dhcpv6 и radvd ....

0
ответ дан 23 February 2020 в 17:52

Другие вопросы по тегам:

Похожие вопросы: