Маршрутизация IPv6

Конфигурация статического маршрута IPv6

Если вы умеете конфигурировать статический маршрут для IPv4, у вас не должно возникнуть проблем и с IPv6. Конфигурация и синтаксис сходные, есть только небольшие различия.

Конфигурация

Создайте для работы следующую схему:

R1 и R2 последовательно соединены. На R2 настроен loopback-интерфейс с IPv6 адресом 2001:DB8:2:2::2/64.

Обратите внимание, если вы работаете в виртуальной среде, позаботьтесь о том чтобы устройствам были заданы различные MAC-адреса.

Настройте R1:

end
enable
configure
hostname R1
 
#Включение работы с IPv6 и перезагрузка
ipv6 forwarding enable
write
end
reload

ipv6 forwarding enable — включает работу Ipv6 в плоскости пользовательских данных.

#Настройка интерфейса и порта
enable
configure
interface 2ge0
ipv6 address 2001:DB8:12:12::1/64
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
exit
exit
 
#Настройка IPv6 маршрута
ipv6 route 2001:DB8:2:2::/64 2001:DB8:12:12::2
write

Аналогичным образом настройте R2 c интерфейсом обратной связи:

end
enable
configure
hostname R2
 
#Включение работы с IPv6 и перезагрузка
ipv6 forwarding enable
write
end
reload
#Настройка интерфейса и порта
enable
configure
interface 2ge0
ipv6 address 2001:DB8:12:12::2/64
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
 
#Настройка loopback-интерфейса 
interface loopback.0
ipv6 address 2001:DB8:2:2::2/64
exit
exit

Проверьте созданный на R1 маршрут:

R1#show ipv6 route static
IP Route Table for VRF "default"
S      2001:db8:2:2::/64 [1/0] via 2001:db8:12:12::2, 2ge0, 00:13:56

Проверьте доступность loopback-интерфейса с R1:

R1#ping 2001:db8:2:2::2
PING 2001:db8:2:2::2(2001:db8:2:2::2) 56 data bytes
64 bytes from 2001:db8:2:2::2: icmp_seq=1 ttl=64 time=22.8 ms
64 bytes from 2001:db8:2:2::2: icmp_seq=2 ttl=64 time=21.5 ms
64 bytes from 2001:db8:2:2::2: icmp_seq=3 ttl=64 time=20.6 ms

Одно из различий между IPv4 и IPv6 заключается в том, что IPv6 генерирует адрес link-local для каждого интерфейса. Эти link-local адреса также используются протоколами маршрутизации, такими как RIPng, EIGRP, OSPFv3 и т. д., в качестве адресов следующего перехода (next hop). Проверьте, какой link-local адрес у R2:

R2#show interface 2ge0 | include Link-local
  Link-local address is fe80::1e87:76ff:fe40:101/64

А теперь используйте этот адрес в качестве следующего перехода в маршруте на R1. Когда в качестве следующего перехода используетcя глобальный unicast адрес, маршрутизатор может просмотреть таблицу маршрутизации и выяснить, какой исходящий интерфейс использовать для достижения этого глобального адреса unicast. В случае с адресами link-local маршрутизатор не имеет информации, какой исходящий интерфейс использовать, поэтому необходимо будет указать как адрес link-local, так и исходящий интерфейс 2ge0:

R2(config)#no ipv6 route 2001:db8:2:2::/64
R2(config)#ipv6 route 2001:db8:2:2::/64 fe80::1e87:76ff:fe40:101 2ge0

Проверьте таблицу маршрутизации show ipv6 route static и ping 2001:DB8:2:2::2.

Статический маршрут по умолчанию

Как и в IPv4 в IPv6 можно создавать статические маршруты по умолчанию. Маршрут по умолчанию состоит из одних нулей :: и имеет префикс нулевой длинны /0. Это полная аналогия адреса 0.0.0.0/0 в IPv4.

Настройка адреса по умолчанию в качестве префикса назначения будет означать, что все пакеты для которых не будет найден более специфический маршрут будут отправлены на адрес маршрута по умолчанию.

В качестве следующего перехода можно указать: имя интерфейса, глобальный unicast адрес или link-local адрес.

Настройте маршрут с адресом по умолчанию ::/0 в качестве префикса назначения и именем интерфейса на R1:

no ipv6 route 2001:db8:2:2::/64
ipv6 route ::/0 2ge0

На R1 проверьте таблицу маршрутизации show ipv6 route static и ping 2001:DB8:2:2::2.

Настройте маршрут с адресом по умолчанию ::/0 в качестве префикса назначения и unicast адресом R2 в качестве следующего перехода:

no ipv6 route ::/0
ipv6 route ::/0 2001:db8:12:12::2 2ge0

На R1 проверьте таблицу маршрутизации show ipv6 route static и ping 2001:DB8:2:2::2.

Замените глобальный unicast адрес следующего перехода на link-local адрес маршрутизатора R2.

no ipv6 route ::/0
ipv6 route ::/0 fe80::1e87:76ff:fe40:101 2ge0

На R1 проверьте таблицу маршрутизации show ipv6 route static и ping 2001:DB8:2:2::2.

Статический маршрут хоста

Можно также создать статические маршруты для одного адреса IPv6, называемые статическим маршрутом хоста. Здесь приводятся те же примеры что и ранее, но на этот раз нужно будет создать запись для 2001:DB8:2:2::2.

Сначала пропишите интерфейс в качестве следующего перехода:

no ipv6 route ::/0
ipv6 route 2001:DB8:2:2::2/128 2ge0

Теперь подставьте в качестве следующего перехода глобальный unicast адрес R2.

no ipv6 route 2001:DB8:2:2::2/128
ipv6 route 2001:DB8:2:2::2/128 2001:DB8:12:12::2

Теперь link-local адрес:

no ipv6 route 2001:DB8:2:2::2/128
ipv6 route 2001:DB8:2:2::2/128 fe80::1e87:76ff:fe40:101 2ge0

После каждого варианта проверяйте таблицу маршрутизации show ipv6 route static и ping 2001:DB8:2:2::2.

Плавающий статический маршрут

Статические маршруты имеют очень низкую административную дистанцию равную единице. Это означает, что маршрутизатор будет предпочитать статический маршрут любым другим маршрутам, которые были изучены через протоколы динамической маршрутизации. Если вы хотите использовать статический маршрут в качестве резервного маршрута, вам придётся изменить его административную дистанцию. Это называют плавающим статическим маршрутом.

Добавьте к схеме ещё один маршрутизатор.

Настройте R3:

end
enable
configure
hostname R3
 
#Включение работы с IPv6 и перезагрузка
ipv6 forwarding enable
write
end
reload
#Настройка интерфейса и порта
interface 2ge1
ipv6 address 2001:DB8:13:13::3/64
port ge1
service-instance 4ge1
encapsulation untagged
connect ip interface 2ge1
 
#Настройка loopback-интерфейса 
interface loopback.0
ipv6 address 2001:DB8:23:23::23/128

Перенастройте loopback интерфейс на R2:

interface loopback.0
no ipv6 address 2001:db8:2:2::2/64
ipv6 address 2001:DB8:23:23::23/128

Настройте новый интерфейс на R1:

interface 2ge1
ipv6 address 
ipv6 address 2001:DB8:13:13::1/64
port ge1
service-instance 4ge1
encapsulation untagged
connect ip interface 2ge1

R3 добавлен в топологию, и вы настроили тот же адрес обратной связи 2001:DB8:23:23::23/128 что и на R2. R3 будет использоваться как основной путь для достижения этого адреса. При потере связи, должен использовать R2.

Вот статический маршрут для использования R3 в качестве основного пути:

no ipv6 route 2001:db8:2:2::/64
ipv6 route 2001:DB8:23:23::/64 2001:DB8:13:13::3

Сначала установите маршрут до R3 через глобальный unicast адрес c увеличенной метрикой равной двум:

ipv6 route 2001:DB8:23:23::/64 2001:db8:13:13::3 2

Проверьте таблицу маршрутизации:

R1(config)#do show ipv6 route static
IP Route Table for VRF "default"
S      2001:db8:23:23::/64 [1/0] via 2001:db8:12:12::2, 2ge0, 00:45:30

Заданный маршрут на R3 отсутствует в таблице.

Но он присутствует в конфигурации:

R1(config-if)#do show run | include ipv6 route
ipv6 route 2001:db8:23:23::/64 2001:db8:12:12::2
ipv6 route 2001:db8:23:23::/64 2001:db8:13:13::3 2

Теперь принудительно отключите интерфейс 2ge0 ведущий к R2:

R1(config)#interface 2ge0
R1(config-if)#shutdown
2025-07-04 16:03:01      INFO      Interface 2ge0 changed state to down

Проверьте таблицу маршрутизации:

R1(config-if)#do show ipv6 route static
IP Route Table for VRF "default"
S      2001:db8:23:23::/64 [2/0] via 2001:db8:13:13::3, 2ge1, 01:10:13

Теперь в таблице маршрутизации появился маршрут к R3.

Также как и в предыдущих примерах, вы можете использовать link-local next hop адрес:

R1(config)#ipv6 route 2001:db8:23:23::/64 fe80::1e87:76ff:fe40:101 2ge0 2