Hi all, I've been struggling to get freeradius setup for a while now, and figured I'd post and see if anyone happens to know what I might be doing wrong.. I attempted to follow the guide here: http://wiki.freeradius.org/Mac-Auth but the raddb/modules/file module doesn't seem to exist. I tried adding files authorized_macs section to the end of modules/files but I am still getting a module not found error. If someone could help point me in the right direction, it'd be very much appreciated. -Joren root@icarus:~# freeradius -X FreeRADIUS Version 2.1.8, for host x86_64-pc-linux-gnu, built on Jan 5 2010 at 02:56:18 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/freeradius/radiusd.conf including configuration file /etc/freeradius/proxy.conf including configuration file /etc/freeradius/clients.conf including files in directory /etc/freeradius/modules/ including configuration file /etc/freeradius/modules/ippool including configuration file /etc/freeradius/modules/attr_rewrite including configuration file /etc/freeradius/modules/digest including configuration file /etc/freeradius/modules/ldap including configuration file /etc/freeradius/modules/always including configuration file /etc/freeradius/modules/linelog including configuration file /etc/freeradius/modules/inner-eap including configuration file /etc/freeradius/modules/krb5 including configuration file /etc/freeradius/modules/mschap including configuration file /etc/freeradius/modules/chap including configuration file /etc/freeradius/modules/wimax including configuration file /etc/freeradius/modules/checkval including configuration file /etc/freeradius/modules/counter including configuration file /etc/freeradius/modules/pam including configuration file /etc/freeradius/modules/perl including configuration file /etc/freeradius/modules/etc_group including configuration file /etc/freeradius/modules/sradutmp including configuration file /etc/freeradius/modules/preprocess including configuration file /etc/freeradius/modules/sql_log including configuration file /etc/freeradius/modules/expiration including configuration file /etc/freeradius/modules/cui including configuration file /etc/freeradius/modules/smsotp including configuration file /etc/freeradius/modules/detail.example.com including configuration file /etc/freeradius/modules/detail.log including configuration file /etc/freeradius/modules/files including configuration file /etc/freeradius/modules/logintime including configuration file /etc/freeradius/modules/pap including configuration file /etc/freeradius/modules/exec including configuration file /etc/freeradius/modules/expr including configuration file /etc/freeradius/modules/policy including configuration file /etc/freeradius/modules/mac2ip including configuration file /etc/freeradius/modules/radutmp including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login including configuration file /etc/freeradius/modules/unix including configuration file /etc/freeradius/modules/echo including configuration file /etc/freeradius/modules/detail including configuration file /etc/freeradius/modules/realm including configuration file /etc/freeradius/modules/mac2vlan including configuration file /etc/freeradius/modules/ntlm_auth including configuration file /etc/freeradius/modules/passwd including configuration file /etc/freeradius/modules/smbpasswd including configuration file /etc/freeradius/modules/acct_unique including configuration file /etc/freeradius/modules/otp including configuration file /etc/freeradius/modules/attr_filter including configuration file /etc/freeradius/eap.conf including configuration file /etc/freeradius/policy.conf including files in directory /etc/freeradius/sites-enabled/ including configuration file /etc/freeradius/sites-enabled/default including configuration file /etc/freeradius/sites-enabled/inner-tunnel main { user = "freerad" group = "freerad" allow_core_dumps = no } including dictionary file /etc/freeradius/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = no zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client 192.168.50.55 { require_message_authenticator = no secret = "testing123" shortname = "3com" nastype = "other" } client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating unix unix { radwtmp = "/var/log/freeradius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating eap eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } Module: Linked to sub-module rlm_eap_tls Module: Instantiating eap-tls tls { rsa_key_exchange = no dh_key_exchange = yes rsa_key_length = 512 dh_key_length = 512 verify_depth = 0 pem_file_type = yes private_key_file = "/etc/freeradius/certs/server.key" certificate_file = "/etc/freeradius/certs/server.pem" CA_file = "/etc/freeradius/certs/ca.pem" private_key_password = "whatever" dh_file = "/etc/freeradius/certs/dh" random_file = "/etc/freeradius/certs/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" make_cert_command = "/etc/freeradius/certs/bootstrap" cache { enable = no lifetime = 24 max_entries = 255 } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_realm Module: Instantiating suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating files files { usersfile = "/etc/freeradius/users" acctusersfile = "/etc/freeradius/acct_users" preproxy_usersfile = "/etc/freeradius/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating radutmp radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.access_reject attr_filter attr_filter.access_reject { attrsfile = "/etc/freeradius/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating preprocess preprocess { huntgroups = "/etc/freeradius/huntgroups" hints = "/etc/freeradius/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Loading virtual module rewrite_calling_station_id Module: Linked to module rlm_always Module: Instantiating noop always noop { rcode = "noop" simulcount = 0 mpp = no } /etc/freeradius/sites-enabled/default[81]: Failed to find module "authorize_macs". /etc/freeradius/sites-enabled/default[62]: Errors parsing authorize section.
Hi,
I attempted to follow the guide here: [1]http://wiki.freeradius.org/Mac-Auth but the raddb/modules/file module doesn’t seem to exist. I tried adding files authorized_macs section to the end of modules/files but I am still getting a module not found error. If someone could help point me in the right direction, it’d be very much appreciated.
if following that guide, just MAKE the files that it mentions if the files dont exist - all its doing is making custom local modules...in the case of the 'file' module its just calling the standard main module but with a name for the file alan
Hey, thanks for your reply. I did try creating the "file" module with the contents from the howto, and it seems to get loaded (Debug: including configuration file /etc/freeradius/modules/file however, I still get the same error: Edit: Now I'm noticing there's a typo in the wiki. Under raddb/sites-available/default it says authorize_macs instead of authorized_macs. Fixing this makes it work. -Joren -----Original Message----- From: freeradius-users-bounces+jlove=ecotrust.org@lists.freeradius.org [mailto:freeradius-users-bounces+jlove=ecotrust.org@lists.freeradius.org] On Behalf Of Alan Buxey Sent: Wednesday, April 06, 2011 2:47 PM To: FreeRadius users mailing list Subject: Re: Mac Authorization Hi,
I attempted to follow the guide here: [1]http://wiki.freeradius.org/Mac-Auth but the raddb/modules/file module doesn’t seem to exist. I tried adding files authorized_macs section to the end of modules/files but I am still getting a module not found error. If someone could help point me in the right direction, it’d be very much appreciated.
if following that guide, just MAKE the files that it mentions if the files dont exist - all its doing is making custom local modules...in the case of the 'file' module its just calling the standard main module but with a name for the file alan - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 04/06/2011 10:59 PM, Joren Love wrote:
Hey, thanks for your reply. I did try creating the "file" module with the contents from the howto, and it seems to get loaded (Debug: including configuration file /etc/freeradius/modules/file however, I still get the same error:
Edit: Now I'm noticing there's a typo in the wiki. Under raddb/sites-available/default it says authorize_macs instead of authorized_macs. Fixing this makes it work.
Oops. Well spotted, fixed.
There was also an issue with the authorized_macs "module" returning noop instead of notfound. Not sure if this is just something weird on my end, but changing the if statement seems to make it work. -Joren On Thu, Apr 7, 2011 at 1:25 AM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
On 04/06/2011 10:59 PM, Joren Love wrote:
Hey, thanks for your reply. I did try creating the "file" module with the contents from the howto, and it seems to get loaded (Debug: including configuration file /etc/freeradius/modules/file however, I still get the same error:
Edit: Now I'm noticing there's a typo in the wiki. Under raddb/sites-available/default it says authorize_macs instead of authorized_macs. Fixing this makes it work.
Oops. Well spotted, fixed.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Well spotted, this was accounted for correctly in the original example, after someone else on the listed pointed out that files returned not found. I guess the author of the new examples didn't actually check what return code the files module returns when an entry isn't found. I've updated the wiki examples with !ok. Thanks, Arran On Apr 8, 2011, at 8:07 AM, Joren Love wrote:
There was also an issue with the authorized_macs "module" returning noop instead of notfound. Not sure if this is just something weird on my end, but changing the if statement seems to make it work.
-Joren
On Thu, Apr 7, 2011 at 1:25 AM, Phil Mayers <p.mayers@imperial.ac.uk> wrote: On 04/06/2011 10:59 PM, Joren Love wrote: Hey, thanks for your reply. I did try creating the "file" module with the contents from the howto, and it seems to get loaded (Debug: including configuration file /etc/freeradius/modules/file however, I still get the same error:
Edit: Now I'm noticing there's a typo in the wiki. Under raddb/sites-available/default it says authorize_macs instead of authorized_macs. Fixing this makes it work.
Oops. Well spotted, fixed.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 08/04/11 16:39, Arran Cudbard-Bell wrote:
Well spotted, this was accounted for correctly in the original example, after someone else on the listed pointed out that files returned not found. I guess the author of the new examples didn't actually check what return code the files module returns when an entry isn't found.
Yeah sorry, my bad; I'm translating that from a dissimilar example at our site.
Joren, This is how my policy looks, could you please let me know what changes do i need to make, to make the mac-authentication work; policy { # # Rewrite called station id attribute into a standard format. # rewrite_calling_station_id { if(request:Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i){ update request { Calling-Station-Id := "%{1}-%{2}-%{3}-%{4}-%{5}-%{6}" } } else { noop } } # # Forbid all EAP types. # forbid_eap { if (EAP-Message) { reject } } # # Forbid all non-EAP types outside of an EAP tunnel. # permit_only_eap { if (!EAP-Message) { # We MAY be inside of a TTLS tunnel. # PEAP and EAP-FAST require EAP inside of # the tunnel, so this check is OK. # If so, then there MUST be an outer EAP message. if (!"%{outer.request:EAP-Message}") { reject } } } # also my /etc/raddb/users file looks like this; DEFAULT Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Service-Type = Framed-User, Fall-Through = Yes 00-1F-3C-D1-2B-6C User-Name = "subhash", Cleartext-Password = "sub@1979", Tunnel-Private-Group-ID = "17" -- View this message in context: http://freeradius.1045715.n5.nabble.com/Mac-Authorization-tp4287256p4295664.... Sent from the FreeRadius - User mailing list archive at Nabble.com.
It's the section for the sites/default file that makes mac auth work. Honestly, I'm new at this. I used the stock pollicy that came with the Debian package, and just tacked on the the rewrite station ID at the end, before the last "}" If I where you, I'd start from scratch, and follow the wiki page, it should be correct now. I just got lucky in noticing typos. -Joren On Mon, Apr 11, 2011 at 4:09 AM, syharash <syharash@yahoo.com> wrote:
Joren,
This is how my policy looks, could you please let me know what changes do i need to make, to make the mac-authentication work;
policy { # # Rewrite called station id attribute into a standard format. # rewrite_calling_station_id { if(request:Calling-Station-Id =~
/([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i){ update request { Calling-Station-Id := "%{1}-%{2}-%{3}-%{4}-%{5}-%{6}" } } else { noop } } # # Forbid all EAP types. # forbid_eap { if (EAP-Message) { reject } }
# # Forbid all non-EAP types outside of an EAP tunnel. # permit_only_eap { if (!EAP-Message) { # We MAY be inside of a TTLS tunnel. # PEAP and EAP-FAST require EAP inside of # the tunnel, so this check is OK. # If so, then there MUST be an outer EAP message. if (!"%{outer.request:EAP-Message}") { reject } } }
#
also my /etc/raddb/users file looks like this;
DEFAULT Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Service-Type = Framed-User, Fall-Through = Yes
00-1F-3C-D1-2B-6C User-Name = "subhash", Cleartext-Password = "sub@1979", Tunnel-Private-Group-ID = "17"
-- View this message in context: http://freeradius.1045715.n5.nabble.com/Mac-Authorization-tp4287256p4295664.... Sent from the FreeRadius - User mailing list archive at Nabble.com. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (5)
-
Alan Buxey -
Arran Cudbard-Bell -
Joren Love -
Phil Mayers -
syharash