DHCP. Several dhcp attributes from the sql table
Alan DeKok
aland at deployingradius.com
Sat Dec 25 21:28:30 CET 2021
On Dec 25, 2021, at 2:54 PM, Sergey Kodentsev <sergk at ic.vrn.ru> wrote:
> I have read the documentation for the rlm_sql module, read the comments in the etc/raddb/mods-config/sql/main/mysql/queries.conf file.
OK...
> I know where to edit these sql queries
> I don't understand why when calling the same sql module from the authorize section, authorization queries is executed, but when calling from dhcp DHCP-Request authorization queries is not executed.
Read the debug output and the queries...
> (0) # Executing section authorize from file /usr/local/radius3/etc/raddb/sites-enabled/default
> (0) authorize {
> ...
> (0) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id
> (0) sql: --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'sergk' ORDER BY id
> (0) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'sergk' ORDER BY id
Which is the "authorize" query/
> and
>
> Trying sub-section dhcp DHCP-Request {...}
> (0) dhcp DHCP-Request {
> (0) sql: EXPAND .query
> (0) sql: --> .query
> (0) sql: Using query template 'query'
> rlm_sql (sql): Reserved connection (0)
> (0) sql: EXPAND %{User-Name}
> (0) sql: -->
> (0) sql: SQL-User-Name set to ''
> (0) sql: EXPAND INSERT INTO radpostauth
Which is the "post-auth" query. If you look at the rest of the debug output, the DHCP packets are run though the "post-auth" methods, not the "authorize" methods.
> There is no attempt to execute authorize_check_query
You can run the "authorize" method of SQL by doing:
dhcp DHCP-Request {
...
sql.authorize
...
}
Alan DeKok.
More information about the Freeradius-Users
mailing list