IPV6: Ubiquiti Router, Ubuntu Client

0

У меня есть маршрутизатор Ubiquiti, на котором ipv6 работает нормально. Вывод radvdump, наряду с различными другими соответствующими данными, приведен ниже. Моя проблема с ipv6 на машине с Ubuntu 16.04 за маршрутизатором.

При установке маршрутизатора в качестве клиента DHCP на стороне глобальной сети и DHCP-сервера с префиксом / {без сохранения состояния с сохранением состояния} на стороне локальной сети у меня остаются только локальные адреса ссылок на клиенте. Настройка маршрутизатора как {DHCP-клиент, SLAAC} на стороне WAN, статического адреса на стороне LAN и DHCP-сервера {без сохранения состояния с сохранением состояния} для клиента предоставляет мне адреса ipv6 на клиенте, но без возможности подключения.

Я понимаю, что мне может потребоваться отредактировать конфигурацию Network Manager, /etc/dhclient.conf, и, хотя ключи в sysctl также актуальны, они могут не очень хорошо работать с Network Manager. Буду признателен за любую информацию о том, как начать.

Кроме того, я не решаюсь установить radvd на клиенте Ubuntu. Я обеспокоен тем, что это может конфликтовать с функциями DHCP или SLAAC на клиенте. Это проблема?

-------------------------------------------------- ------------------

# radvdump [запустить на роутере ]

interface ath0
{
    AdvSendAdvert on;
    # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
    AdvManagedFlag off;
    AdvOtherConfigFlag on;
    AdvReachableTime 0;
    AdvRetransTimer 0;
    AdvCurHopLimit 64;
    AdvDefaultLifetime 1800;
    AdvHomeAgentFlag off;
    AdvDefaultPreference medium;
    AdvSourceLLAddress on;

    RDNSS 2607:X:X:X::53
    {
        AdvRDNSSPreference 0;
        AdvRDNSSOpen off;
        AdvRDNSSLifetime 1800;
    }; # End of RDNSS definition


    prefix 2607:X:Y:Y::/64
    {
        AdvValidLifetime 2592000;
        AdvPreferredLifetime 604800;
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr off;
    }; # End of prefix definition

}; # End of interface definition
#
# radvd configuration generated by radvdump 1.2
# based on Router Advertisement from fe80::Z:Z:Z:Z
# received by interface ath0

IP-6 адрес [на маршрутизаторе ]

inet6 2607:X:X:X:Y:yff:fey:Y/64 scope global dynamic
plus a link-local address

$ ip -6 addr [на клиенте . первый адрес присутствует только при использовании сервера с состоянием]

inet6 2607:X:X:X::x/128         scope global dynamic
inet6 2607:X:X:X:Y':Y':Y':Y'/64 scope global temporary dynamic 
inet6 2607:X:X:X:Z:Z:Z:Z/64     scope global mngtmpaddr noprefixroute dynamic

$ ip -6 route [на клиенте . первый маршрут присутствует только при использовании сервера с отслеживанием состояния, а fe80 :: Y: yff: fey: Y является локальным ip-каналом интерфейса локальной сети маршрутизатора.]

2607:X:X:X::x dev enp0s25 proto kernel metric 256 expires 86292sec pref medium 
2607:X:X:X::/64 via fe80::Y:yff:fey:Y dev enp0s25 proto ra metric 100 pref medium
2607:X:X:X::/64 dev enp0s25 proto kernel metric 256 expires 7090sec pref medium
fe80::/64 dev enp0s25 proto kernel metric 256 pref medium
default via fe80::Y:yff:fey:Y dev enp0s25 proto static metric 100 pref medium
plus a link-local address

$ cat / etc / network / interfaces [без изменений из установки Ubuntu]

auto lo
iface lo inet loopback

$ sudo sysctl -a | grep accept_ra

net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_from_local = 0
net.ipv6.conf.all.accept_ra_min_hop_limit = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_from_local = 0
net.ipv6.conf.default.accept_ra_min_hop_limit = 1
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.enp0s25.accept_ra = 1
net.ipv6.conf.enp0s25.accept_ra_defrtr = 0
net.ipv6.conf.enp0s25.accept_ra_from_local = 0
net.ipv6.conf.enp0s25.accept_ra_min_hop_limit = 1
net.ipv6.conf.enp0s25.accept_ra_mtu = 1
net.ipv6.conf.enp0s25.accept_ra_pinfo = 0
net.ipv6.conf.enp0s25.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.enp0s25.accept_ra_rtr_pref = 0
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_from_local = 0
net.ipv6.conf.lo.accept_ra_min_hop_limit = 1
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
net.ipv6.conf.virbr0.accept_ra = 0
net.ipv6.conf.virbr0.accept_ra_defrtr = 1
net.ipv6.conf.virbr0.accept_ra_from_local = 0
net.ipv6.conf.virbr0.accept_ra_min_hop_limit = 1
net.ipv6.conf.virbr0.accept_ra_mtu = 1
net.ipv6.conf.virbr0.accept_ra_pinfo = 1
net.ipv6.conf.virbr0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.virbr0.accept_ra_rtr_pref = 1
net.ipv6.conf.virbr0-nic.accept_ra = 1
net.ipv6.conf.virbr0-nic.accept_ra_defrtr = 1
net.ipv6.conf.virbr0-nic.accept_ra_from_local = 0
net.ipv6.conf.virbr0-nic.accept_ra_min_hop_limit = 1
net.ipv6.conf.virbr0-nic.accept_ra_mtu = 1
net.ipv6.conf.virbr0-nic.accept_ra_pinfo = 1
net.ipv6.conf.virbr0-nic.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.virbr0-nic.accept_ra_rtr_pref = 1
net.ipv6.conf.wlp3s0.accept_ra = 0
net.ipv6.conf.wlp3s0.accept_ra_defrtr = 0
net.ipv6.conf.wlp3s0.accept_ra_from_local = 0
net.ipv6.conf.wlp3s0.accept_ra_min_hop_limit = 1
net.ipv6.conf.wlp3s0.accept_ra_mtu = 1
net.ipv6.conf.wlp3s0.accept_ra_pinfo = 0
net.ipv6.conf.wlp3s0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.wlp3s0.accept_ra_rtr_pref = 0
Косой
источник
Какой адрес маршрутизатор назначает своему интерфейсу WAN, и какой префикс вы статически настраиваете на стороне локальной сети? Неотредактированные адреса будут с благодарностью.
Гравитация
@ grawity Хорошо, я не хочу давать вам неотредактированные адреса, так как сторона WAN получает один из них на основе MAC-адреса сетевого интерфейса, как указано выше (2607: X: X: X: Y: yff: fey: Y / 64). Если вы посмотрите на вывод, radvdumpвы увидите там префикс и маску, поэтому я использую: 2607: X: X: X :: и / 64.
Диагональ
@harrymc - я не уверен, что понимаю твой вопрос. У меня есть маршрутизатор, подключающийся к сети, который работает нормально, а за ним стоит клиент, которому я бы хотел получить доступ к сети IPV6.
Диагональ
@Diagon: Это означает, что вы настраиваете префикс LAN, идентичный вашему префиксу WAN (как показано 2607: X: X: X :: / 64 как в дампе WAN маршрутизатора, так и в таблице маршрутизации клиента)? Это точно не сработает.
Гравитация
Хорошо. в то время как я новичок в этом, я думал, что РА должен был предложить префикс и маску. Не могли бы вы уточнить? (Есть ли в суперпользователе интерфейс чата? У некоторых из стековых обменов это есть.)
Diagon

Ответы:

1

При установке маршрутизатора в качестве клиента DHCP на стороне глобальной сети и DHCP-сервера с префиксом / {без сохранения состояния с сохранением состояния} на стороне локальной сети у меня остаются только локальные адреса ссылок на клиенте. Настройка маршрутизатора как {DHCP-клиент, SLAAC} на стороне WAN, статического адреса на стороне LAN и DHCP-сервера {без сохранения состояния с сохранением состояния} для клиента предоставляет мне адреса ipv6 на клиенте, но без возможности подключения.

Исходя из этого и ваших комментариев, кажется, что вы копируете объявленный SLAAC префикс WAN непосредственно в конфигурацию интерфейса локальной сети. Это не сработает (по той же причине, что не будет с WAN DHCP на IPv4).

В IPv6 SLAAC, как и в IPv4 DHCP, объявленный префикс просто указывает, в какой подсети находится интерфейс WAN , и маршрутизатор выбирает собственный адрес WAN из этой подсети. Однако это не имеет ничего общего со стороной локальной сети - ваш маршрутизатор является маршрутизатором, а не мостом, поэтому локальная сеть является собственной сетью и нуждается в собственном префиксе .

Чтобы получить префикс для интерфейсов локальной сети, маршрутизатор обычно должен отправить запрос на делегирование префикса с помощью DHCPv6-PD на стороне глобальной сети. (Обычно существует некоторая интеграция, которая автоматически запускает объявление делегированного префикса в локальной сети.)

Размер префикса, который вы можете запросить, зависит от провайдера (некоторые предоставляют до / 60, другие до / 56 и т. Д.), Но отдельные интерфейсы ЛВС все равно должны использовать / 64.

(Тем не менее, не все интернет - провайдеры делают DHCPv6-PD, иногда вы должны запросить префикс IPv6 самостоятельно и настроить , что вручную Существует также возможность продолжения практики IPv4 использования частный диапазон адресов для локальной сети, и 1:. Многие NAT (маскарадинг) выполняется на маршрутизаторе. Хотя я бы не рекомендовал 1: много NAT, кроме как в крайнем случае; он уже достаточно плох для IPv4.)

Кроме того, я не решаюсь установить radvd на клиенте Ubuntu.

Нет, это абсолютно не нужно. Это все равно что пытаться установить DHCP-сервер на клиенте.

grawity
источник
Хорошо спасибо. Как я уже упоминал в этом вопросе, я пробовал делегировать префиксы, но получал только локальные адреса ссылок на клиенте. Могут ли быть неправильные конфигурации на клиенте, в dhcp, network-manager или sysctl? Или есть какой-то способ узнать, предлагает ли «ISP» (сеть кампуса) PD?
Диагональ
Кампусная сеть вряд ли может предложить PD, и если нет PD, то у вашего маршрутизатора нет глобального префикса, который он мог бы рекламировать в локальной сети. (Это, вероятно, подпадает под «иногда вы должны запросить префикс IPv6 самостоятельно».) Но PD остается официальным методом для этого, работает ли он с вашим конкретным провайдером или нет.
Гравитация
Понятно да. Когда я использую DHCP на стороне WAN и PD на стороне LAN, я получаю только локальный адрес канала на стороне LAN (и, следовательно, клиент, когда я включаю DHCP для локальной сети). Не могли бы вы уточнить: «Иногда вам нужно запросить префикс IPV6 самостоятельно»? Я думаю, моя альтернатива заключается в использовании маршрутизатора в качестве моста?
Диагональ
Вряд ли это очень закрытая сеть для посетителей. Я должен был сделать что-то еще. Мост, я полагаю. Или ipv6 эквивалент NAT, как вы упомянули. Если у вас есть удобная ссылка для последнего, я был бы признателен. В противном случае я буду просто гуглить. (У меня есть другие вопросы, например, как я получаю что-то кроме IP-адреса на основе MAC-адреса от этого «провайдера», но я полагаю, что это для другого вопроса SE?)
Diagon
Под «запросом» я имел в виду вызов / отправку по электронной почте / ходьбе ИТ-специалистам кампуса и указание им, что вы хотите использовать IPv6 со своим собственным маршрутизатором.
Гравитация