Proxy CoA packet from network control to NAS(same as CoA server) configs in case of many many NASes.
Sergey Komarov
sergey.komaroff at gmail.com
Fri Jul 17 15:15:56 CEST 2015
Hello Alan,
On Fri, Jul 17, 2015 at 3:26 PM, Alan DeKok <aland at deployingradius.com>
wrote:
> Are you sure you're running 3.0.9? Because that code was buggy in 3.0.8.
>
Yes, I'm using 3.0.9: FreeRADIUS Version 3.0.9, for host
x86_64-unknown-linux-gnu, built on Jul 14 2015 at 19:39:49
Linux version 2.6.32-504.el6.x86_64 (mockbuild at c6b9.bsys.dev.centos.org)
(gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Oct 15
04:27:16 UTC 2014
> And the code to proxy based on Packet-Dst-IP-Address is the *same* for
> normal packets, and for CoA packets. So please try it for authentication
> packets. If it works there and not for CoA... something is wrong with your
> system. Make sure to install (and use) 3.0.9.
>
> If Packet-Dst-IP-Address doesn't work for authentication packets, then
> there's something magically broken about the code.
>
> Try to come up with a simple example which we can add to the unit test
> framework...
>
>
(7) Received Access-Request Id 82 from 10.56.33.174:32770 to 10.1.1.174:1812
length 267
(7) User-Name = "84-8e-df-ea-e9-62"
(7) Called-Station-Id = "44-ad-d9-f1-9b-10:SSIDNAME"
(7) Calling-Station-Id = "84-8e-df-ea-e9-62"
(7) NAS-Port = 1
(7) NAS-IP-Address = 10.56.33.174
(7) NAS-Identifier = "WLC2504"
(7) Airespace-Wlan-Id = 1
(7) User-Password = "xxxxxx"
(7) Service-Type = Call-Check
(7) Framed-MTU = 1300
(7) NAS-Port-Type = Wireless-802.11
(7) Tunnel-Type:0 = VLAN
(7) Tunnel-Medium-Type:0 = IEEE-802
(7) Tunnel-Private-Group-Id:0 = "63"
(7) Cisco-AVPair = "audit-session-id=0a3821ae000023bd55a8fab6"
(7) Acct-Session-Id = "55a8fab6/84:8e:df:ea:e9:62/9166"
(7) # Executing section authorize from file
/usr/local/etc/raddb/sites-enabled/default
(7) authorize {
............. sql queries and checks skipped ............
(7) --> 1
(7) case 1 {
(7) update reply {
(7) Cisco-AVPair += "url-redirect-acl=acl"
(7) EXPAND url-redirect=http://login.domain...
(7) --> url-redirect=http://login.domain
(7) Cisco-AVPair += url-redirect=http://login.domain
(7) Packet-Dst-IP-Address := 10.56.33.190 <------------ here I
just override real NAS IP with another NAS fixed address (it present in
clients too)
(7) } # update reply = noop
(7) update control {
(7) Auth-Type := Accept
(7) } # update control = noop
(7) } # case 1 = noop
(7) } # switch %{sql:select state from radiusdb.radcheck where
username='%{Calling-Station-Id}'} = noop
(7) } # else = noop
(7) } # authorize = noop
(7) Found Auth-Type = Accept
(7) Auth-Type = Accept, accepting the user
(7) Sent Access-Accept Id 82 from 10.1.1.174:1812 to 10.56.33.174:32770
length 0 <-------- here looks like override ignored
(7) Cisco-AVPair += "url-redirect-acl=acl"
(7) Cisco-AVPair += "url-redirect=
http://login.wi-fi.ru/am/UI/Login?org=mac&service=coa&client_mac=84-8e-df-ea-e9-62&ForceAuth=true
"
(7) Finished request
FreeRadius still sends to NAS IP instead of my override IP. So it doesn't
matter in CoA or in authorize section it is same behavior - FreeRadius
ignores NAS ip override via Packet-DST.
Could you please check any simple scenario - just try to override
Packet-Dst-IP-Address and than add to override Packet-Dst-Port?
Best Regards, Sergey Komaroff
More information about the Freeradius-Users
mailing list