DHCP reply don't go out

Michele Pinassi michele.pinassi at unisi.it
Tue Feb 12 15:27:22 CET 2013


Maybe i've found something that can help us to solve the problem.

Here's FreeRadius DHCP reply (from dhcpdump):

---------------------------------------------------------------------------

  TIME: 2013-02-12 15:13:10.426
    IP: 172.20.1.2 (0:c:29:eb:3e:86) > 172.20.1.20 (0:4:13:71:11:65)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: 44d8b628
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 172.20.1.20
SIADDR: 172.20.1.2
GIADDR: 0.0.0.0
CHADDR: 00:04:13:71:11:65:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   172.20.1.1
OPTION:   4 (  4) Time server               172.20.1.2
OPTION:   6 (  4) DNS server                172.20.1.2
OPTION:  12 ( 13) Host name                 voip.unisi.it
OPTION:  15 ( 13) Domainname                voip.unisi.it
OPTION:  42 (  4) NTP servers               172.20.1.2
OPTION:  51 (  4) IP address leasetime      7200 (2h)
OPTION:  54 (  4) Server identifier         172.20.1.2
OPTION:  66 ( 17) TFTP server name          tftp://172.20.1.2
---------------------------------------------------------------------------

and this is the ISC DHCP Server reply (that i use in production on the
same machine):

 ---------------------------------------------------------------------------

  TIME: 2013-02-12 15:19:42.168
    IP: 172.20.1.2 (0:c:29:eb:3e:86) > 172.20.1.20 (cc:ef:48:5e:8f:e4)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: 5ace8683
  SECS: 0
 FLAGS: 0
CIADDR: 172.20.1.20
YIADDR: 172.20.1.20
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: cc:ef:48:5e:8f:e4:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:  54 (  4) Server identifier         172.20.1.2
OPTION:  51 (  4) IP address leasetime      7200 (2h)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   172.20.1.1
OPTION:  42 (  4) NTP servers               172.20.1.2
OPTION:   6 (  4) DNS server                172.20.1.2
OPTION:  15 ( 13) Domainname                voip.unisi.it
OPTION:  58 (  4) T1                        3600 (60m)
OPTION:  59 (  4) T2                        6300 (1h45m)
OPTION:  66 ( 17) TFTP server name          tftp://172.20.1.2
OPTION:   2 (  4) Time offset               7200 (2h)
---------------------------------------------------------------------------

I'm pointing on CIADDR and SIADDR.

Maybe something wrong in my policy.conf ?

[...]

	#  Assign compatibility data to request for sqlippool
	dhcp_sqlippool.post-auth {
		#  Do some minor hacks to the request so that it looks
		#  like a RADIUS request to the SQL IP Pool module.
		update control {
			Pool-Name = "main_pool"
		}
		
		update request {
			User-Name = "DHCP-%{DHCP-Client-Hardware-Address}"
			Calling-Station-Id = "%{DHCP-Client-Hardware-Address}"
			NAS-IP-Address = "%{%{DHCP-Gateway-IP-Address}:-127.0.0.1}"
			Acct-Status-Type = Start
		}

		#  Call the actual module
		#
		#  Uncomment this in order to really call it!
		dhcp_sqlippool
		# fail

		#  Convert Framed-IP-Address to DHCP, but only if we
		#  actually allocated an address.
		if (ok) {
			update reply {
				DHCP-Your-IP-Address = "%{reply:Framed-IP-Address}"
			}
		}
	}
}

Thanks, Michele


On 12/02/2013 12:33, Russell Mike wrote:
> Is there any layer 3 device between client and dhcp server? Then you
> need dhcp relay agent,if that is not the case chk firewall. 
> Thanks
> 
> On Tuesday, February 12, 2013, Michele Pinassi wrote:
> 
>     Hi all,
> 
>     i've just installed a FreeRadius server 2.2.0 with DHCP support because
>     i need a dhcp server that use MySQL ad a backend.
> 
>     My network topology is:
> 
>     eth0      inet addr:193.205.4.xxx [PUBLIC]
>     eth1      inet addr:172.20.1.2 [PRIVATE]
> 
>     all dhcp requests and reply should come from eth1. Here is freeradius -X
>     dump:
> 
>     FreeRADIUS Version 2.2.0, for host i486-pc-linux-gnu, built on Sep 20
>     2012 at 13:37:59
>     Copyright (C) 1999-2012 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/clients.conf
>     including files in directory /etc/freeradius/mods-enabled/
>     including configuration file /etc/freeradius/mods-enabled/replicate
>     including configuration file /etc/freeradius/mods-enabled/smsotp
>     including configuration file /etc/freeradius/mods-enabled/preprocess
>     including configuration file /etc/freeradius/mods-enabled/ldap
>     including configuration file /etc/freeradius/mods-enabled/counter
>     including configuration file /etc/freeradius/mods-enabled/detail.log
>     including configuration file /etc/freeradius/mods-enabled/otp
>     including configuration file /etc/freeradius/mods-enabled/inner-eap
>     including configuration file /etc/freeradius/mods-enabled/acct_unique
>     including configuration file /etc/freeradius/mods-enabled/wimax
>     including configuration file
>     /etc/freeradius/mods-enabled/dynamic_clients
>     including configuration file /etc/freeradius/mods-enabled/etc_group
>     including configuration file /etc/freeradius/mods-enabled/redis
>     including configuration file /etc/freeradius/mods-enabled/cui
>     including configuration file /etc/freeradius/mods-enabled/ntlm_auth
>     including configuration file /etc/freeradius/mods-enabled/cache
>     including configuration file /etc/freeradius/mods-enabled/mac2ip
>     including configuration file /etc/freeradius/mods-enabled/dhcp_sqlippool
>     including configuration file /etc/freeradius/sql/mysql/ippool-dhcp.conf
>     including configuration file /etc/freeradius/mods-enabled/policy
>     including configuration file /etc/freeradius/mods-enabled/expiration
>     including configuration file /etc/freeradius/mods-enabled/logintime
>     including configuration file /etc/freeradius/mods-enabled/radutmp
>     including configuration file /etc/freeradius/mods-enabled/smbpasswd
>     including configuration file /etc/freeradius/mods-enabled/ippool
>     including configuration file /etc/freeradius/mods-enabled/rediswho
>     including configuration file /etc/freeradius/mods-enabled/pam
>     including configuration file /etc/freeradius/mods-enabled/soh
>     including configuration file
>     /etc/freeradius/mods-enabled/detail.example.com
>     <http://detail.example.com>
>     including configuration file /etc/freeradius/mods-enabled/realm
>     including configuration file /etc/freeradius/mods-enabled/mac2vlan
>     including configuration file /etc/freeradius/mods-enabled/attr_filter
>     including configuration file /etc/freeradius/mods-enabled/exec
>     including configuration file /etc/freeradius/mods-enabled/pap
>     including configuration file /etc/freeradius/mods-enabled/unix
>     including configuration file /etc/freeradius/mods-enabled/passwd
>     including configuration file /etc/freeradius/mods-enabled/echo
>     including configuration file /etc/freeradius/mods-enabled/sradutmp
>     including configuration file /etc/freeradius/mods-enabled/always
>     including configuration file /etc/freeradius/mods-enabled/checkval
>     including configuration file /etc/freeradius/mods-enabled/chap
>     including configuration file /etc/freeradius/mods-enabled/mschap
>     including configuration file /etc/freeradius/mods-enabled/krb5
>     including configuration file /etc/freeradius/mods-enabled/sql_log
>     including configuration file /etc/freeradius/mods-enabled/attr_rewrite
>     including configuration file /etc/freeradius/mods-enabled/files
>     including configuration file /etc/freeradius/mods-enabled/perl
>     including configuration file /etc/freeradius/mods-enabled/radrelay
>     including configuration file
>     /etc/freeradius/mods-enabled/sqlcounter_expire_on_login
>     including configuration file /etc/freeradius/mods-enabled/expr
>     including configuration file /etc/freeradius/mods-enabled/linelog
>     including configuration file /etc/freeradius/mods-enabled/opendirectory
>     including configuration file /etc/freeradius/mods-enabled/detail
>     including configuration file /etc/freeradius/mods-enabled/digest
>     including configuration file /etc/freeradius/eap.conf
>     including configuration file /etc/freeradius/sql.conf
>     including configuration file /etc/freeradius/sqlippool.conf
>     including configuration file /etc/freeradius/sql/mysql/ippool.conf
>     including configuration file /etc/freeradius/policy.conf
>     including files in directory /etc/freeradius/sites-enabled/
>     including configuration file /etc/freeradius/sites-enabled/dhcp
>     including configuration file /etc/freeradius/sites-enabled/default
>     main {
>             user = "root"
>             group = "freerad"
>             allow_core_dumps = no
>     }
>     including dictionary file /etc/freeradius/dictionary
>     main {
>             name = "freeradius"
>             prefix = "/usr"
>             localstatedir = "/var"
>             sbindir = "/usr/sbin"
>             logdir = "/var/log/freeradius"
>             run_dir = "/var/run/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 = no
>      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 ####
>     radiusd: #### Loading Clients ####
>      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 module "exec" from file
>     /etc/freeradius/mods-enabled/exec
>       exec {
>             wait = no
>             input_pairs = "request"
>             shell_escape = yes
>       }
>      Module: Linked to module rlm_expr
>      Module: Instantiating module "expr" from file
>     /etc/freeradius/mods-enabled/expr
>      Module: Linked to module rlm_expiration
>      Module: Instantiating module "expiration" from file
>     /etc/freeradius/mods-enabled/expiration
>       expiration {
>             reply-message = "Password Has Expired  "
>       }
>      Module: Linked to module rlm_logintime
>      Module: Instantiating module "logintime" from file
>     /etc/freeradius/mods-enabled/logintime
>       logintime {
>             reply-message = "You are calling outside your allowed
>     timespan  "
>             minimum-timeout = 60
>       }
>      }
>     radiusd: #### Loading Virtual Servers ####
>     server { # from file /etc/freeradius/radiusd.conf
>      modules {
>       Module: Creating Auth-Type = digest
>       Module: Creating Post-Auth-Type = REJECT
>      Module: Checking authenticate {...} for more modules to load
>      Module: Linked to module rlm_pap
>      Module: Instantiating module "pap" from file
>     /etc/freeradius/mods-enabled/pap
>       pap {
>             encryption_scheme = "auto"
>             auto_header = no
>       }
>      Module: Linked to module rlm_chap
>      Module: Instantiating module "chap" from file
>     /etc/freeradius/mods-enabled/chap
>      Module: Linked to module rlm_mschap
>      Module: Instantiating module "mschap" from file
>     /etc/freeradius/mods-enabled/mschap
>       mschap {
>             use_mppe = yes
>             require_encryption = no
>             require_strong = no
>             with_ntdomain_hack = no
>             allow_retry = yes
>       }
>      Module: Linked to module rlm_digest
>      Module: Instantiating module "digest" from file
>     /etc/freeradius/mods-enabled/digest
>      Module: Linked to module rlm_unix
>      Module: Instantiating module "unix" from file
>     /etc/freeradius/mods-enabled/unix
>       unix {
>             radwtmp = "/var/log/freeradius/radwtmp"
>       }
>      Module: Linked to module rlm_eap
>      Module: Instantiating module "eap" from file /etc/freeradius/eap.conf
>       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
>             CA_path = "/etc/freeradius/certs"
>             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 = "/dev/urandom"
>             fragment_size = 1024
>             include_length = yes
>             check_crl = no
>             cipher_list = "DEFAULT"
>             make_cert_command = "/etc/freeradius/certs/bootstrap"
>             ecdh_curve = "prime256v1"
>         cache {
>             enable = no
>             lifetime = 24
>             max_entries = 255
>         }
>         verify {
>         }
>         ocsp {
>             enable = no
>             override_cert_url = yes
>             url = "http://127.0.0.1/ocsp/"
>             use_nonce = yes
>             timeout = 0
>             softfail = no
>         }
>        }
>      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"
>             soh = no
>        }
>      Module: Linked to sub-module rlm_eap_mschapv2
>      Module: Instantiating eap-mschapv2
>        mschapv2 {
>             with_ntdomain_hack = no
>             send_error = no
>        }
>      Module: Checking authorize {...} for more modules to load
>      Module: Linked to module rlm_preprocess
>      Module: Instantiating module "preprocess" from file
>     /etc/freeradius/mods-enabled/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
>       }
>     reading pairlist file /etc/freeradius/huntgroups
>     reading pairlist file /etc/freeradius/hints
>      Module: Linked to module rlm_realm
>      Module: Instantiating module "suffix" from file
>     /etc/freeradius/mods-enabled/realm
>       realm suffix {
>             format = "suffix"
>             delimiter = "@"
>             ignore_default = no
>             ignore_null = no
>       }
>      Module: Linked to module rlm_files
>      Module: Instantiating module "files" from file
>     /etc/freeradius/mods-enabled/files
>       files {
>             usersfile = "/etc/freeradius/users"
>             acctusersfile = "/etc/freeradius/acct_users"
>             preproxy_usersfile = "/etc/freeradius/preproxy_users"
>             compat = "no"
>       }
>     reading pairlist file /etc/freeradius/users
>     reading pairlist file /etc/freeradius/acct_users
>     reading pairlist file /etc/freeradius/preproxy_users
>      Module: Checking preacct {...} for more modules to load
>      Module: Linked to module rlm_acct_unique
>      Module: Instantiating module "acct_unique" from file
>     /etc/freeradius/mods-enabled/acct_unique
>       acct_unique {
>             key = "User-Name, Acct-Session-Id, NAS-IP-Address,
>     NAS-Identifier,
>     NAS-Port"
>       }
>      Module: Checking accounting {...} for more modules to load
>      Module: Linked to module rlm_detail
>      Module: Instantiating module "detail" from file
>     /etc/freeradius/mods-enabled/detail
>       detail {
>             detailfile =
>     "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
>             header = "%t"
>             detailperm = 384
>             dirperm = 493
>             locking = no
>             log_packet_header = no
>       }
>      Module: Linked to module rlm_attr_filter
>      Module: Instantiating module "attr_filter.accounting_response" from
>     file /etc/freeradius/mods-enabled/attr_filter
>       attr_filter attr_filter.accounting_response {
>             attrsfile = "/etc/freeradius/attrs.accounting_response"
>             key = "%{User-Name}"
>             relaxed = no
>       }
>     reading pairlist file /etc/freeradius/attrs.accounting_response
>      Module: Checking session {...} for more modules to load
>      Module: Linked to module rlm_radutmp
>      Module: Instantiating module "radutmp" from file
>     /etc/freeradius/mods-enabled/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: Instantiating module "attr_filter.access_reject" from file
>     /etc/freeradius/mods-enabled/attr_filter
>       attr_filter attr_filter.access_reject {
>             attrsfile = "/etc/freeradius/attrs.access_reject"
>             key = "%{User-Name}"
>             relaxed = no
>       }
>     reading pair
>     --
>     Michele Pinassi
>     Responsabile Telefonia di Ateneo
>     Servizio Reti, Sistemi e Sicurezza Informatica - Università degli Studi
>     di Siena
>     tel: 0577.(23)2169 - fax: 0577.(23)2053
> 
>     Per trovare una soluzione rapida ai tuoi problemi tecnici
>     consulta le FAQ di Ateneo, http://www.faq.unisi.it
> 
> 
> 
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
> 

-- 
Michele Pinassi
Responsabile Telefonia di Ateneo
Servizio Reti, Sistemi e Sicurezza Informatica - Università degli Studi
di Siena
tel: 0577.(23)2169 - fax: 0577.(23)2053

Per trovare una soluzione rapida ai tuoi problemi tecnici
consulta le FAQ di Ateneo, http://www.faq.unisi.it

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20130212/86bde1c8/attachment-0001.pgp>


More information about the Freeradius-Users mailing list