FreeRadius3 + Dhcp (Linux): відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 48: | Рядок 48: | ||
sql.authorize | sql.authorize | ||
sql.post-auth | |||
ok | ok | ||
} | } | ||
Рядок 88: | Рядок 88: | ||
max_queries = 0 | max_queries = 0 | ||
authorize_check_query = "call radcheck('%{ | authorize_check_query = "call radcheck('%{DHCP-Client-Hardware-Address}')" | ||
authorize_reply_query = "call radreply('%{ | authorize_reply_query = "call radreply('%{DHCP-Client-Hardware-Address}')" | ||
postauth_query = "call radupdate('%{ | postauth_query = "call radupdate('%{DHCP-Client-Hardware-Address}','%{reply:Framed-IP-Address}',\ | ||
'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" | 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" | ||
accounting_update_query = "call radupdate('%{ | accounting_update_query = "call radupdate('%{DHCP-Client-Hardware-Address}','%{Framed-IP-Address}',\ | ||
'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" | 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" | ||
} | } | ||
</pre> | </pre> |
Версія за 09:54, 15 січня 2023
cd /usr/ports/net/freeradius3/ && make install clean
Покажется окно конфигурирования доступных фич, в котором ставим галку на пункте MYSQL. Если окно не покажется, то тогда прерываем и:
make config
Создаем конфиг dhcp:
ee /usr/local/etc/raddb/sites-enabled/dhcp
server dhcp { listen { type = dhcp ipaddr = 0.0.0.0 port = 67 broadcast = yes } dhcp DHCP-Discover { update reply { DHCP-Message-Type = DHCP-Offer } update reply { DHCP-Domain-Name-Server = 0.0.0.0 DHCP-IP-Address-Lease-Time = 7200 DHCP-DHCP-Server-Identifier = 10.0.1.1 } sql.authorize ok } dhcp DHCP-Request { update reply { DHCP-Message-Type = DHCP-Ack } update reply { DHCP-Domain-Name-Server = 0.0.0.0 DHCP-IP-Address-Lease-Time = 7200 DHCP-DHCP-Server-Identifier = 10.0.1.1 } sql.authorize sql.post-auth ok } dhcp { reject } }
Здесь 10.0.1.1 - это ip интерфейса, на котором нам нужно dhcp.
Создаем конфиг sql:
ee /usr/local/etc/raddb/mods-enabled/sql
sql { database = "mysql" driver = "rlm_sql_mysql" server = "localhost" port = 3306 login = "nodeny" password = "hardpass" radius_db = "nodeny" delete_stale_sessions = yes sqltrace = no sqltracefile = ${logdir}/sqltrace.sql num_sql_socks = 5 connect_failure_retry_delay = 60 lifetime = 0 max_queries = 0 authorize_check_query = "call radcheck('%{DHCP-Client-Hardware-Address}')" authorize_reply_query = "call radreply('%{DHCP-Client-Hardware-Address}')" postauth_query = "call radupdate('%{DHCP-Client-Hardware-Address}','%{reply:Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" accounting_update_query = "call radupdate('%{DHCP-Client-Hardware-Address}','%{Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')" }