Jump to content
Калькуляторы

Cisco ASR 1000 ISG IPv6 l2-connected

Приветствую.

Конфиг интерфейса:

 

interface TenGigabitEthernet0/1/0.199
encapsulation dot1Q 199
ip address 100.65.0.1 255.255.0.0
ip nat inside
ipv6 address ISP 0:0:0:199::/64 eui-64
ipv6 enable
service-policy type control Captive
ip subscriber l2-connected
 initiator unclassified mac-address

 

Суть проблемы в том, что киса не объявляет себя основным шлюзом в этот интерфейс, соответственно хост не инициирует никакого подключения к Интернету по IPv6 протоколу. Зато присылает странный RA c префиксом ISP:ISP:2::/60, хотя на самой такого маршрута нет, есть с более короткой маской /48.

Что я делаю не так?

Платформа ASR 1002-X, asr1002x-universalk9.03.13.02.S.154-3.S2-ext.SPA.bin

 

Да, если убрать "ip subscriber l2-connected" то все сразу начинает работать как положено, прилетает neighbor advertisement, length 32, tgt is ISP:ISP:0:199:8af0:31ff:feac:8c10, Flags [router, override]

Share this post


Link to post
Share on other sites

Для ипв6 там чёт специальное в service-policy и политику отдельную надо

 

Пишут, что ipv6 не поддерживает l2-connected.

Я на ASR-ке делаю captive-portal для вифи, мне, блин, мак надо.

 

Если делать l3-connected, тогда непонятно как отслеживать сеанс, если например клиент будет временный адрес использовать - для роутера это совершенно новый пользователь - так 100500 сеансов накопится.

Share this post


Link to post
Share on other sites

Странно.. действительно IPv6 только роутед о.О

 

Все равно аср 1к дуал стэк сессии не может

 

Да можно и две отдельных.

Может зря я вообще на мак заморочился?

 

Назначить на интерфейс /48 адрес, в том-же сегменте поднять dhcpv6 c выдачей /64 на мак, сеанс мапить по /64 маске.

Также поднять dhcp для v4.

И сделать routed.

 

какой нормальный софт DHCP/DHCPv6 с нормальным API для портала есть?

Share this post


Link to post
Share on other sites

А вот какой тугамент нашел:

http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/isg/configuration/xe-3s/isg-xe-3s-book/isg-dual-stack.pdf

Пишут что таки должно оно на l2-connected работать с версии 3.11.

Share this post


Link to post
Share on other sites

Оф доки говорят следующее:

 

http://www.cisco.com/c/en/us/td/docs/routers/asr1000/configuration/guide/chassis/IWAG_Config_Guide_BookMap/iwag-dual-stack-ipoe-sess.html

 

Prerequisites for Dual-Stack Support for Simple IP Subscriber Sessions

The subscriber must be Layer 2-connected.

 

The web or portal server should be a dual-stack host.

 

The ipv6 unicast-routing command needs to be enabled on the ISG to enable dual-stack sessions.

 

Either the IPv6 pool has to be configured in the ISG or the framed IPv6 prefix needs to be downloaded from RADIUS.

 

Попробуйте добавить новый пул, соответствующий ipv6 access интерфейсу на ISG и сбросить его имя с радиус-аттрибутом Framed-IPv6-Pool =

Share this post


Link to post
Share on other sites

Попробуйте добавить новый пул, соответствующий ipv6 access интерфейсу на ISG и сбросить его имя с радиус-аттрибутом Framed-IPv6-Pool =

 

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

А как, интересно, абоненты должны начать слать ему траффик, если они не видят его RA изначально??? Я в том-же сегменте поднял dhcpv6 (kea), который выдает клиенту адрес, если клиенту вручную настроить использовать DHCP, хотя по уму клиент должен узнать о том что нужно использовать DHCP .... из managed и other флагов RA, которых таки изначально нет.

Адрес шлюза через DHCP не выдашь - таков протокол.

Короче проблема курицы и яйца. Возможно это баг и исправили в более поздних версиях, но роутер в продакшене, менять IOS на нем щас - самоубийство.

Ну и вишенкой на торте, при старте ipv4 сеанса, в радиус прилетает framed-ip-address клиента и его можно идентифицировать на портале. А в случае ipv6 (при статической настройке), такой инфы нет, а в сочетании с меняющимся DUID клиента, из базы dhcp вытащить адрес тоже нетривиальная задача.

Share this post


Link to post
Share on other sites

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

 

это как раз ожидаемо, при наличии нескольких пулов, ISG всегда будет слать первый по списку.

Пробовали, как я писал, создать (или использовать существующий) пул, соотв. IPV6 адресу на интерфейсе и указывать его в дополнительном радиус атрибуте ?

Share this post


Link to post
Share on other sites

указывать его в дополнительном радиус атрибуте ?

 

О каком радиусе может идти речь, если хост не проявляет активность в отношении роутера, потому что не получеат его RA изначально?

Share this post


Link to post
Share on other sites

создать (или использовать существующий) пул, соотв. IPV6 адресу на интерфейсе

#show run | inc captive_pool 
ipv6 local pool captive_pool ISP:PREFIX:199::/48 64
#conf t
(config)#interface TenGigabitEthernet0/1/0.199
(config-subif)#ipv6 address ISP:PREFIX:199::1/64
%TenGigabitEthernet0/1/0.199: Error: ISP:PREFIX:199::1/64 is reserved within ISP:PREFIX:199::/48 by IPv6 Localpool

Share this post


Link to post
Share on other sites

О каком радиусе может идти речь, если хост не проявляет активность в отношении роутера, потому что не получеат его RA изначально?

радиус заставит ISG отдавать "правильный" пул в RA сообщениях. Для этого сессия должна быть уже поднята хотя бы для IPv4 трафика. Если ее нет, то IPv6 RS от клиента должен инициировать сессию.

 

#show run | inc captive_pool 
ipv6 local pool captive_pool ISP:PREFIX:199::/48 64
#conf t
(config)#interface TenGigabitEthernet0/1/0.199
(config-subif)#ipv6 address ISP:PREFIX:199::1/64
%TenGigabitEthernet0/1/0.199: Error: ISP:PREFIX:199::1/64 is reserved within ISP:PREFIX:199::/48 by IPv6 Localpool

 

Попробуйте пересоздать в обратном порядке, сперва конфиг интерфейса, потом - local pool.

Share this post


Link to post
Share on other sites

радиус заставит ISG отдавать "правильный" пул в RA сообщениях. Для этого сессия должна быть уже поднята хотя бы для IPv4 трафика. Если ее нет, то IPv6 RS от клиента должен инициировать сессию.

 

Каким аттрибутом отдать пул?

На самом деле на NS роутер уже пытается поднять сессию.

Share this post


Link to post
Share on other sites

wonder, спасибо за подсказку!

Что интересно, RA при наличии сеанса идут клиенту юникастом. А при сбросе сессии прилетает прощальный RA.

 

Щас излажу портал на в6 и буду пробовать двойной стек.

Edited by ShyLion

Share this post


Link to post
Share on other sites

Не могу задать lifetime для анонсируемого из пула префикса, по умолчанию 1800 секунд.

interface TenGigabitEthernet0/1/0.199
encapsulation dot1Q 199
ip address 100.65.0.1 255.255.0.0
ip nat inside
ipv6 enable
ipv6 nd prefix default 600 600
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 nd ra mtu suppress
ipv6 nd ra lifetime 300
ipv6 nd ra interval 60
service-policy type control Captive
ip subscriber l2-connected
 initiator unclassified mac-address

Share this post


Link to post
Share on other sites

Не могу задать lifetime для анонсируемого из пула префикса, по умолчанию 1800 секунд.

interface TenGigabitEthernet0/1/0.199
encapsulation dot1Q 199
ip address 100.65.0.1 255.255.0.0
ip nat inside
ipv6 enable
ipv6 nd prefix default 600 600
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 nd ra mtu suppress
ipv6 nd ra lifetime 300
ipv6 nd ra interval 60
service-policy type control Captive
ip subscriber l2-connected
 initiator unclassified mac-address

 

Получается, что несмотря на настроенный ipv6 nd ra lifetime 300 на интерфейсе, для анонсируемого пула lifetime составляет дефолтные 1800 секунд, верно?

беглое гугление и поиск в конфиге не показал мне такой опции, к сожалению. если смогу что-то найти, напишу в этой теме.

Share this post


Link to post
Share on other sites

Получается, что несмотря на настроенный ipv6 nd ra lifetime 300 на интерфейсе, для анонсируемого пула lifetime составляет дефолтные 1800 секунд, верно?

беглое гугление и поиск в конфиге не показал мне такой опции, к сожалению. если смогу что-то найти, напишу в этой теме.

 

Да, в основном заголовке укзаные 300 секунд, а в опции prefix info, 1800:

 

16:57:46.903678 88:f0:31:ac:8c:10 > 00:0c:29:64:a9:1e, ethertype 802.1Q (0x8100), length 114: vlan 199, p 0, ethertype IPv6, (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::8af0:31ff:feac:8c10 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 56
       hop limit 64, Flags [managed, other stateful], pref medium, router lifetime 300s, reachable time 0ms, retrans time 0ms
         source link-address option (1), length 8 (1): 88:f0:31:ac:8c:10
           0x0000:  88f0 31ac 8c10
         prefix info option (3), length 32 (4): ISP:PREFIX:199::/64, Flags [onlink, auto], valid time 1800s, pref. time 1800s
           0x0000:  40c0 0000 0708 0000 0708 0000 0000 ISP
           0x0010:  PRFX 0199 0000 0000 0000 0000 0000

 

Ну и еще, похоже что какая-то особенность линуха или недоделка или я че-то недокрутил, но после "прощального" RA:

17:40:55.596625 88:f0:31:ac:8c:10 > 00:0c:29:64:a9:1e, ethertype 802.1Q (0x8100), length 74: vlan 199, p 0, ethertype IPv6, (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::8af0:31ff:feac:8c10 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 16
       hop limit 64, Flags [none], pref medium, router lifetime 0s, reachable time 0ms, retrans time 0ms

линух более RS не рассылает и судьбой IPv6 не интересуется.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.