IPv6 (обзор и примеры) — различия между версиями

Материал из wiki
Перейти к: навигация, поиск
(Делегирование префиксов через DHCPv6-PD)
(Делегирование префиксов через DHCPv6-PD)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 116: Строка 116:
 
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:
 
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:
  
<code>ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48
+
ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48
</code>
+
 
 
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:
 
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:
  
<code>ISP(config)#ipv6 dhcp pool CUSTOMERS
+
ISP(config)#ipv6 dhcp pool CUSTOMERS
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL
+
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888</code>
+
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888
  
 
Привязать пул к интерфейсу, к которому подключены клиенты:
 
Привязать пул к интерфейсу, к которому подключены клиенты:
  
<code>ISP(config)#interface GigabitEthernet 0/1
+
ISP(config)#interface GigabitEthernet 0/1
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64
+
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64
ISP(config-if)#ipv6 dhcp server CUSTOMERS</code>
+
ISP(config-if)#ipv6 dhcp server CUSTOMERS
  
 
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:
 
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:
  
<code>C1(config)#interface GigabitEthernet 0/1
+
C1(config)#interface GigabitEthernet 0/1
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX
+
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX
C1(config-if)#ipv6 address autoconfig default</code>
+
C1(config-if)#ipv6 address autoconfig default
  
 
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:
 
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:
  
<code>C1(config)#interface GigabitEthernet 0/2
+
C1(config)#interface GigabitEthernet 0/2
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64</code>
+
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64
 +
 
 +
Важно: вышестоящий и нижестоящий роутеры должны обладать маршрутной информацией. Не на всех версиях IOS это происходит автоматически.
  
 
== Методы миграции на IPv6 ==
 
== Методы миграции на IPv6 ==

Текущая версия на 04:48, 13 марта 2023

Структура адреса 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)