Thanks Alan. I hope to make it work. As I have little experience with Freeradius, I want to start doing a little test with the "mac2ip" module.
I made a file called mac2ip in /etc/freeradius with the following contents: 00:13:96:00:f9:84,10.1.100.1 The /etc/freeradius/sites-enabled/dhcp as follows: server dhcp { listen { type = dhcp ipaddr = 255.255.255.255 port = 67 interface = eth0 #broadcast = no } dhcp DHCP-Discover { update reply { DHCP-Message-Type = DHCP-Offer } # The contents here are invented. Change them! update reply { DHCP-Domain-Name-Server = 8.8.8.8 DHCP-Domain-Name-Server += 8.8.4.4 DHCP-Subnet-Mask = 255.255.0.0 DHCP-Router-Address = 10.1.1.3 DHCP-IP-Address-Lease-Time = 7200 DHCP-DHCP-Server-Identifier = 10.1.2.10 } mac2ip # Or, allocate IPs from the DHCP pool in SQL. #dhcp_sqlippool.postauth ok } dhcp DHCP-Request { update reply { DHCP-Message-Type = DHCP-Ack } # The contents here are invented. Change them! update reply { DHCP-Domain-Name-Server = 8.8.8.8 DHCP-Domain-Name-Server += 8.8.4.4 DHCP-Router-Address = 10.1.1.3 DHCP-IP-Address-Lease-Time = 7200 DHCP-DHCP-Server-Identifier = 10.1.2.10 } mac2ip # Or, allocate IPs from the DHCP pool in SQL. #dhcp_sqlippool.postauth ok } # If there's no named section for the packet type, then the packet # is processed through this section. dhcp { # send a DHCP NAK. reject } } passwd mac2ip { filename = ${confdir}/mac2ip format = "*DHCP-Client-Hardware-Address:=DHCP-Your-IP-Address" delimiter = "," } I have added the dhcp.dictionary. At last I tried to run freeradius: Info: Starting - reading configuration files ... Debug: including configuration file /etc/freeradius/radiusd.conf Debug: including configuration file /etc/freeradius/clients.conf Debug: including files in directory /etc/freeradius/mods-enabled/ Debug: including configuration file /etc/freeradius/mods-enabled/rediswho Debug: including configuration file /etc/freeradius/mods-enabled/replicate Debug: including configuration file /etc/freeradius/mods-enabled/linelog Debug: including configuration file /etc/freeradius/mods-enabled/redis Debug: including configuration file /etc/freeradius/mods-enabled/counter Debug: including configuration file /etc/freeradius/mods-enabled/sradutmp Debug: including configuration file /etc/freeradius/mods-enabled/sql_log Debug: including configuration file /etc/freeradius/mods-enabled/echo Debug: including configuration file /etc/freeradius/mods-enabled/files Debug: including configuration file /etc/freeradius/mods-enabled/mac2vlan Debug: including configuration file /etc/freeradius/mods-enabled/ntlm_auth Debug: including configuration file /etc/freeradius/mods-enabled/always Debug: including configuration file /etc/freeradius/mods-enabled/soh Debug: including configuration file /etc/freeradius/mods-enabled/detail.log Debug: including configuration file /etc/freeradius/mods-enabled/unix Debug: including configuration file /etc/freeradius/mods-enabled/inner-eap Debug: including configuration file /etc/freeradius/mods-enabled/exec Debug: including configuration file /etc/freeradius/mods-enabled/krb5 Debug: including configuration file /etc/freeradius/mods-enabled/smbpasswd Debug: including configuration file /etc/freeradius/mods-enabled/cui Debug: including configuration file /etc/freeradius/mods-enabled/expiration Debug: including configuration file /etc/freeradius/mods-enabled/perl Debug: including configuration file /etc/freeradius/mods-enabled/mac2ip Debug: including configuration file /etc/freeradius/mods-enabled/digest Debug: including configuration file /etc/freeradius/mods-enabled/smsotp Debug: including configuration file /etc/freeradius/mods-enabled/pam Debug: including configuration file /etc/freeradius/mods-enabled/wimax Debug: including configuration file /etc/freeradius/mods-enabled/mschap Debug: including configuration file /etc/freeradius/mods-enabled/checkval Debug: including configuration file /etc/freeradius/mods-enabled/otp Debug: including configuration file /etc/freeradius/mods-enabled/radutmp Debug: including configuration file /etc/freeradius/mods-enabled/preprocess Debug: including configuration file /etc/freeradius/mods-enabled/ippool Debug: including configuration file /etc/freeradius/mods-enabled/ldap Debug: including configuration file /etc/freeradius/mods-enabled/logintime Debug: including configuration file /etc/freeradius/mods-enabled/sqlcounter_expire_on_login Debug: including configuration file /etc/freeradius/mods-enabled/detail Debug: including configuration file /etc/freeradius/mods-enabled/acct_unique Debug: including configuration file /etc/freeradius/mods-enabled/passwd Debug: including configuration file /etc/freeradius/mods-enabled/chap Debug: including configuration file /etc/freeradius/mods-enabled/dhcp_sqlippool Debug: including configuration file /etc/freeradius/sql/mysql/ippool-dhcp.conf Debug: including configuration file /etc/freeradius/mods-enabled/realm Debug: including configuration file /etc/freeradius/mods-enabled/opendirectory Debug: including configuration file /etc/freeradius/mods-enabled/policy Debug: including configuration file /etc/freeradius/mods-enabled/attr_rewrite Debug: including configuration file /etc/freeradius/mods-enabled/dynamic_clients Debug: including configuration file /etc/freeradius/mods-enabled/attr_filter Debug: including configuration file /etc/freeradius/mods-enabled/expr Debug: including configuration file /etc/freeradius/mods-enabled/etc_group Debug: including configuration file /etc/freeradius/mods-enabled/cache Debug: including configuration file /etc/freeradius/mods-enabled/radrelay Debug: including configuration file /etc/freeradius/mods-enabled/pap Debug: including configuration file /etc/freeradius/mods-enabled/ detail.example.com Debug: including configuration file /etc/freeradius/eap.conf Debug: including configuration file /etc/freeradius/sqlippool.conf Debug: including configuration file /etc/freeradius/sql/mysql/ippool.conf Debug: including configuration file /etc/freeradius/policy.conf Debug: including files in directory /etc/freeradius/sites-enabled/ Debug: including configuration file /etc/freeradius/sites-enabled/dhcp Debug: main { Debug: user = "root" Debug: group = "freerad" Debug: allow_core_dumps = no Debug: } Debug: including dictionary file /etc/freeradius/dictionary Debug: main { Debug: name = "freeradius" Debug: prefix = "/usr" Debug: localstatedir = "/var" Debug: sbindir = "/usr/sbin" Debug: logdir = "/var/log/freeradius" Debug: run_dir = "/var/run/freeradius" Debug: libdir = "/usr/lib/freeradius" Debug: radacctdir = "/var/log/freeradius/radacct" Debug: hostname_lookups = no Debug: max_request_time = 30 Debug: cleanup_delay = 5 Debug: max_requests = 1024 Debug: pidfile = "/var/run/freeradius/freeradius.pid" Debug: checkrad = "/usr/sbin/checkrad" Debug: debug_level = 0 Debug: proxy_requests = yes Debug: log { Debug: stripped_names = no Debug: auth = no Debug: auth_badpass = no Debug: auth_goodpass = no Debug: } Debug: security { Debug: max_attributes = 200 Debug: reject_delay = 1 Debug: status_server = yes Debug: } Debug: } Debug: radiusd: #### Loading Realms and Home Servers #### Debug: radiusd: #### Loading Clients #### Debug: client localhost { Debug: ipaddr = 127.0.0.1 Debug: require_message_authenticator = no Debug: secret = "testing123" Debug: nastype = "other" Debug: } Debug: radiusd: #### Instantiating modules #### Debug: instantiate { Debug: (Loaded rlm_exec, checking if it's valid) Debug: Module: Linked to module rlm_exec Debug: Module: Instantiating module "exec" from file /etc/freeradius/mods-enabled/exec Debug: exec { Debug: wait = no Debug: input_pairs = "request" Debug: shell_escape = yes Debug: } Debug: (Loaded rlm_expr, checking if it's valid) Debug: Module: Linked to module rlm_expr Debug: Module: Instantiating module "expr" from file /etc/freeradius/mods-enabled/expr Debug: (Loaded rlm_expiration, checking if it's valid) Debug: Module: Linked to module rlm_expiration Debug: Module: Instantiating module "expiration" from file /etc/freeradius/mods-enabled/expiration Debug: expiration { Debug: reply-message = "Password Has Expired " Debug: } Debug: (Loaded rlm_logintime, checking if it's valid) Debug: Module: Linked to module rlm_logintime Debug: Module: Instantiating module "logintime" from file /etc/freeradius/mods-enabled/logintime Debug: logintime { Debug: reply-message = "You are calling outside your allowed timespan " Debug: minimum-timeout = 60 Debug: } Debug: } Debug: radiusd: #### Loading Virtual Servers #### Debug: server { # from file /etc/freeradius/radiusd.conf Debug: modules { Debug: } # modules Debug: } # server Debug: server dhcp { # from file /etc/freeradius/sites-enabled/dhcp Debug: modules { Debug: Module: Checking dhcp DHCP-Discover {...} for more modules to load Debug: (Loaded rlm_passwd, checking if it's valid) Debug: Module: Linked to module rlm_passwd Debug: Module: Instantiating module "mac2ip" from file /etc/freeradius/mods-enabled/mac2ip Debug: passwd mac2ip { Debug: filename = "/etc/freeradius/mac2ip" Debug: format = "*DHCP-Client-Hardware-Address:=DHCP-Your-IP-Address" Debug: delimiter = "," Debug: ignorenislike = yes Debug: ignoreempty = yes Debug: allowmultiplekeys = no Debug: hashsize = 100 Debug: } Debug: rlm_passwd: nfields: 2 keyfield 0(DHCP-Client-Hardware-Address) listable: no Debug: (Loaded rlm_always, checking if it's valid) Debug: Module: Linked to module rlm_always Debug: Module: Instantiating module "ok" from file /etc/freeradius/mods-enabled/always Debug: always ok { Debug: rcode = "ok" Debug: simulcount = 0 Debug: mpp = no Debug: } Debug: Module: Checking dhcp DHCP-Request {...} for more modules to load Debug: Module: Checking dhcp (null) {...} for more modules to load Error: /etc/freeradius/sites-enabled/dhcp[153]: No name specified for Post-Auth-Type block Debug: } # modules Debug: } # server Debug: radiusd: #### Opening IP addresses and Ports #### Debug: listen { Debug: type = "auth" Debug: ipaddr = * Debug: port = 0 Debug: } Debug: listen { Debug: type = "acct" Debug: ipaddr = * Debug: port = 0 Debug: } Debug: listen { Debug: type = "dhcp" Debug: ipaddr = 255.255.255.255 Debug: port = 67 Debug: } Debug: Listening on authentication address * port 1812 Debug: Listening on accounting address * port 1813 Debug: Listening on dhcp interface eth0 address 255.255.255.255 port 67 as server dhcp Debug: Listening on proxy address * port 1814 Info: Ready to process requests. Received DHCP-Discover of id 8e22cb4d from 0.0.0.0:68 to 255.255.255.255:67 01 01 06 00 8e 22 cb 4d 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 96 00 f9 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63 35 01 01 3d 08 01 00 13 96 00 f9 84 00 33 04 ff ff ff 00 33 04 ff ff ff ff 37 0b 01 03 06 0f 12 42 78 87 d5 d6 d7 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DHCP-Opcode = Client-Message DHCP-Hardware-Type = Ethernet DHCP-Hardware-Address-Length = 6 DHCP-Hop-Count = 0 DHCP-Transaction-Id = 2384644941 DHCP-Number-of-Seconds = 0 DHCP-Flags = Broadcast DHCP-Client-IP-Address = 0.0.0.0 DHCP-Your-IP-Address = 0.0.0.0 DHCP-Server-IP-Address = 0.0.0.0 DHCP-Gateway-IP-Address = 0.0.0.0 DHCP-Client-Hardware-Address = 00:13:96:00:f9:84 DHCP-Message-Type = DHCP-Discover DHCP-Client-Identifier = 0x0100139600f98400 DHCP-IP-Address-Lease-Time = 4294967040 DHCP-IP-Address-Lease-Time = 4294967295 DHCP-Parameter-Request-List = DHCP-Subnet-Mask DHCP-Parameter-Request-List = DHCP-Router-Address DHCP-Parameter-Request-List = DHCP-Domain-Name-Server DHCP-Parameter-Request-List = DHCP-Domain-Name DHCP-Parameter-Request-List = DHCP-Bootp-Extensions-Path DHCP-Parameter-Request-List = DHCP-TFTP-Server-Name DHCP-Parameter-Request-List = DHCP-SIP-Servers-DHCP-Option DHCP-Parameter-Request-List = DHCP-HTTP-Proxy DHCP-Parameter-Request-List = 213 DHCP-Parameter-Request-List = 214 DHCP-Parameter-Request-List = 215 Info: server dhcp { Debug: Trying sub-section dhcp DHCP-Discover {...} Info: +- entering group DHCP-Discover {...} Info: ++[reply] returns noop Info: ++[reply] returns noop Segmentation fault I'm missing something obvious? Thanks in advance.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html