Это старая версия документа.


IEEE 802.1x

Radius

raddb/radiusd.conf Проверьте раскомментирован ли mschap в секции «MODULES»

mschap {
    authtype = MS-CHAP
    use_mppe = yes
    require_encryption = yes
    require_strong = yes
  }


authorize {
    preprocess
    pre_auth 
    mschap
    eap
    files
  }

authenticate {
       #
       #  MSCHAP authentication.    
       Auth-Type MS-CHAP {
             mschap
        }
       #
       #  Allow EAP authentication.
       eap
 }

Оповещать о неавторизированных пользователях.

post-auth {
  Post-Auth-Type REJECT {
     post_auth
   }
 }

Нужно создать функции для преавторизации и поставторизации

exec pre_auth { 
  wait = yes 
  program = "/usr/abills/libexec/rauth.pl pre_auth" 
  input_pairs = request 
  output_pairs = config 
}

exec post_auth {
  wait = yes
  program = "/usr/abills/libexec/rauth.pl post_auth"
  input_pairs = request
  output_pairs = config
}

Файл raddb/eap.conf

  eap {
          default_eap_type = md5
          timer_expire     = 60
          ignore_unknown_eap_types = no
          cisco_accounting_username_bug = no
          # Supported EAP-types
          md5 {
          }
          leap {
          }
          gtc {
                  #challenge = "Password: "
                  auth_type = PAP
          }
          tls {
            private_key_password = whatever
            private_key_file = /usr/abills/Certs/eap/cert-srv.pem
            certificate_file = /usr/abills/Certs/eap/cert-srv.pem
            CA_file = /usr/abills/Certs/eap/root.pem
            dh_file = /usr/abills/Certs/eap/dh
            random_file = /usr/abills/Certs/eap/random
            fragment_size = 1024
            include_length = yes
          }

          peap {
             default_eap_type = mschapv2
          }

          mschapv2 {
         }
   }

(В данном примере используются сертификаты поставляемые вместе с FreeRadius желательно заменить их на реальные)

В raddb/clients.conf внесите Ваш сервер доступа

 client 192.168.0.16 { 
      secret          = radiussecret
      shortname       = testnet
  }

raddb/users

DEFAULT Auth-Type = Accept
  Exec-Program-Wait = "/usr/abills/libexec/rauth.pl"

raddb/acct_users

DEFAULT Acct-Status-Type == Start
   Exec-Program = "/usr/abills/libexec/racct.pl"

DEFAULT Acct-Status-Type == Alive
   Exec-Program = "/usr/abills/libexec/racct.pl"

DEFAULT Acct-Status-Type == Stop
   Exec-Program = "/usr/abills/libexec/racct.pl"

NAS

Cisco 3550, 2950

!
aaa new-model
aaa authentication dot1x default group radius
!
!
dot1x system-auth-control
!

Настраиваем параметры доступа к RADIUS серверу:

!
radius-server host 10.0.0.1 auth-port 1812 acct-port 1813
radius-server key testkey
!

Настройка порта

!
interface FastEthernet0/1
  switchport mode access
  no ip address
  dot1x port-control auto
!

Настройка гостевого VLAN для пользователей не прошедших авторизацию но EAP.
Пользователя перкидывает в гостевой VLAN поле 3 безуспешних периодов аторизации или если авторизация непрошла на протяжении 15 секунд.

Switch(config-if)# dot1x timeout quiet-period 3
Switch(config-if)# dot1x timeout tx-period 15
Switch(config-if)# dot1x guest-vlan 2
Switch(config-if)# dot1x reauthentication
Switch(config-if)# dot1x auth-fail vlan 2

Abills

/ System configuration/ NAS/

Type: Other
RADIUS Parameters (,) Tunnel-Medium-Type=IEEE-802,
Tunnel-Private-Group-Id=20,
Tunnel-Type=VLAN

DES-3018 Firmware: Build 3.00.034
Guest VLAN Настройка с возможностью занесения пользователя в определённый VLAN

  • Две VLAN: guest_vlan и full_vlan
  • Guest VLAN VID=10
  • Порты 1-12 добавлены в Guest VLAN
  • Добавить порт в обе VLAN

D-Link

config vlan default delete 1-18
create vlan v20 tag 20
config vlan v20 add tag 17
config ipif System ipaddress 10.254.254.4/24 vlan v20
create vlan v10 tag 10
config vlan v10 add untagged 1-12
# Включите 802.1x и Guest VLAN #
enable 802.1x
create 802.1x guest_vlan v10
config 802.1x guest_vlan ports 1-12 state enable
# Сделайте коммутатор посредником в процессе 802.1x #
config 802.1x capability ports 1-12 authenticator
config radius add 1 10.254.254.1 key radsec default
create iproute default 10.254.254.1

Просмотреть состояние порта

show 802.1x auth_configuration ports 1

AbillS

Type: Other
RADIUS Parameters (,) Tunnel-Medium-Type=IEEE-802,
Tunnel-Private-Group-Id=20,
Tunnel-Type=VLAN

Клиентская настройка

Windows Client

http://www.ieee802.org/1/pages/802.1x.html - 802.1X - Port Based Network Access Control
RFC3579 - RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)
RFC2284 - Extensible Authentication Protocol (EAP)

Hits: ~~STATS:entries~~