On Tue, 28 Jul 2009, Ivan Kalik wrote:

Thankyou for the reply and suggestion. I've been interstate and just back now to try it.


Create two mschap module instances, mschap_co1 with first ntlm_auth line
and mschap_co2 with second one.

ok.

Then create redundancy inside Auth-Type
MS-CHAP (default server for mschap requests, inner-tunnel for peap):

Auth-Type MS-CHAP {
    if(Realm == "company1.local") {
         mschap_co1
    }
    elsif(Realm == "company2.local") {
         mschap_co2
    }
    else {
         mschap (or reject if you don't want to try users file, sql, ldap
or other accounts)
    }
}

When I do this, stop radiusd and re-run with -X, I get:

    reread_config:  reading radiusd.conf
    Config:   including file: /usr/local/etc/raddb/clients.conf
    /usr/local/etc/raddb/radiusd.conf[1948]: Line is not in 'attribute = value' 
format
    Errors reading radiusd.conf

I then commented out most to check for stupid operator errors:


        # new MSCHAP authentication.
        # auths differently depending on the realm
        # If none of the defined realms, use standard
        Auth-Type MS-CHAP {
#               if(Realm == "aae.local") {
                        mschap_co1
#               }
#               elseif(Realm == "lla.local") {
                        mschap_co2
#               }
#               else {
#                       mschap
#               }
        }


This at least got further... but not much. Here's the -X output:


# /usr/local/sbin/radiusd -X
Starting - reading configuration files ...
reread_config:  reading radiusd.conf
Config:   including file: /usr/local/etc/raddb/clients.conf
 main: prefix = "/usr/local"
 main: localstatedir = "/var"
 main: logdir = "/var/log"
 main: libdir = "/usr/local/lib"
 main: radacctdir = "/var/log/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 = "/var/log/radius.log"
 main: log_auth = no
 main: log_auth_badpass = yes
 main: log_auth_goodpass = yes
 main: pidfile = "/var/run/radiusd/radiusd.pid"
 main: bind_address = 127.0.0.1 IP address [127.0.0.1]
 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 = 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
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"
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
radiusd.conf[723] Failed to link to module 'rlm_mschap_co1': Shared object "rlm_mschap_co1.so" not found, required by "radiusd"
radiusd.conf[1949] Unknown module "mschap_co1".
radiusd.conf[1949] Failed to parse "mschap_co1" entry.
bash-2.05b#




I'm simply not familiar enough with FreeRadius to know where to go with this - I learned enough to set it up many years ago on my own systems, it's been rock-solid ever since and I guess I've just forgotten it all. This particular configuration was done by someone else and is quite different to my own. Any (further) help appreciated.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to