Outras pessoas têm sem sucesso. Parece, depois de examinar o código, que seria necessária alguma engenharia razoável para que isso acontecesse. ( Ubiquiti chegou à mesma conclusão .
Os APs Ubiquiti são baseados em Linux e usam hostapd para fornecer sua funcionalidade AP. Eu procurei na fonte do hostapd um pouco, e não estou achando que ele suporta o preenchimento do atributo Framed-IP-Address
RADIUS ( src/radius/radius.c
, o radius_attr_type radius_attrs
struct). Quanto ao preenchimento do atributo Calling-Station-Id
, o hostpad apenas preenche aquele com o endereço MAC, pelo que eu posso ver ( src/ap/ieee802_11_auth.c
na função hostapd_radius_acl_query
onde obtém o MAC de hostapd_allowed_address
e em src/ap/ieee802_1x.c
em a função add_common_radius_sta_attr
).
Desde hostapd está preocupado principalmente com a autenticação da unidade móvel (MU) (e um pouco pouco de contabilização RADIUS) e não está lidando com tráfego IP arbitrário para o MU uma vez que é autenticado não está indo realmente ter o IP do MU para dar ao RADIUS.
Eu não acho que você vai conseguir o que quer sem escrever código. Em teoria, você poderia colocar algum tipo de proxy RADIUS de camada 7 entre o serviço NPS e o Sonicwall e reescrever esse atributo do MAC para o endereço IP (consultando seus servidores DHCP). As políticas do FreeRADIUS podem ser capazes de fazer o que você quer.