Ошибка при попытке подключения / отправки запроса доступа на сервер Freeradius

Я использую freeradius в докере и пытаюсь получить ответ, когда отправляется запрос доступа.

Когда radtest запускается с использованием: radtest bob testpw 127.0.0.1 1812 sharedSecret

Sent Access-Request Id 18 from 0.0.0.0:56219 to 127.0.0.1:1812 length 73
        User-Name = "bob"
        User-Password = "testpw"
        NAS-IP-Address = 172.17.0.2
        NAS-Port = 1812
        Message-Authenticator = 0x00
        Cleartext-Password = "testpw"
Sent Access-Request Id 18 from 0.0.0.0:56219 to 127.0.0.1:1812 length 73
        User-Name = "bob"
        User-Password = "testpw"
        NAS-IP-Address = 172.17.0.2
        NAS-Port = 1812
        Message-Authenticator = 0x00
        Cleartext-Password = "testpw"
Sent Access-Request Id 18 from 0.0.0.0:56219 to 127.0.0.1:1812 length 73
        User-Name = "bob"
        User-Password = "testpw"
        NAS-IP-Address = 172.17.0.2
        NAS-Port = 1812
        Message-Authenticator = 0x00
        Cleartext-Password = "testpw"
(0) No reply from server for ID 18 socket 3

Я знаю, что это обычно происходит, когда общий секрет неверен, но это то же самое, что указано в файлах конфигурации.

При отладке я получаю ошибку ниже.

Игнорирование запроса на адрес аутентификации * порт 1812 привязан к серверу по умолчанию от неизвестного клиента 172.17.0.3 порт 60699 proto udp Готов обрабатывать запросы

ошибка выдается без какого-либо ответа от сервера.

Файл clients.conf выглядит следующим образом:

client dockernet {
    ipaddr = 172.17.0.0/16
    secret = sharedSecret
} 

и авторизовать файл;

bob Cleartext-Password := "testpw"

файл по умолчанию;

server default {
listen {

    type = auth

    ipv4addr = *
# ipv6addr = *
#   ipaddr = *

    port = 5

#   interface = eth0
#   clients = per_socket_clients

    recv_buff = 65536

    limit {
          max_connections = 16

          lifetime = 0

          idle_timeout = 30
    }
}
authorize {
    update request { 
        &Tmp-String-0 := "%{string:User-Password}" 
        &User-Password := "%{string:Tmp-String-0}" 
    } 

#   filter_username

#   filter_password

    preprocess

#   operator-name

#   cui

#   auth_log

    chap

    mschap

    digest

#   wimax

#   IPASS

    suffix
#   ntdomain

    eap {
        ok = return
#       updated = return
    }


    #
#   unix

    #  Read the 'users' file.  In v3, this is located in
    #  raddb/mods-config/files/authorize
    files

    -sql

#   smbpasswd

    -ldap

#   daily

    expiration
    logintime

    pap


#   Autz-Type Status-Server {
#   }
}
authenticate {
    ntlm_auth

    Auth-Type PAP {
        pap
    }

    Auth-Type CHAP {
        chap
    }

    Auth-Type MS-CHAP {
        mschap
    }

    mschap

    digest

#   pam

#   Auth-Type LDAP {
#       ldap
#   }

    #
    #  Allow EAP authentication.
    eap

#   Auth-Type eap {
#       eap {
#           handled = 1
#       }
#       if (handled && (Response-Packet-Type == Access-Challenge)) {
#           attr_filter.access_challenge.post-auth
#           handled  # override the "updated" code from attr_filter
#       }
#   }
}


#
#  Pre-accounting.  Decide which accounting type to use.
#
preacct {
    preprocess

    #
    #  Merge Acct-[Input|Output]-Gigawords and Acct-[Input-Output]-Octets
    #  into a single 64bit counter Acct-[Input|Output]-Octets64.
    #
#   acct_counters64

#   update request {
#       &FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}"
#   }

    acct_unique

#   IPASS
    suffix
#   ntdomain

    #
    #  Read the 'acct_users' file
    files
}

Ожидается Access-Accept или Access-Reject. Но нет ответа, когда отлаживается и выдает указанную выше ошибку в журналах.


person D.Perera    schedule 12.07.2019    source источник
comment
Ваш отладочный вывод не имеет смысла, вы отправляете пакеты на адрес обратной связи, но FreeRADIUS жалуется на пакеты, поступающие из 172.17.0.3.   -  person Arran Cudbard-Bell    schedule 12.07.2019
comment
@ ArranCudbard-Bell, я также не понимаю, почему он не отвечает, и выдает эту ошибку. Вы думаете, что я правильно настроил? Или есть что-то, чего я не вижу?   -  person D.Perera    schedule 13.07.2019
comment
Я немного отредактировал свой вопрос, извините, я забыл упомянуть результат работы radtest.   -  person D.Perera    schedule 13.07.2019
comment
Если это кому-то поможет, моя проблема заключалась в неправильной настройке раздела client, где } был неуместен, объединяя два раздела вместе. Как ни странно, при запуске сервера не было ошибки, но аутентификация не прошла из-за указанной выше ошибки.   -  person FractalSpace    schedule 15.06.2021


Ответы (1)


Оно работает! после того, как я изменил файл clients.conf на маску сети, а не ipaddr = 172.17.0.0/16

client dockernet {
    ipaddr = 172.17.0.0
    secret = sharedSecret
    netmask = 24
    shortname = dockernet
}

Эта статья помогла мне https://linux.die.net/man/5/clients.conf

person D.Perera    schedule 23.07.2019