Ссылки:
1 2 3 4 5 6 7 |
http://www.ipv6.org/ http://ru.wikipedia.org/wiki/IPv6 http://www.faqs.org/rfcs/rfcl752.html https://habr.com/ru/post/253803/ https://habr.com/ru/post/254293/ https://he.net/ - туннельный брокер https://www.artur.lv/kak-nastroit-ipv6-na-routere-zyxel/ - туннельный брокер |
add mikrotik
1 2 3 4 5 6 7 8 9 10 |
0. Регистрируемся https://tunnelbroker.net/ 1. Выбираем exemple config для нашей железки Пример конфига что дает he. /interface 6to4 add comment="Hurricane Electric IPv6 Tunnel Broker" disabled=no local-address=YOU_IPV4_ADDRESS mtu=1280 name=sit1 remote-address=HE_IPV4_ADDRESS /ipv6 route add comment="" disabled=no distance=1 dst-address=2000::/3 gateway=YOU_IPV6_ADDRESS_TUNEL::1 scope=30 target-scope=10 /ipv6 address add address=HE_IPV6_TUNNEL::2/64 advertise=no disabled=no eui-64=no interface=sit1 |
Пример Mikrotik ipv6 default firewall:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# https://help.mikrotik.com/docs/display/ROS/Building+Your+First+Firewall Создайте список адресов, из которого вы разрешаете доступ к устройству: /ipv6 firewall address-list add address=fd12:672e:6f65:8899::/64 list=allowed Защита роутера: /ipv6 firewall filter add action=accept chain=input comment="allow established and related" connection-state=established,related add chain=input action=accept protocol=icmpv6 comment="accept ICMPv6" add chain=input action=accept protocol=udp port=33434-33534 comment="defconf: accept UDP traceroute" add chain=input action=accept protocol=udp dst-port=546 src-address=fe80::/16 comment="accept DHCPv6-Client prefix delegation." add action=drop chain=input in-interface=sit1 log=yes log-prefix=dropLL_from_public src-address=fe80::/16 add action=accept chain=input comment="allow allowed addresses" src-address-list=allowed add action=drop chain=input /ipv6 firewall address-list add address=fe80::/16 list=allowed add address=ff02::/16 comment=multicast list=allowed Защита локальной сети: /ipv6 firewall filter add action=accept chain=forward comment=established,related connection-state=established,related add action=drop chain=forward comment=invalid connection-state=invalid log=yes log-prefix=ipv6,invalid add action=accept chain=forward comment=icmpv6 in-interface=!sit1 protocol=icmpv6 add action=accept chain=forward comment="local network" in-interface=!sit1 src-address-list=allowed add action=drop chain=forward log-prefix=IPV6 |
DNS DHCP OPTIONS
1 2 3 |
/ipv6 dhcp-server option add code=23 name=dns-google value="'2001:4860:4860::8888'" add code=23 name=dns-google2 value="'2001:4860:4860::8844'" |
ADDRESESS IPV6
1 2 3 4 |
/ipv6 address add address=IPV6_TUNEL::2 advertise=no interface=sit1 add address=IPV6_NET_NEW::1 interface=bridge-local add address=fd00::1 advertise=no interface=bridge-local |
ND
1 2 3 4 5 6 7 |
/ipv6 nd set [ find default=yes ] advertise-mac-address=no disabled=yes managed-address-configuration=yes other-configuration=yes add advertise-dns=no interface=bridge-corp other-configuration=yes /ipv6 nd prefix default set preferred-lifetime=1h valid-lifetime=2h /ipv6 settings set accept-router-advertisements=yes max-neighbor-entries=1024 |
Альтернативный DNS:
1 2 3 4 5 6 7 8 9 |
DNS Google Базовый 2001:4860:4860::8888 DNS Google Базовый 2001:4860:4860::8844 DNS Google Базовый 2a02:6b8::feed:0ff DNS Google Базовый 2a02:6b8:0:1:feed::0ff DNS Яндекс Безопасный 2a02:6b8::feed:bad DNS Яндекс Безопасный 2a02:6b8:0:1::feed:bad DNS Яндекс Семейный 2a02:6b8::feed:a11 DNS Яндекс Семейный 2a02:6b8:0:1::feed:a11 |
Из книжки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
При использовании IPv6-адреса в URL необходимо заключать адрес в квадратные скобки: http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]/ Если необходимо указать порт, то он пишется после скобок: http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]:8080/ 128bit 32 шестнадцатеричных значения : - хекстет 0000:0000:0000:0000:0000:0000:0000:0000 IP-адреса будут иметь длину 128 бит (а не 32 как в IPV4). При записи в традиционном формате IP-адрес будет выглядеть так: abcd:0017:2ff:12aa:2222:783:00dd:1234 Очевидно, что такие записи неудобны на практике. Ради экономии места адреса IPv6 будут разбиваться символом : на группы шестнадцатеричных чисел (не более восьми групп), например, так: abcd:17:2ff:12aa:2222:783:dd:1234 Чтобы не нужно было писать лишнего, используется символ ::, который является сокращенной формой для нескольких нулевых групп: abcd:17:0:0:0:0:dd:1234 -> axd:17::dd:1234 0:0:C:0:0:783:dd:1234 3 -> ::783:dd:1234 Для localhost существует более компактная запись — ::1. При отображении адресов IPv4 в формате IPv6 первые шесть групп являются нулевыми. Оставшиеся две группы можно записывать не только в шестнадцатеричной но и в более привычной десятичной системе: Адрес IPv4: ::110.111.112.113 В рамках перехода на IPv6 в течение нескольких лет будут совместно использоваться IPv4 и IPv6. Существуют различные методы, позволяющие передавать пакеты IPv6 по сетям IPv4 и наоборот. |
Сокращение записи ipv6:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Правило номер 1: Первое правила для сокращения записи IPv6-адресов — пропуск всех ведущих 0 в шестнадцатеричной записи. Это правило применяется только к ведущим нулям, а НЕ к последующим, иначе адрес будет записан неясно. Например, шестнадцатеричное число «ABC» может быть представлено как «0ABC» или «ABC0». Например: 01AB можно представить как 1AB 09F0 можно представить как 9F0 0A00 можно представить как A00 00AB можно представить как AB 01AB = 1AB 09DF0 = 09DF0 0A00 = A00 00AB = AB Правило номер 2: Двойное двоеточие (::) может использоваться в адресе только один раз. :: Может заменить все единичные не прерывные строки состоящие из нулей :: Может применятся только один раз Пример: 2001:0DB8:0000:0000:ABCD:0000:0000:1234 Неправильная запись ipv6 : 2001:0DB8::ABCD::1234 Возможные расширения неоднозначно записанных сжатых адресов: 2001:DB8::ABCD:0:0:0:1234 2001:DB8:0:0:ABCD::1234 Пример: 2001:0DB8:0000:0000:0000:0000:0000:ABCD 2001:DB8::ABCD |
Маска сети в ipv6
1 2 3 4 |
!!! ipv6 нету маски используется \ вместо этого длина префикса Провайдеры выдают сеть /48 Длина префикса от 0 - до 128 Стандартная длина префикса /64 (Можно использовать другой но windows хочет /64) |
Существует три типа IPv6–адресов:
1 2 3 4 5 6 7 8 9 10 11 |
# Unicast (индивидуальный) – Служит для определения интерфейса на устройстве под управлением протокола IPv6 одноадресная рассылка (unicast) - один пк на другой # Multicast (Групповой) – Используется для отправки пакетов по нескольким адресам назначения (Заменил собой Broadcast адрес, имеется IPv6- адрес для всех узлов, который дает аналогичный результат.) многоадресная рассылка (multicast) - на группу пк (iptv) # Anycast (Произвольный) – Любой индивидуальный адрес, который может быть назначен нескольким устройствам. Пакет, отправляемый на адрес произвольной рассылки, направляется к ближайшему устройству с этим адресом. адрес любого узла из группы (anycast) - любой адрес из группы Примечание. Протокол IPv6 не содержит адресов широковещательной рассылки (broadcast) |
IPV6 отличие от IPV4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
1. В IPv6 нету Broadcast ARP Broadcast частично заменили Multicast адреса и адреса Link Local. ARP протокол заменен протоколом NDP; 2. В IPv6 нет технологии NAT, которая есть в IPv4. Смело спорьте с тем: кто скажет обратное. Экономия адресов в IPv6 не используется, адресов хватит на всех. Уровень безопасности, который обеспечивает NAT в технологии IPv4, заменен адресами Unique Local, но нельзя забывать, что безопасность должны обеспечивать межсетевые экраны - это их функция. Название Nat64 которое можете встретить в литературе про IPv6, идет речь о совместном использовании технологии IPv6, IPv4. 3. Благодаря Link Local адресам сетевые устройства могут общаться в пределах одного локального канала и только в пределах его. 4. Появилась фича которая называется: «проверка уникальности IPv6 адреса». Используется в DHCPV6, полный процесс будет описан чуть ниже. Суть ее в том, что после назначения ip-адреса устройству он посылает icmp запрос, destination выбирает данный ему адрес, если приходит ответ — то его адрес не уникален и нужно получать новый IPv6 адрес. 5. Появились адреса anycast. В сети могут существовать несколько хостов с абсолютно идентичными IPv6-адресами. Вариант использования я выявил один, в случае, когда находятся три балансировщика около сервера. Им дается один и тот же адрес, который называется anycast. 6. Вендоры, такие как Cisco или Juniper, полностью готовы к переходу на IPv6, дело остается за операторами связи и ИТ-компаниями. |
Область действия IPV6 адресов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Область действия IPV6 адресов: Глобальные (global unicast address) - Действуют в интернет - распределяются IANA Локальные (unique local address) - Не маршрутизируются в интернет - Можно использовать без обращения в IANA - Документ RFC4193 Локальные канал связи (link-local address) - Не маршрутизируются Локальные адреса площадки (site local address) - Не используются и исключены из стандарта (RFC 3879) |
Начальные цифры адресов IPv6:
1 2 3 4 |
Глобальные: 2 или 3 Локальный: FD Локальный канал связи: FE80 Групповой: FF |
Специальные адреса IPv6:
1 2 3 |
::/128 - текущий хост ::/0 - маршрут по умолчанию ::1/128 - обратная петля (loopback) |
Зарезервированные адреса многоадресной рассылки(multicast):
1 2 3 4 5 6 7 8 9 10 11 |
Multicast - ff00::/8 - адреса групповой рассылки FF02::1 - все устройства FF02::2 - все маршрутизаторы FF02::1:2 - все DHCPv6 серверы FF02::1:FFxx:xxxx/104 - solicited-node multicast, группа узлов, у которых совпадают последние 24 бита (xx:xxxx) из unicast адреса FF02::5 - группа маршрутизаторов с протоколом OSPFv3 FF02::6 - группа маршрутизаторов с протоколом OSPFv3 %eth0 - интерфейс eth0 ping6 ff02::1%eth0 |
ipv6 SLAAC \ NDP \ Neighbor Discovery \ Router Discovery
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
128 0. Префикс IPv6 = 64бит (Эту часть отдает DHCPv6) 1. Идентификатор интерфейса = 64бит \ (ff:fe в середину MAC) (Эта часть генерируется клиентом при EUI-64) Neighbor Discovery (знаю адрес IPv6 соседа, но не знаю канальный: как найти?) Neighbor Solicitation (NS) - запрос канального адреса (LLA или ::(DAD) -> SNMA) Neighbor Advertisement (NA) - ответ на такой запрос (LLA -> LLA или FF02::1(DAD)) тут же работают механизмы Duplicate Address Detection (DAD) и Neighbor UnreachabilityDetection (NUD) Router Discovery (хочу получить информацию о роутерах) Router Solicitation (RS) - запрос информации о роутерах (:: -> FF02::2) Router Advertisement (RA) - оповещение по расписанию о настройках IPv6 и ответ, если был принудительный запрос (LLA -> FF02::1) ND - udp port 547,546 |
Как получить адрес ipv6?
1 2 3 4 5 6 7 8 9 10 11 12 |
На роутере настроить radvd и SLAAC! Включить интерфейс Генерируется Link-Local Address и рассылается сообщение Neighbor Solicitation на адрес Solicited-node Multicast для Duplicate Address Detection (адрес в состоянии tentative); Рассылается сообщение Router Solicitation на адрес ff02::2; Роутер отвечает на Link-Local Address, что есть такие-то доступные префиксы и настройки; Генерируется Global Unicast Address на основе полученного префикса и рассылается сообщение Neighbor Solicitation на адрес Solicited-node Multicast для Duplicate Address Detection (адрес в состоянии tentative) Применяются настройки полученные от роутера Если Duplicate Address Detection отрабатывает успешно, то адреса переходят в состояние preferred. |
Для чего нужен DHCPv6?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Что бы раздавать опции! DHCPv6 нужен, т.к. в SLAAC ограничен набор предлагаемых опций. Если вы хотите, к примеру, загрузку по сети или передавать опции NTP, то вам нужен полноценный сервер DHCPv6. Варианты: stateless DHCPv6 = SLAAC (сеть, префикс и шлюз) + DHCPv6 (опции); stateful DHCPv6 (клиент принципиально не слушает RA от роутера и обращается к серверу DHCPv6). radvd Если сообщения RA рассылаются, то: Autonomous = off (не назначаем адрес из префиксов RA) Managed = on (запрашиваем адрес у сервера DHCPv6) OtherConfig = on (получаем опции у сервера DHCPv6) Если RA не рассылаются, то клиент всегда может самостоятельно обратиться к серверу DHCPv6 по FF02::1:2 Помним, что клиент отправляет сообщение с порта 546/UDP серверу на порт 547/UDP. В идеальном случае, DHCPv6 сервер ещё добавляет соответствующие записи в зону DNS. |