Назад | Перейти на главную страницу

freeradius аварийное переключение, когда ldap недоступен

Я использую freeRADIUS 3.0 с двумя источниками данных:

Конфигурация работает нормально, но когда freeRADIUS запускается при включении питания, а сервер LDAP недоступен, freeRADIUS жаловаться и не начинать.

Итак, есть ли особая конфигурация, чтобы сказать freeRADIUS:

«Эй, сейчас вы не можете привязаться к LDAP, неважно, используйте только пользовательский файл в качестве источника данных». ?

Обновление 2017.02.11 ===========
/ etc / raddb / sites-enabled / default и файлы внутреннего туннеля:

    authorize {
        filter_username
        preprocess
        auth_log
        chap
        mschap
        digest
        suffix
        eap {
           ok = return
        }
        files
        ldap {
          fail = 1
        }
        if (fail) {
          ok
        }
        expiration
        logintime
        pap
}

Выписка из режима отладки:

radiusd -X
FreeRADIUS Version 3.0.16
...
rlm_ldap (ldap): Initialising connection pool
   pool {
        start = 0
        min = 0
        max = 32
        spare = 0
        uses = 0
        lifetime = 0
        cleanup_interval = 30
        idle_timeout = 60
        retry_delay = 30
        spread = no
   }
rlm_ldap (ldap): Loading dynamic clients
rlm_ldap (ldap): 0 of 0 connections in use.  You  may need to increase "spare"
rlm_ldap (ldap): Opening additional connection (0), 1 of 32 pending slots used
rlm_ldap (ldap): Connecting to ldap://srv1.lan4:636
rlm_ldap (ldap): Bind with uid=radius,ou=users,dc=lan1 to ldap://srv1.lan4:636 failed: Can't contact LDAP server
rlm_ldap (ldap): Opening connection failed (0)
/etc/raddb/mods-enabled/ldap[312]: Error loading clients
/etc/raddb/mods-enabled/ldap[8]: Instantiation failed for module "ldap"

Используйте избыточный раздел, например

authorize {
    redundant {
        ldap
        files
    }
}

Если первый модуль выйдет из строя, будет вызван второй модуль.

Если вы хотите, чтобы сервер запускался, если LDAP недоступен, установите pool.start параметр конфигурации на ноль.

Если вы хотите игнорировать тот факт, что модуль ldap вышел из строя

authorize {
    ldap {
        fail = 1
    }
    if (fail) {
        ok
    }
}