web-dev-qa-db-ja.com

NPSを使用したSonicwallSSO

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に正しい情報を取得するにはどうすればよいですか?

1
AWippler

他の人々は ユビキティに同じことを求めた 役に立たなかった。コードを調べた後、それを実現するにはある程度のエンジニアリングが必要であるように見えます。 ( ユビキティも同じ結論に達した 。)

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 あなたがやりたいことができるかもしれません。

2
Evan Anderson

エヴァンの提案に従う。結局、calmhで nifi-api を使用して独自のコードを作成しました。 プロジェクトの私のフォーク FreeRADIUSでセットアップする方法の説明が含まれています。

FreeRADIUS> NPS(Auth)> Sonicwall(Acct)ルートに行きました。

0
AWippler