RADIUS SSO機能を有効にしたいSonicWallがあります。 これを行うための記事 はRADIUS server _Send the user’s IP address in either Framed-IP-Address or Calling-Station-Id attribute in both Start and Stop messages.
_
私の設定は次のとおりです:AP -> NPS -> (RADIUS Accounting forwarded) Sonicwall
APに接続すると、APは正常にログインします。転送されたイベントがSonicWallに到達すると、_Framed-IP-Address
_または_Calling-Station-Id
_(MACアドレスのみ)にIPがありません。
_ Attribute Value Pairs
AVP: l=19 t=Acct-Session-Id(44): 53AB6162-00000010
AVP: l=6 t=Acct-Status-Type(40): Stop(2)
AVP: l=6 t=Acct-Authentic(45): RADIUS(1)
AVP: l=10 t=User-Name(1): user
AVP: l=6 t=NAS-IP-Address(4): 10.10.0.150
AVP: l=14 t=NAS-Identifier(32): xxxxxxxxx
AVP: l=6 t=NAS-Port(5): 0
AVP: l=35 t=Called-Station-Id(30): XX-XX-XX-XX-XX-XX:SSID
AVP: l=19 t=Calling-Station-Id(31): XX-XX-XX-XX-XX-XX
AVP: l=6 t=NAS-Port-Type(61): Wireless-802.11(19)
AVP: l=23 t=Connect-Info(77): CONNECT 0Mbps 802.11b
AVP: l=46 t=Class(25): 420e04e70000013700011700000000000000000000000000...
AVP: l=6 t=Acct-Session-Time(46): 604
AVP: l=6 t=Acct-Input-Packets(47): 182
AVP: l=6 t=Acct-Output-Packets(48): 145
AVP: l=6 t=Acct-Input-Octets(42): 32797
AVP: l=6 t=Acct-Output-Octets(43): 47272
AVP: l=6 t=Event-Timestamp(55): Jun 26, 2014 09:47:54.000000000 PDT
AVP: l=6 t=Acct-Terminate-Cause(49): User-Request(1)
AVP: l=22 t=Proxy-State(33): 1700000000000000000000000000000000000039
_
私のユビキティAPは_Framed-IP-Address
_または_Calling-Station-Id
_のIPを送信しないことがわかり、DHCPからこの情報を取得するためにRADIUS)を推奨しています。 NPSまたはDHCPサービスのどこにも構成が見つからないため、何かが不足しています。
DHCPまたはNPSを介してSonicWallに正しい情報を取得するにはどうすればよいですか?
他の人々は ユビキティに同じことを求めた 役に立たなかった。コードを調べた後、それを実現するにはある程度のエンジニアリングが必要であるように見えます。 ( ユビキティも同じ結論に達した 。)
Ubiquiti APはLinuxベースであり、 hostapd を使用してAP機能を提供します。 hostapdのソースを少し掘り下げましたが、_Framed-IP-Address
_ RADIUS属性(_src/radius/radius.c
_、_radius_attr_type radius_attrs
_構造体)の入力をサポートしていることがわかりません。 )_Calling-Station-Id
_属性を設定する限り、hostpadはMACアドレスのみを入力します(関数_src/ap/ieee802_11_auth.c
_の_hostapd_radius_acl_query
_は_hostapd_allowed_address
_からMACを取得します)。 SOMECODE)__、および_src/ap/ieee802_1x.c
_の関数_add_common_radius_sta_attr
_)。
Hostapdは主にモバイルユニット(MU)の認証に関係しているため(およびRADIUSアカウンティング)のlittleビット)およびMUが認証されると、MUの任意のIPトラフィックを処理しません。実際には、RADIUSに提供するMUのIPはありません。
コードを書かなくても、欲しいものが手に入るとは思いません。理論的には、ある種のレイヤー7 RADIUSプロキシをNPSサービスとSonicwallの間に貼り付け、その属性をMACからIPアドレスに書き換えることができます(DHCPサーバーに対してクエリを実行します)。 FreeRADIUS policies あなたがやりたいことができるかもしれません。
エヴァンの提案に従う。結局、calmhで nifi-api を使用して独自のコードを作成しました。 プロジェクトの私のフォーク FreeRADIUSでセットアップする方法の説明が含まれています。
FreeRADIUS> NPS(Auth)> Sonicwall(Acct)ルートに行きました。