agent-remote-id, agent-circuit-id strange format change.
Hello i'm using DHCP Option 82 with Freeradius auth. it uses several fields as username for auth: User-Name, agent-remote-id and agent-circuit-id. User-Name is mac address of cdhcp-client, and comes to radius in normal format "aa:bb:cc:dd:ee:ff" agent-remote-id and agent-circuit-id - are combination of dhcp-client mac address, vlan id, port id, slot id of dhcp relay. they should come in same normal hex format aa:bb:cc:dd:ee:ff but lil bit bit longer e.g.: Agent-Remote-Id = 0006000ded21a480 Agent-Circuit-Id = 000400020000 But they are coming in this unknow unreadable format: Agent-Remote-Id = "\000\006\000\r\355!\244\200" Agent-Circuit-Id = "\000\004\000\002\000" dictionary used is Redback with attributes 96 and 97....i've tried both octets and string format in dictionary for this attributes. How can i tell freeradius to work with this attributes in normal format ? Other way i've to enter this stupid strings in users db to authenticate user (it works like this right now). There is other commercial multi OS radius server built on perl "RADIATOR" and it works like charm with only few string in its rad.conf. (in my case it's working on WinXP, and FreeRadius main server on CentOS) here is debug output of both radius servers: FreeRadius: rad_recv: Access-Request packet from host 192.168.1.101 port 50213, id=4, length=143 NAS-Port-Type = Ethernet NAS-Port = 2210402311 Calling-Station-Id = "1:0:c:42:40:40:38" Called-Station-Id = "CLIENTS_pool1" User-Name = "00:0C:42:40:40:38" User-Password = "" *Agent-Remote-Id = "\000\006\000\r\355!\244\200" Agent-Circuit-Id = "\000\004\000\002\000"* NAS-Identifier = "R1" NAS-IP-Address = 192.168.1.101 Radiator Attributes: NAS-Port-Type = Ethernet NAS-Port = 2213543991 Calling-Station-Id = "1:0:c:42:40:40:38" Framed-IP-Address = 192.168.3.156 Called-Station-Id = "CLIENTS_pool1" User-Name = "00:0C:42:40:40:38" User-Password = <230><182><134>I<22><196><196><178>\#<8>Uq<251><162><201> * RB-Agent-Remote-Id = 0006000ded21a480 RB-Agent-Circuit-Id = 000400020000* NAS-Identifier = "R1" NAS-IP-Address = 192.168.0.22 Link on my mikrotik forum with detail wireshark sniffing: http://forum.mikrotik.com/viewtopic.php?f=2&t=47083
Denis Iskandarov wrote:
they should come in same normal hex format aa:bb:cc:dd:ee:ff but lil bit bit longer e.g.: Agent-Remote-Id = 0006000ded21a480 Agent-Circuit-Id = 000400020000
But they are coming in this unknow unreadable format: Agent-Remote-Id = "\000\006\000\r\355!\244\200" Agent-Circuit-Id = "\000\004\000\002\000"
Use "octets" for the data type.
dictionary used is Redback with attributes 96 and 97....i've tried both octets and string format in dictionary for this attributes.
"octets" should work. i.e. the default configuration works. Which version are you running, and why did you edit the dictionary files?
How can i tell freeradius to work with this attributes in normal format ? Other way i've to enter this stupid strings in users db to authenticate user (it works like this right now).
There is other commercial multi OS radius server built on perl "RADIATOR" and it works like charm with only few string in its rad.conf.
Really? There are other RADIUS servers? Alan DeKok.
"octets" should work. i.e. the default configuration works. Which version are you running, and why did you edit the dictionary files?
As i wrote in my very first post i'm already using octets format in attributes. "default configuration" isn't working. I'm running 2.1.7 on CentOS Why I'm editing dictionaries ? Because i've read whole mailing list regarding this problem and read such suggestions in some posts (suggested even by you) SO RESULTS: 1. default FreeRadius 2.1.7 setup: has old redback dicitionary from 2000y. with incorrect format of attributes, which are STRING there. Changed them to OCTETS - still not working. 2. took patched redback dicitionary from 2.1.10 and placed it into 2.1.7 which already has this two attributes (96 and 97) in proper format: OCTETS (and please don't yell, it has no significant changes which may interfere 2.1.7 working process).
Really? There are other RADIUS servers?
Sorry if i've broken ur illusions that FreeRadius is only RADIUS server in the world. I just wanted to say that i've tested this setup on other server and system which has almost same config files, just couple PERL scripts. Maybe something else should be changed in some configuration files that makes FreeRadius to understand or convert this attributes in normal format.
Denis Iskandarov wrote:
I'm running 2.1.7 on CentOS Why I'm editing dictionaries ? Because i've read whole mailing list regarding this problem and read such suggestions in some posts (suggested even by you)
It's sometimes useful, yes. In general, editing them is a bad idea.
SO RESULTS: 1. default FreeRadius 2.1.7 setup: has old redback dicitionary from 2000y. with incorrect format of attributes, which are STRING there.
Yes..
Changed them to OCTETS - still not working.
I fail to see why. If you get the attributes printed as "..." when the data type is "octets", it's because the server is not using the dictionaries you've edited.
Really? There are other RADIUS servers?
Sorry if i've broken ur illusions that FreeRadius is only RADIUS server in the world. I just wanted to say that i've tested this setup on other server and system which has almost same config files, just couple PERL scripts.
No, your comment about Radiator was unnecessary.
Maybe something else should be changed in some configuration files that makes FreeRadius to understand or convert this attributes in normal format.
Try 2.1.10. It works. Or, edit the dictionaries that the server is reading. Alan DeKok.
participants (2)
-
Alan DeKok -
Denis Iskandarov