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

CSR1000V, ASR1000, dhcp radius proxy

В ожидании поставки маршрутизатора ASR1000 тестирую вируталку с CSR1000v.

Тестирую функционал BNG - IPoE с инициацией сессии по DHCP, для выдачи адресов через radius используется DHCP Server RADIUS Proxy, настраивал по мануалу:


https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/xe-3s/dhcp-xe-3s-book/dhcp-serv-rad-proxy-xe.html

 

Вот кусок конфига:

 

Скрытый текст

version 16.3
!
hostname CSR1000v
!
!
no logging console
!
aaa new-model
!
!
aaa group server tacacs+ TACSERVICE
 ip vrf forwarding Management
!
aaa group server radius BILLING
 ip vrf forwarding Management
!
aaa authentication login default group TACSERVICE local
aaa authentication login CONSOLE none
aaa authentication enable default group TACSERVICE enable
aaa authorization exec default group TACSERVICE local 
aaa authorization exec CONSOLE none 
aaa authorization commands 15 CONSOLE none 
aaa authorization network NETWORK group BILLING 
aaa authorization subscriber-service default local 
aaa accounting update periodic 1
aaa accounting network NETWORK-ACC
 action-type start-stop
 group BILLING
!
!
!
aaa session-id common
clock timezone MSK 3 0
clock calendar-valid
!
ip vrf Management
!
!
!
!
!
ip dhcp pool BILLING-RADIUS
 dns-server ...
 authorization method NETWORK
  authorization username %c
!
!
!
!
!
class-map type control match-all CTRL-TIMER-AUTH
 match timer TIMER-AUTH 
 match authen-status authenticated 
!
!
policy-map type control ISGsubscribers
 class type control CTRL-TIMER-AUTH event timed-policy-expiry
  1 service disconnect
 !
 class type control always event session-start
  30 authorize aaa list NETWORK identifier mac-address plus nas-port 
  40 set-timer TIMER-AUTH 2
 !
 class type control always event timed-policy-expiry
  1 service disconnect
 !
 class type control always event session-restart
  30 authorize aaa list NETWORK identifier mac-address plus nas-port 
  40 set-timer TIMER-AUTH 2
 !
!
!
!
interface Loopback1
 ip address 192.168.203.1 255.255.255.0
!
interface GigabitEthernet1
 no ip address
 negotiation auto
 no mop enabled
 no mop sysid
!
interface GigabitEthernet1.34
 encapsulation dot1Q 34
 ip vrf forwarding Management
 ip address 10.240.33.150 255.255.255.0
!
interface GigabitEthernet1.99
 encapsulation dot1Q 99
 ip address 172.20.0.5 255.255.255.248
 no ip redirects
!
interface GigabitEthernet1.100
 encapsulation dot1Q 100 second-dot1q any
 ip unnumbered Loopback1
 service-policy type control ISGsubscribers
 ip subscriber l2-connected
  initiator dhcp class-aware
!
router ospf 1
 router-id 172.20.0.5
 redistribute connected subnets
 redistribute static metric 10 subnets
 network 172.20.0.0 0.0.0.7 area 0
!
!
virtual-service csr_mgmt
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!         
ip route vrf Management 0.0.0.0 0.0.0.0 10.240.33.254
ip tacacs source-interface GigabitEthernet1.34
ip radius source-interface GigabitEthernet1.34 
!
!

 

 

Но есть проблема - похоже, что баг, связанный с формированием DHCP Option 121.

По мануалу, радиус должен передавать маршрут по умолчанию в атрибуте Framed-Route в виде:
 

Framed Route Attribute (22) = "0.0.0.0 0.0.0.0 192.168.203.1"

И все отлично, в таком виде и передаем, DHCP сервер транслирует в опцию Default-Gateway (3)  но цискин DHCP сервер зачем-то еще формирует опцию 121, и делает это с ошибкой:
 

Classless-Static-Route Option 121, length 6: (default:192.192.168.203),[ERROR: Remaining length (0) < 5 bytes]

HEX дамп:

 

79 06 00 c0 c0 a8 cb 01

Клиент dhcp ругается на парсинг опции, и в итоге добавляет неверный маршрут по умолчанию. Как исправить это поведение или вообще отключить option 121, непонятно. Перепробовал разные версии софта csr1000v, везде эта проблема?

Кто нибудь использует dhcp radius proxy? Есть ли проблема с option 121? Проявляется ли проблема на ASR1000?

Share this post


Link to post
Share on other sites

Там много способов лицензирования, для примера годовая с полосой 50 Мбит/с:

 

L-CSR-50M-ADV-1Y=$ 940.00

1-year subscription 50Mbps Advanced Package

 

Без лицензии скорость ограничена 1Мбит/с, есть еще триальная, действует месяц.

Share this post


Link to post
Share on other sites
6 часов назад, Bushi сказал:

Там много способов лицензирования, для примера годовая с полосой 50 Мбит/с:

 

L-CSR-50M-ADV-1Y=$ 940.00

1-year subscription 50Mbps Advanced Package

 

Без лицензии скорость ограничена 1Мбит/с, есть еще триальная, действует месяц.

5G, 10G?

Share this post


Link to post
Share on other sites

По проблеме. Видимо придется забить на dhcp radius proxy и делать relay :(

Share this post


Link to post
Share on other sites

Framed-Route that is translated from the standard Cisco Framed-Route format into DHCP option 121 or the DHCP default gateway option (if the network and netmask are appropriate for a default route).

вообще написано так.. 

 

предлагаю попробовать на 3.17 обычном софте.. на денали и т.д. хз чо может быть сломано.

Share this post


Link to post
Share on other sites
В 16.02.2018 в 16:19, Bushi сказал:

Кто нибудь использует dhcp radius proxy? Есть ли проблема с option 121? Проявляется ли проблема на ASR1000?

Пробовал этот функционал, но не взлетело. В username внутри пула можно подставить только %c и %g, а для меня этого недостаточно. Варианты с %i, %o, %p не работают, потому забил.

Share this post


Link to post
Share on other sites

А dhcp сервер циски так и не научился воспринимать Framed-IP-Address?

 

Попытался найти какой-нибудь dhcp сервер с sql бэкендом, ничего приличного не нашел, тем более под оракл, проект dhcp2radius заброшен и в нем куча багов.

 

В итоге сделали так. Написал на сях dhcp сервер, который снифает radius обмен и на основе его создает и удаляет лизы с нужными параметрами (opt82, qinq). а циска просто релеит запросы.

Share this post


Link to post
Share on other sites
1 час назад, Bushi сказал:

Попытался найти какой-нибудь dhcp сервер с sql бэкендом, ничего приличного не нашел

ISC Kea. Еще допиливается, но достаточно перспективен. Базовый функционал выглядит рабочим, пилятся всякие плюшки, типа интеграции с DNS или RADIUS.

К сожалению, часть функционала доступна только по платной подписке. Но, в основном, это тоже плюшки, вида создания резервирования post-запросом, распознавание абонентов по "гибким" идентификаторам и тому подобное.

Share this post


Link to post
Share on other sites
14 hours ago, xcme said:

ISC Kea

Он в базе только лизы хранит. А резервирование, пулы, опции - все в JSON конфиге.

Впрочем JSON удобен для автоматизации.

Share this post


Link to post
Share on other sites
31 минуту назад, ShyLion сказал:

Он в базе только лизы хранит. А резервирование, пулы, опции - все в JSON конфиге.

Зарезервированные адреса можно хранить в табличке hosts и идентифицировать клиента по одному из полей: hw-address, duid, circuit-id, client-id, flex-id (этот модуль недоступен в обычной версии). То есть, если достаточно MAC-адреса или поля CID из "опции 82", а новые сети появляются не так часто, то можно иметь небольшой статичный конфиг, а лизы и резервирование будут при этом в СУБД.

 

Если же сети, пулы и опции обновляются часто, тогда согласен, надо конфиг переписывать. Зато у сервиса есть reload в дополнении к классическим stop/start как у ISC DHCPd.

 

Share this post


Link to post
Share on other sites
1 hour ago, xcme said:

Зарезервированные адреса можно хранить в табличке hosts

О, спасибо! Не знал.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now