This may seem simple, however after much trawling through the documentation it, unfortunately, isn't clear so any help will be much appreciated.
In short I want to return a VSA in response to an auth request. The VSA is a juniper VSA for virtual router and shows as 26-1 for vendor ID 4874. In the LDAP config I have the following which is working for standard RADIUS attributes.
update {
control:Password-With-Header += 'userPassword'
reply:Reply-Message := 'radiusReplyMessage'
reply:Framed-IP-Address := 'radiusFramedIPAddress'
reply:Framed-IP-Netmask := 'radiusFramedIPNetmask'
reply:Framed-MTU := 'radiusFramedMTU'
#reply:Vendor_Specific[1] := 'radiusJuniperVirtualRouter'
# Where only a list is specified as the RADIUS attribute,
# the value of the LDAP attribute is parsed as a valuepair
# in the same format as the 'valuepair_attribute' (above).
control: += 'radiusControlAttribute'
request: += 'radiusRequestAttribute'
reply: += 'radiusReplyAttribute'
}
This returns
[root@ldapm01 sites-available]# radtest -x -4 -P udp testaccount2 password 127.0.0.1 1 testing123
Sent Access-Request Id 193 from 0.0.0.0:46100 to 127.0.0.1:1812 length 82
User-Name = "testaccount2"
User-Password = "password"
NAS-IP-Address = 10.0.0.17
NAS-Port = 1
Message-Authenticator = 0x00
Cleartext-Password = "password"
Received Access-Accept Id 193 from 127.0.0.1:1812 to 0.0.0.0:0 length 38
Framed-IP-Address = 10.0.0.2
Framed-IP-Netmask = 255.255.255.255
Framed-MTU = 1500
So FreeRADIUS and LDAP are working. What I need to resolve is
#reply:<Juniper VSA 1> := 'radiusJuniperVirtualRouter'
Note: The available dictionary for juniper only supports vendor ID 2636, so I'll have to create a new dictionary file.