Question: Передача атрибутов Radius серверу для ограничения полосы пропускания и задания 802.1p приоритета на порту коммутатора

Answer: 

Перед настройкой рекомендуется ознакомиться со следующими разделами:
a) Примеры настройки функции Guest VLAN
b) Настройка аутентификации при доступе к коммутатору с использованием сервера Radius

В простейшей конфигурации после установки пакета freeradius внесите следующие изменения в конфигурационные файлы:

1.  В raddb/clients.conf (для коммутатора):

client 192.168.0.1 {
secret = testing
shortname = switch
}


2.  В конфигурационный файл /etc/raddb/dictionary добавьте следующую строку:

$INCLUDE    /etc/raddb/dictionary.dlink

3. Соответственно, создаем файл /etc/raddb/dictionary.dlink со следующим содержимым:

#########################################
# dlink Dictionary File
#########################################

VENDOR dlink 171

BEGIN-VENDOR    dlink

ATTRIBUTE       dlink-Privelege-Level    1    integer
ATTRIBUTE       Ingress-Bandwidth-Assignment    2    integer
ATTRIBUTE       Egress-Bandwidth-Assignment    3    integer
ATTRIBUTE       802-1p    4    integer

END-VENDOR      dlink


Примечание: использование атрибута dlink-Privelege-Level подробно рассмотрено здесь

4.  В raddb/users создайте пользователей с соответствующими атрибутами:

user1    Cleartext-Password := "user1"
    Ingress-Bandwidth-Assignment = 2000,
    Egress-Bandwidth-Assignment = 3000,
    802-1p = 3

user2    Cleartext-Password := "user2"

    Ingress-Bandwidth-Assignment = 5000,
    Egress-Bandwidth-Assignment = 7000,
    802-1p = 5


На коммутаторе серии DES-3200 осуществите соответствующие настройки:

# DES-3200 Series
enable 802.1x
config 802.1x auth_mode port_based
config 802.1x auth_protocol radius_eap
config 802.1x capability ports 1-2 authenticator
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable
config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813
config radius parameter timeout 5 retransmit 2

*Пояснения:

Глобальное включение 802.1x

enable 802.1x

Выбирите режим Port Based
config 802.1x auth_mode port_based

Задайте протокол аутентификации EAP
config 802.1x auth_protocol radius_eap

Включите аутентификацию на портах 1-2
config 802.1x capability ports 1-2 authenticator

Задайте интервал времени с момента прохождения аутентификации, по истечению которого клиент будет повторно аутентифицирован
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable

Создайте на коммутаторе запись о Radius-сервере, ключ должен совпадать с записью в  raddb/clients.conf. Кроме того, IP-адрес управляющего интерфейса коммутатора должен соответствовать записи в  raddb/clients.conf

config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813
config radius parameter timeout 5 retransmit 2

После аутентификации пользователей user1 и user2 посмотрите настройки на портах коммутатора (user1 - порт 1; user2 - порт 2):

DES-3200-28:4#show 802.1x auth_state
Command: show 802.1x auth_state

Port    Auth PAE State  Backend State  Port Status
------  --------------  -------------  ------------
1       Authenticated   Idle           Authorized
2       Authenticated   Idle           Authorized

DES-3200-28:4#show bandwidth_control
Command: show bandwidth_control

Bandwidth Control Table

Port  RX Rate       TX Rate       Effective RX         Effective TX
      (Kbit/sec)    (Kbit/sec)    (Kbit/sec)           (Kbit/sec)
----  ----------    ----------    -----------------    -----------------
1     no_limit      no_limit      2000(RADIUS)         3000(RADIUS)
2     no_limit      no_limit      5000(RADIUS)         7000(RADIUS)

DES-3200-28:4#show 802.1p default_priority
Command: show 802.1p default_priority

Port       Priority      Effective Priority
----       -----------   ------------------
1               0             3    (RADIUS)
2               0             5    (RADIUS)

Приведите соответствующие настройки для других коммутаторов:

# DES-3828
enable 802.1x
config 802.1x auth_mode port_based
config 802.1x capability ports 1-2 authenticator
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable
config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813

# DES-3526, DES-3550
enable 802.1x
config 802.1x auth_mode port_based
config 802.1x auth_protocol radius_eap
config 802.1x capability ports 1-2 authenticator
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable
config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813

# DES-3000 Series, DES-3528, DGS-3200 Series, DGS-3400 Series
enable 802.1x
config 802.1x auth_mode port_based
config 802.1x auth_protocol radius_eap
config 802.1x capability ports 1-2 authenticator
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable
config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813 timeout 5 retransmit 2

# DES-3028, DES-3200 Series
enable 802.1x
config 802.1x auth_mode port_based
config 802.1x auth_protocol radius_eap
config 802.1x capability ports 1-2 authenticator
config 802.1x auth_parameter ports 1-2 reauth_period 3600 enable_reauth enable
config radius add 1 192.168.0.221 key testing auth_port 1812 acct_port 1813
config radius parameter timeout 5 retransmit 2