Bagi anda yang mengikuti tutorial tentang installasi Easyhotspot di Ubuntu 10.04 Server Edition yang pernah saya tulis sebelumnya di sini, kemungkinan besar anda akan mengalami masalah simultaneous use dan case sensitive dimana username yang anda buat akan bisa digunakan untuk login di dua mesin secara bersamaan. Masalah ini baru ketahuan setelah beberapa kali memergoki user di hotspot yang saya kelola bisa login dengan mengganti username mereka menggunakan huruf kapital semua dan setelah mencoba sendiri, ternyata menggunakan username yang sama persis pun tetap bisa login bersamaan.
Setelah bingung selama dua hari dua malem, tanya sama mbah google pun gak dapet solusinya, akhirnya stream saya di ndra16@Koprol dijawab oleh mas vcool dengan memberikan solusi seperti dibawah
buka file /etc/freeradius/sql/mysql/dialup.conf
untuk membuat login menjadi case sensitive (sesuai username yang kita buat)
Cari :
# The default queries are case insensitive. (for compatibility withubah menjadi :
# older versions of FreeRADIUS)
authorize_check_query = “SELECT id, username, attribute, value, op \
FROM ${authcheck_table} \
WHERE username = ‘%{SQL-User-Name}’ \
ORDER BY id”
authorize_reply_query = “SELECT id, username, attribute, value, op \
FROM ${authreply_table} \
WHERE username = ‘%{SQL-User-Name}’ \
ORDER BY id”
# Use these for case sensitive usernames.
# group_membership_query = “SELECT groupname \
# FROM ${usergroup_table} \
# WHERE username = BINARY ‘%{SQL-User-Name}’ \
# ORDER BY priority”
group_membership_query = “SELECT groupname \
FROM ${usergroup_table} \
WHERE username = ‘%{SQL-User-Name}’ \
ORDER BY priority”
# The default queries are case insensitive. (for compatibility withUntuk mencegah login ganda dalam waktu bersamaan, cari :
# older versions of FreeRADIUS)
authorize_check_query = “SELECT id, username, attribute, value, op \
FROM ${authcheck_table} \
WHERE BINARY(username) = ‘%{SQL-User-Name}’ \
ORDER BY id”
authorize_reply_query = “SELECT id, username, attribute, value, op \
FROM ${authreply_table} \
WHERE BINARY(username) = ‘%{SQL-User-Name}’ \
ORDER BY id”
# Use these for case sensitive usernames.
# group_membership_query = “SELECT groupname \
# FROM ${usergroup_table} \
# WHERE username = BINARY ‘%{SQL-User-Name}’ \
# ORDER BY priority”
group_membership_query = “SELECT groupname \
FROM ${usergroup_table} \
WHERE BINARY(username) = ‘%{SQL-User-Name}’ \
ORDER BY priority”
# Uncomment simul_count_query to enable simultaneous use checkingubah menjadi :
#simul_count_query = “SELECT COUNT(*) \
# FROM ${acct_table1} \
#WHERE username = ‘%{SQL-User-Name}’ \
#AND acctstoptime IS NULL”
simul_verify_query = “SELECT radacctid, acctsessionid, username, \
nasipaddress, nasportid, framedipaddress, \
callingstationid, framedprotocol \
FROM ${acct_table1} \
WHERE username = ‘%{SQL-User-Name}’ \
AND acctstoptime IS NULL”
# Uncomment simul_count_query to enable simultaneous use checking
simul_count_query = “SELECT COUNT(*) \
FROM ${acct_table1} \
WHERE BINARY(username) = ‘%{SQL-User-Name}’ \
AND acctstoptime IS NULL”
simul_verify_query = “SELECT radacctid, acctsessionid, username, \
nasipaddress, nasportid, framedipaddress, \
callingstationid, framedprotocol \
FROM ${acct_table1} \
WHERE BINARY(username) = ‘%{SQL-User-Name}’ \
AND acctstoptime IS NULL”
Simpan file tersebut dan restart server anda, atau anda juga bisa hanya me-restart freeradius anda dengan perintah :
$/etc/init.d/freeradius stopSemoga bermanfaat.
$/usr/sbin/freeradius