Dot1XダイナミックVLAN割り当てについて


8

状況:

私は802.1Xを動作させるようにしています。RADIUSサーバーが特定のユーザーのRADIUS応答属性に基づいてポートに動的にVLANを割り当てるようにしたいのですが。HP E2620スイッチとFreeRADIUSサーバーがあります。サプリカントはWindows 8.1マシンです

freeradiusのWebサイトでこのドキュメントを参照しました。


これまでに行ったこと:

FreeRADIUSでは、次のようなパラメータを持つユーザーを作成しました。

dot1xtest    User-Password := "secret"
             Tunnel-Type = "VLAN",
             Tunnel-Medium-Type = "IEEE-802",
             Tunnel-Private-Group-ID = "100"

私もTunnel-Pvt-Group-ID代わりに試しましたが、FreeRADIUSでは機能せず、ただ鳴きます(これらの1つである Microsoft NPSで構成するためのリソースでこれを確認しました)。また、トンネルメディアタイプには値「802」、802、6を試しました。

また、グループID値としてVLAN-IDではなく実際のVLAN名を使用しようとしました。とにかく、そのデータ型は文字列です。

AAAにこのRADIUSサーバーを使用するようにHPスイッチを構成し、これをポート10に設定しました。

aaa port-access gvrp-vlans
aaa authentication port-access eap-radius
aaa port-access authenticator 10
aaa port-access authenticator 10 auth-vid 150
aaa port-access authenticator 10 unauth-vid 200
aaa port-access authenticator active

VLAN:

VLAN 100 - VLAN which I want to get after authentication.
VLAN 150 - VLAN which I get now, because my config is not working
VLAN 200 - Unauthorized VLAN which is used on auth. failure

ノート:

  • ポート10にもタグなしのVLAN 150が割り当てられていますvlan 150 untagged 10。そして、私は静的な割り当てを取り除くことができません

  • 上記のすべてのVLANは、スイッチのVLANデータベースに存在します。

  • このポートに接続するたびに、資格情報を求められます。認証に成功すると、VLAN150に送信され、失敗するとVLAN200になります。

  • ここで説明するように、Windows接続で802.1X認証を有効にしまし

  • GVRPを有効にしてみました-何も変わりません


Diagnostic / showコマンド出力:

ポート10の静的VLAN割り当て。VLAN150タグなし

 SW # show vlans ports 10 detail

 Status and Counters - VLAN Information - for ports 10

  VLAN ID Name                             | Status     Voice Jumbo Mode
  ------- -------------------------------- + ---------- ----- ----- --------
  150     VLAN150                          | Port-based No    No    Untagged

show logging 、私はこれを参照してください。

I 08/28/14 08:29:24 00077 ports: port 10 is now off-line
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: VLAN200 virtual LAN enabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00002 vlan: UNUSED virtual LAN disabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: UNUSED virtual LAN enabled
I 08/28/14 08:29:47 00002 vlan: UNUSED virtual LAN disabled

show port-access authenticator 出力:

SW # show port-access authenticator

 Port Access Authenticator Status

  Port-access authenticator activated [No] : Yes
  Allow RADIUS-assigned dynamic (GVRP) VLANs [No] : Yes

       Auths/  Unauth  Untagged Tagged           % In  RADIUS Cntrl
  Port Guests  Clients VLAN     VLANs  Port COS  Limit ACL    Dir
  ---- ------- ------- -------- ------ --------- ----- ------ -----
  10   1/0     0       150      No     No        No    No     both

RADIUSユーザーテスト:

Linux-server # radtest dot1xtest secret localhost 0 secretkey
Sending Access-Request of id 158 to 127.0.0.1 port 1812
        User-Name = "dot1xtest"
        User-Password = "secret"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=158, length=37
        Tunnel-Type:0 = VLAN
        Tunnel-Medium-Type:0 = 802
        Tunnel-Private-Group-Id:0 = "100"

これは、RADIUSサーバーのTCPdumpで見たものです。私は送信元ポート1812で発信UDPトラフィックをキャプチャしていました。これは私のスイッチが取得するものです(実際には、それを確認する方法がわからない...)。

      Tunnel Type Attribute (64), length: 6, Value: Tag[Unused]#13
        0x0000:  0000 000d
      Tunnel Medium Attribute (65), length: 6, Value: Tag[Unused]802
        0x0000:  0000 0006
      Tunnel Private Group Attribute (81), length: 5, Value: 100
        0x0000:  3130 30

デバッグ:

debug security radius-server
debug security port-access authenticator
debug destination buffer

その後、私はケーブルを抜き差ししました、show debug bufferそしてここにそれのコピーペーストがあります。奇妙なことに、VLANに関連する属性については何も言われていません。


質問:

何が悪いのですか?

私は、RADIUSがVLAN IDスイッチを割り当てた場合、そもそもそれを使用するリソースの束を読みました。次に、認証が成功した場合、ポートアクセス認証システム用に構成された承認済みVLANにフォールバックします。それが存在しない場合は、ポートに構成されたタグなしVLANを割り当てます。なぜ私はその振る舞いを得ないのですか?

Tunnel-Private-Group-Idこれらのスイッチでは属性がサポートされていないと思い始めました。すべてのリソースがTunnel-Pvt-Group-Id代わりに参照しているようです(Microsoftでの構成)。確認するのにWindows Serverがありません。

多分それはファームウェア関連ですか?まだアップグレードを試みていません。私はRA_15_06_0009.swiを使用していますが、すでにRA_15_14_0007.swiがあります。


更新

3500yl-24G-PWRモデルを試してみましたが、まだ機能しません。ですから、スイッチはRADIUSサーバーから構成を取得できないと思います(または、誤った属性や演算子を使用しましたか?)。どうすればトラブルシューティングできますか?


タグ付けされたvlan100のポートはありますか?
some_guy_long_gone 2014

HPスイッチでプレイしてからしばらく経ちましたが、aaa port-access authenticator 10 auth-vid 150ステートメントもあるはずです。IIRC、これは、RADIUSから異なる値を取得しない限り、認証されたデバイスに150を使用するようにスイッチに指示します。これがなければ、構成されたポート値を使用するだけだと思います。私は記憶を失っており、最近は失敗することが多いため、回答として投稿しません。動作する場合は、お知らせください。回答として投稿します。
YLearn

* legioxi、ポートがタグなしVLAN 150に設定されていない。* YLearn、特定のVLANを割り当てる必要はない。認証するユーザーに応じてVLANを割り当てたい。Auth-vidは、RADIUS(機能しない)に次いで2番目に優先されます。Auth-vidが設定されていない場合、実際には構成済みのタグなしVLANが選択されます。
Alex

回答:


6

アレックス、こんにちは!

私はあなたのためにテスト環境を構築したので、私はfreeradius 2.1.12 + dfsg-1.2(debian上)とスイッチhp 2650を使用しています。構成を繰り返しただけで問題はありません。私のテストでは、IP 10.0.10.29をテストし、Freeradius IP 192.168.2.60をテストします。

曲線構成:

Running configuration:

; J4899A Configuration Editor; Created on release #H.10.83

hostname "ProCurve Switch 2650"
interface 1
   no lacp
exit
interface 2
   no lacp
exit
interface 3
   no lacp
exit
interface 4
   no lacp
exit
interface 5
   no lacp
exit
interface 6
   no lacp
exit
interface 7
   no lacp
exit
interface 8
   no lacp
exit
interface 9
   no lacp
exit
interface 10
   no lacp
exit
snmp-server community "public" Unrestricted
vlan 1
   name "DEFAULT_VLAN"
   untagged 11-50
   ip address dhcp-bootp
   no untagged 1-10
   exit
vlan 100
   name "success"
   untagged 1-10
   exit
vlan 200
   name "fail"
   exit
aaa authentication port-access eap-radius
radius-server host 192.168.2.60 key test
aaa port-access authenticator 1-10
aaa port-access authenticator 1 unauth-vid 200
aaa port-access authenticator 2 unauth-vid 200
aaa port-access authenticator 3 unauth-vid 200
aaa port-access authenticator 4 unauth-vid 200
aaa port-access authenticator 5 unauth-vid 200
aaa port-access authenticator 6 unauth-vid 200
aaa port-access authenticator 7 unauth-vid 200
aaa port-access authenticator 8 unauth-vid 200
aaa port-access authenticator 9 unauth-vid 200
aaa port-access authenticator 10 unauth-vid 200
aaa port-access authenticator active

/ etc / freeradius / users:

<...>
testuser User-Password := test
        Tunnel-Type = VLAN,
        Tunnel-Medium-Type = IEEE-802,
        Tunnel-Private-Group-Id = "100"
<...>

/etc/freeradius/radiusd.conf:

<...>
client switch {
        ipaddr          = 10.0.10.29
        secret          = test
        require_message_authenticator = no
        nastype     = other
}
<...>

そして、私はこのマニュアルを使って、Windowsで8021xを有効にしました:

http://windows.microsoft.com/en-us/windows/enable-802-1x-authentication#1TC=windows-7 

しかし、ログに記録されたユーザーのクレデンシャルの使用を無効にしました。

したがって、ユーザーの資格情報が正しい場合、このメッセージは/var/log/freeradius/radius.logにあります

tail -f /var/log/freeradius/radius.log
Fri Sep  5 12:54:14 2014 : Auth: Login OK: [testuser/<via Auth-Type = EAP>] (from client switch port 0 via TLS tunnel)
Fri Sep  5 12:54:14 2014 : Auth: Login OK: [testuser/<via Auth-Type = EAP>] (from client switch port 1 cli b4-99-ba-5a-bb-65)

そして私のスイッチで私は得ました:

ProCurve Switch 2650(eth-1)# sh vlans ports 1

 Status and Counters - VLAN Information - for ports 1

  802.1Q VLAN ID Name         Status       Voice
  -------------- ------------ ------------ -----
  100            success      Port-based   No

クレジットが正しくない場合:

Fri Sep  5 12:56:06 2014 : Auth: Login incorrect: [sasdasd/<via Auth-Type = EAP>] (from client switch port 0 via TLS tunnel)
Fri Sep  5 12:56:06 2014 : Auth: Login incorrect: [sasdasd/<via Auth-Type = EAP>] (from client switch port 1 cli b4-99-ba-5a-bb-65)


ProCurve Switch 2650(eth-1)# sh vlans ports 1

 Status and Counters - VLAN Information - for ports 1

  802.1Q VLAN ID Name         Status       Voice
  -------------- ------------ ------------ -----
  200            fail         Port-based   No

たぶんあなたはWindowsで8021xを有効にしていませんか?これがあなたのお役に立てば幸いです。


ねえ、男、ありがとう!それは大歓迎です!しかし、私はWindowsでdot1xを有効にするためにあらゆることを行いました。接続しようとしているスイッチポートのデフォルトのタグなしVLANとしてVLAN 100を選択したことに気づきました。それは私にとってもそうです。成功すると、タグなしのVLANがスイッチポートに構成されます。しかし、ポートのタグなしVLANを1に設定して、RADIUS経由でVLAN 100を割り当てようとするとどうなるでしょうか。それはあなたのために働きますか?異なるTunnel-Private-Group-Id値を持つ複数の異なるユーザーがいる場合はどうなりますか?
Alex

1
わかりました:)私は仕事から逃れたところです。誰もあなたを助けてくれないのなら、私は月曜日にこれをやろうとします(私のテストラボにアクセスできるとき、残念ながらそれは隔離されています)
pyatka

1
まだ成功していません... MAC-authはうまく機能しますが(ポートはタグなしのVLANの目標に設定されます)、8021x(またはMAC-authの両方で)は機能しません-調整可能なすべての組み合わせで;-) I`別のクライアントOS(ウィンドウではない)でも同じことを実行しようとします。これが鍵になるかもしれません。また、それは...私は、radius-トラフィックのダンプ、およびihmoを持っているので、すべてのメッセージが正しいように思える、非常に奇妙に見える
pyatka

2

うわー、私はこれを考えたことはありません。それは単なるランダムなソリューションでした。

したがって、問題はのauthorize私のdefaultサイト構成のセクションにありました/etc/raddb/sites-enabled/default。それは一種のデフォルトでした。私はそれがどうなっているのか本当にわかりません(もし皆さんが知っているなら、コメントしてください)、それについていくつかの調査を行います。ここにあります:

eap {
    ok = return
}

これをコメントアウトして、次のものに置き換えました:

eap

私はこれ以上これを機能させることを望んでいませんでした、そして私は再接続しました...そしてそれは起こりました、ただランダムにそして今とても興奮しています!VLANを動的に割り当てました:

デバッグ:

0001:03:15:51.07 RAD  mRadiusCtr:ACCESS REQUEST id: 194 to 192.168.1.27,
   session: 56, access method: PORT-ACCESS, User-Name: dot1x,
   Calling-Station-Id: dead00-00beef, NAS-Port-Id: 10, NAS-IP-Address:
   192.168.100.17.
0001:03:15:51.10 RAD  tRadiusR:ACCESS ACCEPT id: 194 from 192.168.1.27 received.
0001:03:15:51.10 1X   m8021xCtrl:Port 10: received Success for client
   dead00-00beef, finished authentication session.
0001:03:15:51.10 1X   m8021xCtrl:Port: 10 MAC: dead00-00beef RADIUS Attributes,
   vid: 100.
0001:03:15:51.10 1X   m8021xCtrl:Port 10: starting session for client
   dead00-00beef.

SW # show port-access authenticator 10 vlan -未承認のVLAN 200と承認済みのVLAN 150が引き続き表示されます

Port Access Authenticator VLAN Configuration

  Port-access authenticator activated [No] : Yes
  Allow RADIUS-assigned dynamic (GVRP) VLANs [No] : No

       Access  Unauth  Auth
  Port Control VLAN ID VLAN ID
  ---- ------- ------- -------
  10   Auto    200     150

SW # show vlans ports 10 detail -ポート10のタグなしVLANは、 VLAN 100

 Status and Counters - VLAN Information - for ports 10

  VLAN ID Name                 | Status     Voice Jumbo Mode
  ------- -------------------- + ---------- ----- ----- --------
  100     VLAN100              | Port-based No    No    Untagged

SW # show port-access authenticator

  Port Access Authenticator Status

  Port-access authenticator activated [No] : Yes
  Allow RADIUS-assigned dynamic (GVRP) VLANs [No] : No

       Auths/  Unauth  Untagged Tagged           % In  RADIUS Cntrl
  Port Guests  Clients VLAN     VLANs  Port COS  Limit ACL    Dir
  ---- ------- ------- -------- ------ --------- ----- ------ -----
  10   1/0     0       100      No     No        No    No     both

また、機能させるには、スイッチ上で必要なすべてのVLANを作成する必要があります。そうしないと、次のようなものが得られます。

W 09/12/14 12:47:57 02400 dca: 8021X client, RADIUS-assigned VID validation
            error. MAC DEAD0000BEEF port 10 VLAN-Id 0 or unknown.

そして、Windowsはただ言うだけAuthentication failedです。

GVRPが有効になっていて、aaa port-access gvrp-vlans設定さunknown-vlans learnれていて、インターフェイス10 にも明示的に設定されているにもかかわらず、不明なVLANで動作するようにはなりませんでしたが、まあ... nvm。


1

次のコマンドを追加する必要があります。

aaa port-access authenticator 10 auth-vid 150

これは、RADIUSから異なる値を取得しない限り、ポート10が認証済みデバイスにauth-vidが割り当てられたVLANを使用することをスイッチに通知します。これがないと、構成されたポート値を使用し、RADIUSが提供するVLAN割り当てを無視します。

私はいくつかの掘り出し物をしました、そして私が保存したHPドキュメントの1つでこの一口を見つけました:

RADIUSサーバーが、802.1Xオーセンティケーターポートに接続されている認証済みサプリカントのVLANを指定している場合、このVLAN割り当ては、オーセンティケーターポートで構成されている承認済みクライアントVLAN割り当てをオーバーライドします。これは、両方のVLANがタグなしであり、スイッチがポートごとにタグなしVLANメンバーシップを1つしか許可しないためです。たとえば、認証されたサプリカントをVLAN 20に配置するようにポート4を設定したとします。RADIUSサーバーがサプリカント「A」を認証し、このサプリカントをVLAN 50に割り当てると、クライアントセッションの間、ポートはVLAN 50にアクセスできます。クライアントがポートから切断されると、ポートはこれらの割り当てをドロップし、静的に構成されているVLANメンバーシップのみを使用します。


残念ながら、それでも機能しません。RADIUS 150ではなくVLAN 150を割り当てます
Alex

このような問題のトラブルシューティング中に、構成に複数のエラーがある可能性があることに注意してください。これは他の出力(show loggingまたはshow port-access authenticatorたとえば)を変更しますか?これを以前に試した他の変更と組み合わせましたか?おそらくあなたが除外したものが必要でしたが、作業する前に別のピースも欠けていました。
YLearn

ええ、私は組み合わせようとしました..表示コマンドはまだ同じ動作/出力を示します もう何も考えられない。この特定のコマンドはまったく問題ではないと思います。RADIUSが割り当てたVLANの次に優先順位が高く、何も変更しません。IMOの問題は、スイッチがVLANのRADIUS属性を取得しないか、スイッチが処理されないか、何らかの理由で不正であることです。:私は設定であることを、どのように見えるかの単純な意味integratingit.wordpress.com/2012/07/05/...
アレックス・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.