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

Cisco CSR 1000V ISG QinQ, Radius, l2-connected subscriber

Коллеги приветствую.

Пытаюсь разобраться с Cisco ISG, т.к. планируем ставить на сеть ASR-1001-x. Пока сидим на SE100. С цисками до этого момента дел практически не имел.

Для ознакомления выкачал csr-1000v с cisco.com и установил на ESXi.

Задача - в схеме vlan-на-пользователя авторизовать клиента по opt82, назначить ip путем выдачи из пула dhcp на ASR ( Ip для выдачи выдается через атрибут Framed-Ip-Address) и выпустить в Интернет.

Для начала пытаюсь добиться, чтобы на радиус стали прилетать хоть какие-нибудь запросы:

 

 

version 15.4

service timestamps debug datetime msec

service timestamps log datetime msec

no platform punt-keepalive disable-kernel-core

platform console virtual

!

hostname ASR-1000-test

!

boot-start-marker

boot-end-marker

!

!

enable password cisco

!

aaa new-model

!

!

aaa group server radius ipoe-radius

server 172.16.0.11 auth-port 1812 acct-port 1813

ip radius source-interface GigabitEthernet1

!

aaa authentication login ISG-AUTH group ipoe-radius

aaa authorization network ISG-AUTH group ipoe-radius

aaa authorization subscriber-service default local group ipoe-radius

aaa accounting update newinfo periodic 30

aaa accounting network ISG-AUTH

action-type start-stop

group ipoe-radius

!

aaa accounting network ipoe-radius

action-type start-stop

group ipoe-radius

!

!

!

!

!

aaa server radius dynamic-author

client 172.16.0.11 server-key testing123

auth-type any

!

aaa session-id common

!

!

!

!

!

!

!

 

 

ip domain name test.local

!

!

!

!

!

!

!

!

!

!

subscriber templating

service-policy type control ISG-CUSTOMER-POLICY

multilink bundle-name authenticated

!

!

license udi pid CSR1000V sn 9VYTLL9KKJA

!

username cisco privilege 15 password 0 cisco

!

redundancy

mode none

!

!

!

policy-map type control CUSTOMERS-POLICY

class type control always event session-start

10 authorize aaa list ISG-AUTH password TEST identifier remote-id plus circuit-id

!

!

!

!

!

!

interface Loopback2

description Users unnumbered

ip address 192.168.2.1 255.255.255.0

!

interface Loopback3

ip address 192.168.3.1 255.255.255.0

!

interface GigabitEthernet1

ip address 172.16.0.10 255.255.255.0

negotiation auto

!

interface GigabitEthernet2

no ip address

negotiation auto

!

interface GigabitEthernet2.3999

encapsulation dot1Q 3999

ip address 172.16.255.1 255.255.255.0

!

interface GigabitEthernet2.4000

encapsulation dot1Q 4000 second-dot1q 1-1000

service-policy type control CUSTOMERS-POLICY

ip subscriber l2-connected

initiator dhcp

!

router ospf 1

redistribute connected subnets

network 172.16.0.0 0.0.0.255 area 0

!

!

virtual-service csr_mgmt

!

ip forward-protocol nd

!

no ip http server

no ip http secure-server

!

!

!

!

radius-server attribute 44 include-in-access-req default-vrf

radius-server attribute 44 extend-with-addr

radius-server attribute 8 include-in-access-req

radius-server attribute 32 include-in-accounting-req

radius-server attribute 55 include-in-acct-req

radius-server attribute 31 mac format unformatted

radius-server host 172.16.0.11 auth-port 1812 acct-port 1813 key testing123

radius-server vsa send cisco-nas-port

!

!

control-plane

!

!

line con 0

stopbits 1

line aux 0

stopbits 1

line vty 0 4

transport input ssh

!

!

end

 

 

 

На DES-3200 поднят QinQ с SVLAN 4000.

В результате клиент во влане 4000.1 отправляет DHCP-request, но на radius-сервер ничего не прилетает (слушал tcpdump).

Вопрос как всегда стандартный: чяднт :)

post-80840-030235100 1459415367_thumb.png

Share this post


Link to post
Share on other sites

Как минимум то, что бросилось в глаза:

Активируйте авторизацию подписчиков глобально на коробке: subscriber authorization enable. Нет IP-адреса на интерфейсе или хотя бы unnumbered на loopback, это нормально?

Не совсем понятно, как вы видите выдачу IP-адреса подписчику?

Share this post


Link to post
Share on other sites

Вопрос: можно ли как на SE отсылать клиенту loopback-интерфейс через radius-атрибут?

Для клиента планирую создать пулы dhcp на брасе. При получении атрибута Framed-IP-address клиенту должен выдаться соответствующий адрес из пула. Такое на isg возможно?

Share this post


Link to post
Share on other sites

Теперь понял. К сожалению, в такой схеме не настраивал ISG.

Есть возможность при помощи policy-map type service передать параметр

 

vr1(config-service-policymap)#ip ?

access-group Specify access control for packets

address IP Address parameters

portbundle IP Portbundle configuration

unnumbered Enable IP processing without an explicit address

vrf VPN Routing/Forwarding parameters

 

Я так передаю VRF, но этот service еще надо где-то применить, можно, например, попробовать по событию в control policy.

Share this post


Link to post
Share on other sites

tehmeh спасибо за ответы :)

Добавил subscriber authorization enable и все равно нет запросов к радиус-серверу.

Связь между клиентом и CSR точно есть - ставлю на обоих концах ip-адреса и пускаю пинг - сеть работает.

Share this post


Link to post
Share on other sites

Тяжело что-то сказать, я бы попробовал убрать из control policy фрагмент с list ISG-AUTH, у вас всё таки:

aaa authorization subscriber-service default local group ipoe-radius в нем не описан.

Попробуйте просто:

10 authorize aaa password TEST identifier remote-id plus circuit-id

Он, по-идее, возьмёт дефолтный список.

 

Еще, у меня большие сомнения на счёт того, что без IP на интерфейсе подписчика, а также пула или relay на маршрутизаторе, ISG сможет передать remote-id/circuit-id. Когда идентификаторы пустые, ISG не шлет ничего в сторону radius. Но могу сильно ошибаться.

Можно попробовать debug subscriber policy fsm или all, посмотреть error'ы.

Edited by tehmeh

Share this post


Link to post
Share on other sites

То ли лыжи не едут, то ли ...

Назначил ip интерфейсу, который смотрит на subscriber:

 

 

Current configuration : 218 bytes

!

interface GigabitEthernet2.4000

encapsulation dot1Q 4000 second-dot1q 1-1000

ip address 192.168.254.254 255.255.255.0

service-policy type control CUSTOMERS-POLICY

ip subscriber l2-connected

initiator dhcp

end

 

 

 

 

сделал debug subscriber policy all

 

Отправляю с клиента dhcp-req. В ответ опять тишина.

В show log - пусто.

Share this post


Link to post
Share on other sites

Попробуйте все таки добавить dhcp pool хотя бы в тест. Есть подозрение, что если маршрутизатор не является dhcp server или dhcp relay agent, то discover для него просто пакет, и initiator dhcp не отрабатывает.

 

aaa group server radius Customers

server 172.16.0.1 auth-port 1812 acct-port 1813

ip radius source-interface FastEthernet0/0

!

aaa authentication login default local-case

aaa authorization console

aaa authorization exec default local

aaa authorization subscriber-service default local group Customers

!

ip dhcp excluded-address 172.16.1.1

!

subscriber authorization enable

!

ip dhcp pool AddressSpace

network 172.16.1.0 255.255.255.0

default-router 172.16.1.1

lease 0 4

!

policy-map type control Customers

class type control always event session-start

1 authorize aaa password cisco identifier mac-address

!

interface FastEthernet1/0

description Customer faced

ip address 172.16.1.1 255.255.255.0

service-policy type control Customers

ip subscriber l2-connected

initiator dhcp

!

С вот таким конфигом у меня даже в 7200 под Dynamips взлетает, не говоря уже про csr1000v. Разве что опцию на linux сложновато соорудить.

Share this post


Link to post
Share on other sites

tehmeh

Продолжаю опыты :) Добавил dhcp-pool. В результате конфиг получился такой:

 

 

Current configuration : 2882 bytes

!

! Last configuration change at 11:12:49 UTC Fri Apr 1 2016 by cisco

!

version 15.4

service timestamps debug datetime msec

service timestamps log datetime msec

no platform punt-keepalive disable-kernel-core

platform console virtual

!

hostname ASR-1000-test

!

boot-start-marker

boot-end-marker

!

!

enable password cisco

!

aaa new-model

!

!

aaa group server radius ipoe-radius

server 172.16.0.11 auth-port 1812 acct-port 1813

ip radius source-interface GigabitEthernet1

!

aaa authentication login ISG-AUTH group ipoe-radius

aaa authorization network ISG-AUTH group ipoe-radius

aaa authorization subscriber-service default local group ipoe-radius

aaa accounting update newinfo periodic 30

aaa accounting network ISG-AUTH

action-type start-stop

group ipoe-radius

!

aaa accounting network ipoe-radius

action-type start-stop

group ipoe-radius

!

!

!

!

!

aaa server radius dynamic-author

client 172.16.0.11 server-key testing123

auth-type any

!

aaa session-id common

!

!

!

!

!

!

!

 

 

ip domain name test.local

!

ip dhcp pool AddressSpace

network 192.168.2.0 255.255.255.0

default-router 192.168.2.1

lease 0 4

!

!

!

!

!

!

!

!

!

!

subscriber templating

subscriber authorization enable

service-policy type control ISG-CUSTOMER-POLICY

multilink bundle-name authenticated

!

!

license udi pid CSR1000V sn 9VYTLL9KKJA

!

username cisco privilege 15 password 0 cisco

!

redundancy

mode none

!

!

!

policy-map type control CUSTOMERS-POLICY

class type control always event session-start

10 authorize aaa password TEST identifier remote-id plus circuit-id

!

!

!

!

!

!

interface Loopback2

ip address 192.168.2.1 255.255.255.0

!

interface Loopback3

ip address 192.168.3.1 255.255.255.0

!

interface GigabitEthernet1

ip address 172.16.0.10 255.255.255.0

negotiation auto

!

interface GigabitEthernet1.4000

!

interface GigabitEthernet2

no ip address

negotiation auto

!

interface GigabitEthernet2.3999

encapsulation dot1Q 3999

ip address 172.16.255.1 255.255.255.0

!

interface GigabitEthernet2.4000

encapsulation dot1Q 4000 second-dot1q 1-1000

ip unnumbered Loopback2

service-policy type control CUSTOMERS-POLICY

ip subscriber l2-connected

initiator dhcp

!

router ospf 1

redistribute connected subnets

network 172.16.0.0 0.0.0.255 area 0

!

!

virtual-service csr_mgmt

!

ip forward-protocol nd

!

no ip http server

no ip http secure-server

!

!

!

!

radius-server attribute 44 include-in-access-req default-vrf

radius-server attribute 44 extend-with-addr

radius-server attribute 8 include-in-access-req

radius-server attribute 32 include-in-accounting-req

radius-server attribute 55 include-in-acct-req

radius-server attribute 31 mac format unformatted

radius-server host 172.16.0.11 auth-port 1812 acct-port 1813 key testing123

radius-server vsa send cisco-nas-port

!

!

control-plane

!

!

line con 0

stopbits 1

line aux 0

stopbits 1

line vty 0 4

transport input ssh

!

!

end

 

 

 

 

В результате запросов на радиус как не было, так и нет.

Share this post


Link to post
Share on other sites

В show log - пусто.

Странно, что сам dhcp-сервер так же не работает.

Для теста запихнул во vlan 4000.1 isc-dhcp. Линуксовый dhcp адреса выдает влёт.

Сделал debug dhcp server:

 

 

*Apr 1 13:10:12.913: DHCPD: client's VPN is .

*Apr 1 13:10:12.913: DHCPD: inconsistent relay information.

*Apr 1 13:10:12.913: DHCPD: relay information option exists, but giaddr is zero.

*Apr 1 13:10:21.721: DHCPD: Reload workspace interface GigabitEthernet2.4000 tableid 0.

*Apr 1 13:10:21.721: DHCPD: tableid for 192.168.2.1 on GigabitEthernet2.4000 is 0

*Apr 1 13:10:21.721: DHCPD: client's VPN is .

*Apr 1 13:10:21.721: DHCPD: inconsistent relay information.

*Apr 1 13:10:21.721: DHCPD: relay information option exists, but giaddr is zero.

 

 

Edited by purecopper

Share this post


Link to post
Share on other sites

*Apr 1 13:10:21.721: DHCPD: inconsistent relay information.

*Apr 1 13:10:21.721: DHCPD: relay information option exists, but giaddr is zero.

В DHCP запросах, приходящих напрямую с l2-сегмента, есть opt82, но при этом поле giaddr пустое, что свидетельствует об отсутствии relay agent'ов по пути следования пакета. По умолчанию Cisco такие пакеты отбрасывает, поэтому у вас ничего не работает.

Когда маршрутизатор выступает в качестве relay, можно указать глобально ip dhcp relay information trust-all, либо на конкретном интерфейсе ip dhcp relay information trusted. Возможно прокатит и сервером, честно говоря, не пробовал.

Share this post


Link to post
Share on other sites

tehmeh спасибо огромное!

Теперь всё ок. В логах появились сообщения о попытках применения policy. Запросов на Radius пока нет, но с этим хоть можно работать :)

Share this post


Link to post
Share on other sites

По запросам в сторону радиуса самые "популярные" грабли, которые я собирал, это или пустой идентификатор, типа не работающего s-tag, c-tag, либо неправильно подобранный. В любом случае можно будет ошибки в дебаге поковырять.

Share this post


Link to post
Share on other sites

tehmeh а можно еще один вопрос?

Все начинает работать с указанием на интерфейсе ip либо unnumbered интерфейса. Допустим мне надо выдавать пользователям адреса из серой сети 192.168.2.0/24 и из белой 8.8.8.0/24. Насколько это плохая идея прибивать несколько адресов из разных подсетей на один loopback? :)

Share this post


Link to post
Share on other sites

Благородные доны, возможно, меня поправят, но мы используем unnumbered и loopback с кучей адресов через secondary, пока никаких проблем нет, что на обычных Catalyst, что с ISG. Проблемы могут начаться, когда надо будет статику делать, придется делать явный маршрут руками. Но это мелочи, как по мне.

Share this post


Link to post
Share on other sites

Подниму, пожалуй, тему еще раз :)

Пытаюсь запустить dhcp-relay на интерфейсе с сабскрайберами:

 

 

interface GigabitEthernet2.4000

encapsulation dot1Q 4000 second-dot1q 1-1000

ip dhcp relay information trusted

ip dhcp relay information policy-action keep

ip unnumbered Loopback2

ip helper-address 172.16.0.11

service-policy type control CUSTOMERS-POLICY

ip subscriber l2-connected

initiator dhcp

!

 

 

 

А в логах какая-то ерунда, запросы на DHCP-сервер не приходят:

 

 

*Apr 15 17:36:01.058: DHCPD: Reload workspace interface GigabitEthernet2.4000 tableid 0.

*Apr 15 17:36:01.058: DHCPD: tableid for 10.228.8.1 on GigabitEthernet2.4000 is 0

*Apr 15 17:36:01.058: DHCPD: client's VPN is .

*Apr 15 17:36:01.058: DHCPD: using received relay info.

*Apr 15 17:36:01.058: DHCPD: Sending notification of DISCOVER:

*Apr 15 17:36:01.058: DHCPD: htype 1 chaddr 000c.29e1.7c18

*Apr 15 17:36:01.058: DHCPD: remote id 010b582d414b2d35365f315f35

*Apr 15 17:36:01.058: DHCPD: circuit id 00040fa00001

*Apr 15 17:36:01.058: DHCPD: interface = GigabitEthernet2.4000

*Apr 15 17:36:01.058: DHCPD: FSM state change WAIT-FOR-CONFIG

*Apr 15 17:36:01.058: DHCPD: Workspace state changed from INIT to WAIT-FOR-CONFIG

*Apr 15 17:36:01.058: DHCPD: Saving workspace (ID=0x920003F5)

*Apr 15 17:36:01.058: DHCPD: New packet workspace 0x7F69F28B3DA0 (ID=0x570003F6)

*Apr 15 17:36:01.060: DHCPD: Callback for workspace (ID=0x920003F5)

*Apr 15 17:36:01.060: DHCPD: Config Callback returns error 1, drop request

*Apr 15 17:36:01.060: DHCPD: Freeing saved workspace (ID=0x920003F5)

*Apr 15 17:36:01.060: DHCPD: Sending notification of ASSIGNMENT FAILURE:

*Apr 15 17:36:01.060: DHCPD: htype 1 chaddr 000c.29e1.7c18

*Apr 15 17:36:01.060: DHCPD: remote id 030c00000ae408010000efa00001

*Apr 15 17:36:01.060: DHCPD: interface = GigabitEthernet2.4000

*Apr 15 17:36:01.060: DHCPD: Sending notification of ASSIGNMENT_FAILURE:

*Apr 15 17:36:01.060: DHCPD: due to: NO REASON

*Apr 15 17:36:01.060: DHCPD: htype 1 chaddr 000c.29e1.7c18

*Apr 15 17:36:01.060: DHCPD: remote id 030c00000ae408010000efa00001

*Apr 15 17:36:01.060: DHCPD: interface = GigabitEthernet2.4000

 

 

Share this post


Link to post
Share on other sites

Вроде бы с релеем разобрался.

Но возникла новая проблема:

Создал тестовый сервис на ASR:

 

 

class-map type traffic match-any Internet

match access-group output name Any-Traf

match access-group input name Any-Traf

!

policy-map type service Unlim-Test-1M

class type traffic Internet

police input 1000000 187500 375000

police output 1000000 187500 375000

!

!

ip access-list extended Any-Traf

permit ip any any

 

 

 

На радиус пользователю при авторизации отдаю:

 

 

Mon Apr 18 13:05:14 2016

Packet-Type = Access-Accept

Cisco-Service-Info = "Unlim-Test-1M"

Acct-Interim-Interval = 300

 

 

 

В логах asr:

 

 

*Apr 18 13:07:50.837: RADIUS/ENCODE(00000174):Orig. component type = Iedge DHCP SIP

*Apr 18 13:07:50.837: RADIUS(00000174): Config NAS IP: 172.16.0.10

*Apr 18 13:07:50.837: RADIUS(00000174): Config NAS IPv6: ::

*Apr 18 13:07:50.837: RADIUS/ENCODE(00000174): acct_session_id: 362

*Apr 18 13:07:50.837: RADIUS(00000174): sending

*Apr 18 13:07:50.837: RADIUS(00000174): Send Access-Request to 172.16.0.11:1812 id 1645/104, len 238

*Apr 18 13:07:50.837: RADIUS: authenticator 45 1B 9E 8E 4C 6B FE AE - E3 2B A0 58 89 2A A6 A6

*Apr 18 13:07:50.837: RADIUS: User-Name [1] 41 "010b582d414b2d35365f315f35:00040fa00001"

*Apr 18 13:07:50.837: RADIUS: User-Password [2] 18 *

*Apr 18 13:07:50.837: RADIUS: NAS-Port-Type [61] 6 Virtual [5]

*Apr 18 13:07:50.837: RADIUS: Vendor, Cisco [26] 20

*Apr 18 13:07:50.837: RADIUS: cisco-nas-port [2] 14 "0/0/0/1.4000"

*Apr 18 13:07:50.837: RADIUS: NAS-Port [5] 6 0

*Apr 18 13:07:50.837: RADIUS: NAS-Port-Id [87] 14 "0/0/0/1.4000"

*Apr 18 13:07:50.837: RADIUS: Vendor, Cisco [26] 35

*Apr 18 13:07:50.837: RADIUS: Cisco AVpair [1] 29 "circuit-id-tag=00040fa00001"

*Apr 18 13:07:50.837: RADIUS: Vendor, Cisco [26] 48

*Apr 18 13:07:50.837: RADIUS: Cisco AVpair [1] 42 "remote-id-tag=010b582d414b2d35365f315f35"

*Apr 18 13:07:50.837: RADIUS: Service-Type [6] 6 Outbound [5]

*Apr 18 13:07:50.837: RADIUS: NAS-IP-Address [4] 6 172.16.0.10

*Apr 18 13:07:50.837: RADIUS: Acct-Session-Id [44] 18 "AC10000A0000016A"

*Apr 18 13:07:50.837: RADIUS(00000174): Sending a IPv4 Radius Packet

*Apr 18 13:07:50.837: RADIUS(00000174): Started 5 sec timeout

*Apr 18 13:07:50.838: RADIUS: Received from id 1645/104 172.16.0.11:1812, Access-Accept, len 47

*Apr 18 13:07:50.838: RADIUS: authenticator 0B 2E DC 59 F4 88 97 74 - 67 CF F8 39 D8 90 0B 9F

*Apr 18 13:07:50.838: RADIUS: Vendor, Cisco [26] 21

*Apr 18 13:07:50.838: RADIUS: ssg-service-info [251] 15 "Unlim-Test-1M"

*Apr 18 13:07:50.838: RADIUS: Acct-Interim-Interva[85] 6 300

*Apr 18 13:07:50.838: RADIUS(00000174): Received from id 1645/104

*Apr 18 13:07:50.838: IPSUB: Invalid magic 0xFADEDEAF in IP session 0x7F22D725E538

*Apr 18 13:07:50.838: IPSUB-VRFSET: Entered allocate feature info

*Apr 18 13:07:50.838: IPSUB-VRFSET: Allocated sg vrfset info 0x7F22D7A9C108

*Apr 18 13:07:50.838: IPSUB-VRFSET: Freeing the sg vrfset info 0x7F22D7A9C108

*Apr 18 13:07:50.839: Deleting mac 000c.29e1.7c18 from SIP common DB

*Apr 18 13:07:50.839: Deleted mac 000c.29e1.7c18 from SIP common DB

 

 

Вот что это за IPSUB: Invalid magic 0xFADEDEAF in IP session 0x7F22D725E538 ?

Уже всю голову сломал, а гугл молчит :)

Share this post


Link to post
Share on other sites

Насчет ошибки не подскажу. А пробовали имя сервиса передавать с "A" вначале?

Cisco-Service-Info := "AUnlim-Test-1M"

 

Step 1 Add the Auto Service attribute to the user profile.

 

Example:

26,9,251="A service-name[; username ; password]"

 

Automatically logs the subscriber in to the specified service when the user profile is downloaded.

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.