В ожидании поставки маршрутизатора 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?