freeradius: rlm_eap_tls.so not found [parzialmente RISOLTO]

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

freeradius: rlm_eap_tls.so not found [parzialmente RISOLTO]

Messaggio da EMIX »

Salve a tutti, oggi ho installato il server freeradius seguendo la guida http://tldp.org/HOWTO/html_single/8021X-HOWTO/
Al momento di lanciare radius in modalità debug ecco l'errore:

Codice: Seleziona tutto

root@mela:~# radiusd -X

rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
 gtc: challenge = "Password: "
 gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory
radiusd.conf[10]: eap: Module instantiation failed.
radiusd.conf[1961] Unknown module "eap".
radiusd.conf[1908] Failed to parse authenticate section.
Il problema DOVREBBE essere la mancanza della libreria rm_eap_tls.so che infatti sul mio sistema non esiste.
Ho cercato in rete e questo problema sembra lo abbiano molti utenti Debian/Ubuntu e le soluzioni possibili sono solo per Debian.
Cosa posso fare? Grazie anticipatamente a chiunque mi voglia dare una mano.
Ultima modifica di EMIX il sab 1 set 2007, 13:38, modificato 2 volte in totale.

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Per completezza riporto l'intero output di radius -X:

Codice: Seleziona tutto

Starting - reading configuration files ...
reread_config:  reading radiusd.conf
Config:   including file: /usr/local/etc/raddb/proxy.conf
Config:   including file: /usr/local/etc/raddb/clients.conf
Config:   including file: /usr/local/etc/raddb/snmp.conf
Config:   including file: /usr/local/etc/raddb/eap.conf
Config:   including file: /usr/local/etc/raddb/sql.conf
 main: prefix = "/usr/local"
 main: localstatedir = "/usr/local/var"
 main: logdir = "/usr/local/var/log/radius"
 main: libdir = "/usr/local/lib"
 main: radacctdir = "/usr/local/var/log/radius/radacct"
 main: hostname_lookups = no
 main: max_request_time = 30
 main: cleanup_delay = 5
 main: max_requests = 1024
 main: delete_blocked_requests = 0
 main: port = 0
 main: allow_core_dumps = no
 main: log_stripped_names = no
 main: log_file = "/usr/local/var/log/radius/radius.log"
 main: log_auth = no
 main: log_auth_badpass = no
 main: log_auth_goodpass = no
 main: pidfile = "/usr/local/var/run/radiusd/radiusd.pid"
 main: user = "(null)"
 main: group = "(null)"
 main: usercollide = no
 main: lower_user = "no"
 main: lower_pass = "no"
 main: nospace_user = "no"
 main: nospace_pass = "no"
 main: checkrad = "/usr/local/sbin/checkrad"
 main: proxy_requests = yes
 proxy: retry_delay = 5
 proxy: retry_count = 3
 proxy: synchronous = no
 proxy: default_fallback = yes
 proxy: dead_time = 120
 proxy: post_proxy_authorize = no
 proxy: wake_all_if_all_dead = no
 security: max_attributes = 200
 security: reject_delay = 1
 security: status_server = no
 main: debug_level = 0
read_config_files:  reading dictionary
read_config_files:  reading naslist
Using deprecated naslist file.  Support for this will go away soon.
read_config_files:  reading clients
read_config_files:  reading realms
radiusd:  entering modules setup
Module: Library search path is /usr/local/lib
Module: Loaded exec
 exec: wait = yes
 exec: program = "(null)"
 exec: input_pairs = "request"
 exec: output_pairs = "(null)"
 exec: packet_type = "(null)"
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
 pap: encryption_scheme = "crypt"
 pap: auto_header = yes
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
 mschap: use_mppe = yes
 mschap: require_encryption = yes
 mschap: require_strong = yes
 mschap: with_ntdomain_hack = no
 mschap: passwd = "(null)"
 mschap: ntlm_auth = "(null)"
Module: Instantiated mschap (mschap)
Module: Loaded System
 unix: cache = no
 unix: passwd = "(null)"
 unix: shadow = "(null)"
 unix: group = "(null)"
 unix: radwtmp = "/usr/local/var/log/radius/radwtmp"
 unix: usegroup = no
 unix: cache_reload = 600
Module: Instantiated unix (unix)
Module: Loaded eap
 eap: default_eap_type = "peap"
 eap: timer_expire = 60
 eap: ignore_unknown_eap_types = no
 eap: cisco_accounting_username_bug = no
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
 gtc: challenge = "Password: "
 gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory
radiusd.conf[10]: eap: Module instantiation failed.
radiusd.conf[1961] Unknown module "eap".
radiusd.conf[1908] Failed to parse authenticate section.

Night_Watch
Linux 2.x
Linux 2.x
Messaggi: 230
Iscritto il: lun 30 gen 2006, 2:30
Località: Martina Franca (TA)

Messaggio da Night_Watch »

Prova a scaricare il seguente pacchetto per Mandriva. Fai la conversione con rpm2tgz per portarlo da rpm a tgz (puoi anche installarlo direttamente in rpm) ed installalo. Il pacchetto contiene la libreria che ti manca. Prova a vedere se così risolvi.

ftp://mirror.switch.ch/mirror/mandrake/ ... 1.i586.rpm

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Purtroppo nulla.
Ho installato il pacchetto e in effetti ora questa libreria è in /usr/lib/freeradius/file:///usr/lib/freeradius/rlm_eap_tls.so
Poi ho riavviato il pc e lanciato radius -X ma purtroppo c'è sempre il solito errore.
Devo reinstallare freeradius( ora è installato da sorgenti)?

Io non mi spiego una cosa, nel pacchetto sorgente di freeradius c'è la directory: freeradius-1.1.7/src/modules/rlm_eap/types/rlm_eap_ttls che contiene a sua volta un config, make e degli altri file. Perchè in fase di make o makeinstall non mi ha installato questa benedetta libreria? Ci può essere qualche problema con altri programmi da cui dipende (openssl?)?
GRAZIE MILLE

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Intanto ho trovato questo su http://wiki.freeradius.org/Build :
Don't forget to read supplied documentation first, including the configuration files. As with many free software projects, FreeRADIUS could use more documentation. Until such documentation is available, the only place that configuration items are documented is in the configuration files themselves.

If you have problems when trying to run FreeRADIUS, and you see error messages like:

rlm_sql: Could not link driver rlm_sql_mysql: file not found

Then the shared libraries on your system are misconfigured
Perchè le librerie dovrebbero essere mal configurate?

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Nel wiki di freeradius http://wiki.freeradius.org/index.php/Fr ... do_I_do.3F ho trovato questo:
It says "Could not link ... file not found", what do I do?

You may see an error message like the one below, when you try to run the server:

Module: Loaded SQL rlm_sql: Could not link driver rlm_sql_mysql: file not found rlm_sql: Make sure it (and all its dependent libraries!) are in the search path of your system's ld. radiusd.conf[50]: sql: Module instantiation failed.

There are only a few things that can be happening:

1) The 'mysql_config' cannot be found in $PATH. Try running "./configure | grep mysql_config" and see if you get the follows:

checking for mysql_config... no
configure: WARNING: mysql libraries not found. Use --with-mysql-lib-dir=<path>.
configure: WARNING: sql submodule 'mysql' disabled

If it is, simply do something like "export $PATH=$PATH:/usr/local/mysql/bin" and "./configure | grep mysql_config" again to make sure you get:

checking for mysql_config... yes

Then you should run "make;make install" again.

2) You put shared libraries into a place where your linker cannot find them.

Everyone blames FreeRADIUS because it's the one printing the error message. But it just gets the error message from your linker.

3) You don't have static libraries for SQL clients on your system. So doing "./configure --disable-shared;make" doesn't help.

The 'make' process WILL print out error messages saying it's creating a static library which links to a dynamic one. If your linker is misconfigured (see #1), then FreeRADIUS still won't work.

So you probably ignored the error/warning messages produced during the 'make' stage. That's bad.

And libtool still does dynamic linking when told to do static linking, instead of failing to do the build. It should be taken out and shot.


There is nothing you can do to FreeRADIUS to fix issues with non-FreeRADIUS shared libraries. Fix your SQL libraries so that:

a) your linker can find them

or

b) There are static versions of those libraries available.


You can use the LD_LIBRARY_PATH environment variable in a script which starts the server, to set the paths where these libraries may be found.

One some systems, you can edit /etc/ld.so.conf, ('man ld.so', or 'man ldconfig'), and add the directory containing the dynamic libraries to that list.

See also the 'libdir' configuration directive in the 'radiusd.conf' file which is distributed with the server. It contains additional information.

If none of these solutions work, then your ONLY option is to build FreeRADIUS without dynamic libraries. This may be done via:

./configure --disable-shared
make
make install

Please READ the messages produced during the 'make' and 'make install' stages. While there is a lot of text to wade through, these messages may be the ONLY source of information as to what's wrong your system.

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Penso di aver trovato il problema:

Codice: Seleziona tutto

root@mela:/usr/local/freeradius-1.1.7# ./configure | grep rlm_eap_tls
config.status: WARNING:  ./Make.inc.in seems to ignore the --datarootdir setting
config.status: WARNING:  ./src/include/build-radpaths-h.in seems to ignore the -                                                                            -datarootdir setting
configure: WARNING: FAILURE: rlm_dbm requires:  (ndbm.h or gdbm/ndbm.h or gdbm-n                                                                            dbm.h) (libndbm or libgdbm or libgdbm_compat).
configure: WARNING: silently not building rlm_dbm.
configure: configuring in ./types/rlm_eap_tls
configure: WARNING: silently not building rlm_eap_tls.
configure: WARNING: FAILURE: rlm_eap_tls requires: OpenSSL.
configure: WARNING: silently not building rlm_eap_peap.
configure: WARNING: FAILURE: rlm_eap_peap requires: OpenSSL.
configure: WARNING: silently not building rlm_eap_ttls.
configure: WARNING: FAILURE: rlm_eap_ttls requires: OpenSSL.
Da quanto scritto l'errore è che rlm_eap_tls richiedeOpenSSL! Ma OpenSSL è installato!

Night_Watch
Linux 2.x
Linux 2.x
Messaggi: 230
Iscritto il: lun 30 gen 2006, 2:30
Località: Martina Franca (TA)

Messaggio da Night_Watch »

Il fatto che ricevi sempre lo stesso errore riferito alla libreria mancante è strano. Il riavvio dovrebbe lanciare il comando ldconfig che quindi dovrebbe rilevare le nuove librerie installate. Comunque............

...............prova ad installare (se non lo hai già fatto) la versione pacchettizata per Slackware 10.2:

http://linuxpackages.telecoms.bg/Slackw ... 86-1mp.tgz

E' una versione vecchia rispetto a quella che c'è sul sito ma per lo meno vedi se funziona!!!

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Allora, ho installato il pacchetto da te indicato sia su una slackware 11 che su una 12, ma c'è un nuovo messaggio di errore (su entrambe):

Codice: Seleziona tutto

read_config_files:  reading dictionary
Errors reading dictionary: dict_init: /etc/raddb/dictionary[14]: Couldn't open dictionary "/usr/share/freeradius/dictionary": No such file or directory
Errors reading radiusd.conf
Cercando su google si vede che è un problema comune delle versioni di freeradius precedenti alla 1.1.0.

Night_Watch
Linux 2.x
Linux 2.x
Messaggi: 230
Iscritto il: lun 30 gen 2006, 2:30
Località: Martina Franca (TA)

Messaggio da Night_Watch »

Ho provato ha commentare la riga all'interno del file /etc/raddb/dictonary:

Codice: Seleziona tutto

$INCLUDE       /usr/share/freeradius/dictionary
perchè in effetti non esiste nessun /usr/share/freeradius/dictionary. L'errore non c'è più ma mi ha dato un altro errore:

Codice: Seleziona tutto

radiusd.conf[1682] Unknown Auth-Type "System" in authenticate section.
Alla riga 1682 inizia la parte dove evidentemente il server fa un controllo sui sistemi di autenticazione supportati dal sistema. Ho ancora provato a commentare tutta la parte inerente ad authenticate ma ho ricevuto un altro errore:

Codice: Seleziona tutto

/etc/raddb/hints[37]: Unexpected trailing comma in check item list for entry DEFAULT
rlm_preprocess: Error reading /etc/raddb/hints
radiusd.conf[986]: preprocess: Module instantiation failed.

EMIX
Linux 0.x
Linux 0.x
Messaggi: 75
Iscritto il: mer 1 dic 2004, 0:00

Messaggio da EMIX »

Ragazzi ho risolto il problema, ma vale SOLO se si installa da sorgenti.
Descrizione problema: il server freeradius non compila i moduli rlm_eap poichè non trova le librerie di openssl

Verificarsi del problema: ci si accorge del problema in due momenti, o nella fase di configure o nella fase di debug (radius -X)

Codice: Seleziona tutto

root@mela:/usr/local/freeradius-1.1.7# ./configure | grep rlm_eap_tls
config.status: WARNING:  ./Make.inc.in seems to ignore the --datarootdir setting
config.status: WARNING:  ./src/include/build-radpaths-h.in seems to ignore the -                                                                            -datarootdir setting
configure: WARNING: FAILURE: rlm_dbm requires:  (ndbm.h or gdbm/ndbm.h or gdbm-n                                                                            dbm.h) (libndbm or libgdbm or libgdbm_compat).
configure: WARNING: silently not building rlm_dbm.
configure: configuring in ./types/rlm_eap_tls
configure: WARNING: silently not building rlm_eap_tls.
configure: WARNING: FAILURE: rlm_eap_tls requires: OpenSSL.
configure: WARNING: silently not building rlm_eap_peap.
configure: WARNING: FAILURE: rlm_eap_peap requires: OpenSSL.
configure: WARNING: silently not building rlm_eap_ttls.
configure: WARNING: FAILURE: rlm_eap_ttls requires: OpenSSL.

Codice: Seleziona tutto

root@mela:~# radiusd -X

rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
 gtc: challenge = "Password: "
 gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory
radiusd.conf[10]: eap: Module instantiation failed.
radiusd.conf[1961] Unknown module "eap".
radiusd.conf[1908] Failed to parse authenticate section. 

Soluzione e passi per l'installazione:
1) PRIMA di iniziare il configure aggiungere la directory /usr/lib nel file /etc/ld.so.conf
2) digitare ldconfig
3) lanciare l'installazione ( ./configure, make, make install)

Spero di esser stato utile

Rispondi