IPv6 (обзор и примеры)
Содержание
Структура адреса IPv6
2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64 |-------------|----|------------------| global subnet interface-id
При этом части глобального префикса имеют следующие порции
200 - IANA
10D - registrar
B8 - ISP
3C4D - ISP's customer/site
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.
Мультикаст адреса начинаются на FF
FF00::/8
Лупбэк ipv6
::1
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.
FE80::X /10
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:
FF02::1 - All Nodes
Адрес "все узлы" используется вместо броадкаста.
FF02:0:0:0:0:1:FF00::/104 - Solicited Node
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса. Адрес "запрошенный узел" создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.
ULA адреса FD00::/8 - Unique Local Address
Scopes
NDP
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.
IPv6 на маршрутизаторах cisco IOS
Включить ipv6 маршрутизацию (по-умолчанию выключена)
ipv6 unicast-routing
Задать ipv6-адрес на интерфейсе int fa 0/0
ipv6 address 2001:DB8:3C4D:7777::123/64
Задать адрес в формате EUI-64
int fa 0/0 ipv6 address 2001:DB8:3C4D:7777::/64 eui-64
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес: из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах
sh ipv6 int fa 0/0
Просмотр таблицы ipv6 маршрутов
sh ipv6 route
Как и в случае с ipv4, туда автоматом попадают directly connected сети.
Пинг обычный
ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501
Посмотреть кэш соответствий IPv6-MAC можно командой
sh ipv6 neighbor
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:
ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101
OSPFv3
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.
ipv6 router ospf 777 router-id 7.7.7.0 passive-interfase fa0/1
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area. Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.
int fa 0/0 ipv6 ospf 777 area 0 int fa 0/1 ipv6 ospf 777 area 0
DNS для IPv6
AAAA
Автоконфигурация
ipv6 general-prefix
NDP
DAD - Duplicate Address Detection
SLAAC
DHCPv6 - можно задать адрес, но нет концепции шлюза. Можно выдать адрес DNS-сервера.
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.
RD
Делегирование префиксов через DHCPv6-PD
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:
ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:
ISP(config)#ipv6 dhcp pool CUSTOMERS ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888
Привязать пул к интерфейсу, к которому подключены клиенты:
ISP(config)#interface GigabitEthernet 0/1 ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64 ISP(config-if)#ipv6 dhcp server CUSTOMERS
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:
C1(config)#interface GigabitEthernet 0/1 C1(config-if)#ipv6 dhcp client pd ISP_PREFIX C1(config-if)#ipv6 address autoconfig default
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:
C1(config)#interface GigabitEthernet 0/2 C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64
Важно: вышестоящий и нижестоящий роутеры должны обладать маршрутной информацией. Не на всех версиях IOS это происходит автоматически.
Методы миграции на IPv6
Dual-stack
tunnels
NAT64, NAT46
DNS64
sh ipv6 int vlan XX
IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757
No Virtual link-local address(es):
Global unicast address(es):
2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:2
FF02::1:FF00:1
FF02::1:FFE2:5757
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions
Output features: HW Shortcut Installation
IPv6 verify source reachable-via rx
370 verification drop(s) (process), 1302114 (CEF)
0 suppressed verification drop(s) (process), 0 (CEF)
Service-policy input: police-outbound
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements are sent every 5 seconds
ND router advertisements live for 1800 seconds
ND advertised default router preference is High
Hosts use DHCP to obtain routable addresses.
Hosts use DHCP to obtain other configuration.
Well-known IPv6 multicast addressesAddress Description
ff02::1 All nodes on the local network segment
ff02::2 All routers on the local network segment
ff02::5 OSPFv3 All SPF routers
ff02::6 OSPFv3 All DR routers
ff02::8 IS-IS for IPv6 routers
ff02::9 RIP routers
ff02::a EIGRP routers
ff02::d PIM routers
ff02::16 MLDv2 reports (defined in RFC 3810)
ff02::1:2 All DHCP servers and relay agents on the local network segment (defined in RFC 3315)
ff02::1:3 All LLMNR hosts on the local network segment (defined in RFC 4795)
ff05::1:3 All DHCP servers on the local network site (defined in RFC 3315)