Форум OlegON > Компьютеры и Программное обеспечение > Сеть

Как настраивать рутинг IPv6 в домашней сети? : Сеть

24.04.2024 18:05


12.01.2018 12:19
OlegON
 
Кто-то уже разобрался? Я уже мозг вырвал себе...

Структура простая для IPv4, но никак не взлетает в IPv6

Инет - комп-router - Mikrotik => домашняя сеть

Максимум, чего удается добиться - адрес на рутере (причем, без пинка https://olegon.ru/showthread.php?t=28600 не работает)... Как при этом назначить адреса в домашней сети (автоматом) напрочь не понимаю... RA сделал через radvd, в Mikrotik поставил Accept RA. И тишина...
15.01.2018 12:56
OlegON
 
В общем, сделал.
Нативная поддержка, адрес провайдера.
Что могу сказать, несмотря на то, что IPv6 уже давно в ходу, очень многое и очень у многих работает через одно место или не работает совсем. Провайдеры для физиков фиксированные адреса не раздают. Однако, по результатам, во время тестов выяснилось многократное преимущество в скорости и времени отклика у IPv6 перед IPv4, особенно на дальние расстояния. С чем связано пока не выяснил, однако, повоевать стоит.

Например, с Канадой


В плане недоработок расстроил и неприятно удивил Mikrotik, но обо всем по порядку, насколько это возможно. Прошу поправлять, если что не так, поскольку я в сетевых вопросах совсем не разбираюсь.

Итак, в IPv6 есть несколько зарезервированных адресов. Те, что начинаются с fe80: - локальные, scope link, т.е. видны только линку, который непосредственно на другом конце провода. Нечто вроде ARP-замены. Если у вас только такой адрес на интерфейсе, то в IPv6-интернете этот комп не участвует. Второе, что я не знал на момент старта - расшифровка :: в адресе простая, это просто нулевые байты. Может встречаться только один раз. Ведущие нули тоже могут сокращаться. Итого, 2001:DB0:0:123A::30 - это адрес 2001:0DB0:0000:123A:0000:0000:0000:0030. Надо сказать, что при наличии даже пяти адресов одной подсети, без поллитры их в сниффере распознавать достаточно затруднительно. Особенно, если быстро надо. В этом, конечно, большая печаль перехода, и никакие доменные имена тут не спасают. Сами адреса состоят из префикса и уникального в пределах локальной сети суффикса. Часто это MAC-адрес.

Про DHCP6. Первый прикол в том, что в Mikrotik оно не работает. Вот от слова "вообще". При том минимуме настроек, которые там есть, у меня клиенты адреса не получали. DHCP выдавал адреса, а DHCP6 - нет. Гугление по форумам принесло печальную новость, что я не один, многие вообще выкидывают Микротики именно по этой причине, а сама фишка работает исключительно в виде некоего форвардера уже существующего DHCP6. Впрочем, Relay там и так есть, так что остановимся на том, что эту функцию из трех строк конфига я осилить не смог. Если что - пробовал и точно такие же конфиги, как в примерах. Не работает. Однако, хорошая новость в том, что DHCP6 особо и не нужен. Рутеры кидаются сообщениями RA, увидев которое клиент себе берет нужный адрес сам. Штука удобная. Префикс рассылается, бабах и все компы в локалке с новыми адресами. Второй прикол в том, что в Mikrotik и это не работает. Рассылать получается, а вот брать себе адреса эта железка не хочет. Я настроил на компе-рутере radvd, сообщения RA прилетают, а Mikrotik сидит себе на локальном адресе и кладет на эти сообщения даже несмотря на включенную соответствующую галку в настройках. Ну, что же делать, прибил адрес руками. В свете динамики адреса у провайдера пахнет не очень. Да, RA может быть только для /64 подсети. Точнее, у IPv6 это называется длина префикса.

Если вы хотите один комп в сеть вывести - не проблема, работает все из коробки. Но, если надо вывести пачку компов, то надо получить префикс. Если запускаете просто DHCP-клиента (dhclient), получите адрес. Чтобы получить префикс (для подсети, которая будет за этим адресом) необходимо запустить DHCP -P. Очередной прикол в том, что штатный для большинства линуксов ISP-dhclient (официальный клиент консорциума) делать это одновременно (тадаммм) не умеет. Т.е. клиента можно запустить либо в одном режиме, либо в другом. Как известно DHCP выдает адреса в аренду, т.е. клиент должен быть в фоне и обновлять эту аренду. Поэтому тут пахнет таким обломом. Но, поскольку у меня на морде рутер, т.е. с двумя хвостами, то я адрес в обычном режиме вообще не получаю, получаю только префикс, адрес с этим префиксом даю второму интерфейсу, который замечательно виден снаружи, как и все последующие компы. Для клиента, кстати, есть пара альтернатив, как минимум, которые поддерживают prefix delegation.

Адрес выдаваемый провайдером и префикс не совпадают! Т.е. из разных подсетей, с разным префиксом! По крайней мере, у моего провайдера. Префикс, кстати, выдается /56. Посмотреть его можно в том файлике lease, который делает dhclient -P, адрес, соответственно, в том файле, который делает обычный dhclient.

Маленький нюанс. Как в Fedora, так и в CentOS, а, думаю, во многих других Linux, надо проверить правила ip6tables -L, поскольку у меня правила по умолчанию резали выдачу DHCP.

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

Что у меня на текущий момент в итоге.

Инет - isp dhclient -P на рутере получает адрес - прибитый вручную адрес на рутере - прибитые вручную два адреса на Микротике на внешнем интерфейсе и на бридже, на бридже с Advirtise, т.е. все клиенты получают адреса с нужным префиксом.

В общем, провайдер подвел молчаливой сменой префикса. Точнее - тупо его убрал.
На всякий приведу здесь пример файла рутинга
/etc/sysconfig/network-scripts/route6-enp3s0
2a02:2168:d88:a900::/64 via fe80::6e3b:6bff:fe12:29f8 dev enp3s0 metric 30
2a02:2168:d88:a911::/64 via fe80::6e3b:6bff:fe12:29f8 dev enp3s0 metric 30
и файл конфига
/etc/sysconfig/network-scripts/ifcfg-enp3s0
IPV6_PRIVACY=no
IPV6ADDR=2a02:2168:d88:a900:1::2
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6FORWARDING=yes
12.03.2018 12:18
OlegON
 
Добавлю ветку темы по настройке конретной схемы с DHCP6 и Микротиком: https://olegon.ru/showthread.php?t=28967
Часовой пояс GMT +3, время: 18:05.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.