例:VXLAN のグループベース ポリシーを使用したマイクロおよびマクロ セグメンテーション
VXLAN-GBP
概要
たとえば、GBP(グループベースのポリシー)を使用して、マイクロおよびマクロのセグメンテーションを実現し、中央ルーティングされたブリッジング(CRB)とエッジルーティングされたブリッジング(ERB)の両方のVXLANアーキテクチャでデータとアセットを保護できます。GBPは基礎となるVXLANテクノロジーを活用し、ロケーションに依存するエンドポイントのアクセス制御を提供します。GBPにより、企業ネットワークドメイン全体に一貫したセキュリティポリシーを実装できます。GBPを使用することでネットワーク設定を簡素化でき、すべてのスイッチに大量のファイアウォールフィルターを設定する必要がなくなります。GBPは、エンドポイントやユーザーのロケーションに関係なく、ネットワーク全体でセキュリティグループポリシーを一貫して適用することで、水平方向の脅威をブロックします。
VXLAN-GBP は、VXLAN ヘッダーの予約済みフィールドを活用して、拡張可能なグループ タグ(SGT)として使用します。この 16 ビット SGT フィールドは、イングレスで GBP ファイアウォール フィルター ルールを使用して VXLAN フレームに割り当てられた(送信元)GBP タグを伝送します。
エグレスでは、GBPファイアウォールフィルタールールが宛先GBPタグを割り当て、別のGBPファイアウォールフィルターがこれらのタグを一致条件として使用してポリシーを適用します。
SGT の使用は、インターフェイスや MAC アドレスを直接使用するよりも堅牢です。SGT は、静的に割り当てるか(インターフェイスごとまたは MAC ごとにスイッチを設定することによって)、RADIUS サーバーで設定し、ユーザの認証時に 802.1X を介してスイッチにプッシュすることができます。
VXLAN-GBP によって可能になるセグメンテーションは、基盤となるネットワーク トポロジーに依存しないネットワーク アクセス ポリシーを実際に作成する方法を提供するため、キャンパス VXLAN 環境で特に役立ちます。ネットワークアプリケーションおよびエンドポイントデバイス間のセキュリティポリシーの開発における設計と実装のフェーズを簡素化します。
VXLAN-GBP 規格の詳細については、IEEE RFC、 I-D.draft-smith-vxlan-group-policy を参照してください。
図 1 は、VXLAN ヘッダーのスケーラブル グループ タグ(グループ ポリシー ID)を示しています。

表 1 は、異なるスイッチと Junos OS リリースに対する VXLAN-GBP サポートを示しています。
Junos リリース | VXLAN-GBP 対応スイッチ |
---|---|
Junos OSリリース21.1R1以降 |
EX4400-24P、EX4400-24T、EX4400-48F、EX4400-48P、EX4400-48T |
Junos OSリリース21.2R1以降 |
EX4400-24MPおよびEX4400-48MP |
Junos OSリリース21.4R1以降 |
|
Junos OSリリース22.4R1以降 |
|
Junos OSリリース23.2R1以降 |
|
Junos OSリリース24.2R1以降 |
|
Junos OSリリース24.4R1以降 |
|
表 2 から 表 4 は、Junos OS リリース間の VXLAN-GBP 実装の違いをまとめたものです。
Junos OS リリース 21.1R1〜22.3RのGBPn | Junos OS リリース 22.4R1 以降の GBP |
---|---|
set firewall family ethernet-switching filter filter_name term term_name from match_conditions set firewall family ethernet-switching filter filter_name term term_name then gbp-src-tag/gbp-dst-tag tag |
set firewall family any filter filter_name micro-segmentation set firewall family any filter filter_name term term_name from match_conditions set firewall family any filter filter_name term term_name then gbp-tag tag
手記:
|
Junos OS リリース 21.1R1〜22.3RのGBPn | Junos OS リリース 22.4R1 以降の GBP |
---|---|
|
|
Junos OS リリース 21.1R1〜22.3RのGBPn | Junos OS リリース 22.4R1 以降の GBP |
---|---|
set firewall family ethernet-switching filter filter_name term term_name from gbp-dst-tag gbp_tag set firewall family ethernet-switching filter filter_name term term_name from gbp-src-tag gbp_tag set firewall family ethernet-switching filter filter_name term term_name then discard
手記:
ポリシーの適用は、エグレスエンドポイントでのみサポートされます。GBPを有効にするCLIステートメント: set chassis forwarding-options vxlan-gbp-profile |
set firewall family any filter filter_name term term_name from gbp-dst-tag gbp_tag set firewall family any filter filter_name term term_name from gbp-src-tag gbp_tag set firewall family any filter filter_name term term_name then discard
手記:
姓「ethernet-switching」は姓「any」に置き換えられました。
手記:
ポリシーの適用は、GBPが有効な場合、エグレスでは常に有効になりますが、イングレスではオプションです。
|
Junos OS リリース 23.2R1 以降:
|
|
Junos OS リリース 24.2R1 以降:
|
|
Junos OS リリース 24.4R1 以降:
|
Junos OS リリース 22.4R1 以降の GBP
- 一致条件
- L4 一致条件
- GBP プロファイル
- 明示的なデフォルトの破棄
- ingressおよびタグ伝播時のポリシー適用
- CRBおよびERBオーバーレイの要件
- ホスト発パケット
- GBP MAC/IPインタータギング
- フィルターベースのフォワーディング
- 802.1X GBP タグ割り当てへの SGT の割り当て
- SGT 割り当ての計画
- 位相幾何学
一致条件
表 5 は、Junos OS リリース 22.4R1 以降でサポートされている GBP 一致条件を示しています。
一致条件の説明 | |
---|---|
|
IPv4/IPv6の送信元または宛先アドレス/プレフィックスリストに一致します。
手記:
Junos OS リリース 24.4R1 以降、IP アドレス条件を条件順に評価するか、最長プレフィックス一致で評価するかを指定できます。デフォルトでは、IP アドレス項目は Junos OS リリース 24.4R1 以降の最長プレフィックス一致によって評価されます。Junos OS リリース 24.4R1 より前のリリースでは、IP アドレスの用語は用語順にのみ評価されます。 |
|
送信元または宛先のMACアドレスを照合します。 |
|
インターフェイス名に一致します。
手記:
Junos OS リリース 23.4R1以降では、1つのファイアウォールフィルター条件内で複数の set firewall family any filter test term t1 from interface ge-0/0/0 set firewall family any filter test term t1 from interface ge-0/0/1 set firewall family any filter test term t1 from interface ge-0/0/2
手記:
Junos OS リリース 23.4R1以降では、1つのファイアウォールフィルター条件で、 set firewall family any filter test term t1 from interface ge-0/0/0 set firewall family any filter test term t1 from vlan-id 2000 |
|
VLAN ID に一致します。
手記:
EX4100スイッチではサポートされていません
手記:
Junos OS リリース 23.4R1以降では、 <vlan_list> および <vlan_range> オプションがサポートされています。例えば: set firewall family any filter test term t1 from vlan-id 2000-2100 set firewall family any filter test term t1 from vlan-id [3000 3010 3020]
手記:
Junos OS リリース 23.4R1以降では、単一のファイアウォールフィルター条件で、この一致条件を |
以下は、MACアドレスを使用したGBPタグ割り当ての例です。
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term tag100 from mac-address 00:00:5E:00:53:10 set firewall family any filter f1 term tag100 then gbp-tag 100 set firewall family any filter f1 term tag200 from mac-address 00:00:5E:00:53:20 set firewall family any filter f1 term tag200 then gbp-tag 200 set firewall family any filter f1 term tag300 from mac-address 00:00:5E:00:53:30 set firewall family any filter f1 term tag300 then gbp-tag 300
あらゆる場所(イングレスとエグレスの両方)で同じGBPタグ割り当て設定をすることをお勧めします。
上記の例のイングレスでは、MAC アドレス 00:00:5E:00:53:10
からのパケットにはタグ 100、MAC アドレス 00:00:5E:00:53:20
からのパケットにはタグ 200、MAC アドレス 00:00:5E:00:53:30
からのパケットにはタグ 300 が割り当てられています。
同じタグ割り当てを使用して、宛先MACアドレスをエグレスで宛先タグにマッピングします。上記の例のエグレスでは、MAC アドレス 00:00:5E:00:53:10
へのパケットにはタグ 100、MAC アドレス 00:00:5E:00:53:20
へのパケットにはタグ 200、MAC アドレス 00:00:5E:00:53:30
へのパケットにはタグ 300 が割り当てられています。
以下は、IPアドレスを使用したGBPタグ割り当ての例です。
set firewall family any filter f2 micro-segmentation set firewall family any filter f2 term t1 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f2 term t1 then gbp-tag 400
GBPタグ付けフィルターに複数のIPアドレス条件が含まれる例を次に示します。
set firewall family any filter f3 micro-segmentation set firewall family any filter f3 term t1 from ip-version ipv4 address 10.0.0.0/22 set firewall family any filter f3 term t1 then gbp-tag 10 set firewall family any filter f3 term t2 from ip-version ipv4 address 10.0.0.0/24 set firewall family any filter f3 term t2 then gbp-tag 20
上記のフィルターのデフォルト動作は、Junos OS リリース 24.4R1 で変更されました。Junos OS リリース 24.4R1 より前のバージョンでは、IP アドレスが 10.0.0.231 などの着信パケットには、フィルターの最初の条件(t1)に一致するため、GBP タグ 10 が割り当てられていました。Junos OS リリース 24.4R1 以降では、第 2 項(t2)がより具体的な一致を提供するため、同じ着信パケットに GBP タグ 20 が割り当てられます。
この新しい既定の動作が気に入らず、ファイアウォールの条件の順序に厳密に従う従来の動作を保持する場合は、フィルターを次のように構成します。
set firewall family any filter f3 no-longest-prefix-match
GBPタグ付けフィルターを最初に作成するときに、 no-longest-prefix-match
パラメータを設定します。既存の GBP タグ付けフィルターでは、このパラメーターを切り替えないでください。
以下は、重複して一致する用語の例です。
set firewall family any filter f4 micro-segmentation set firewall family any filter f4 term t1 from ip-version ipv4 address 172.16.0.0/24 set firewall family any filter f4 term t1 then gbp-tag 10 set firewall family any filter f4 term t2 from ip-version ipv4 address 172.16.0.0/24 set firewall family any filter f4 term t2 then gbp-tag 20
上記の例では、IPアドレス172.16.0.0/24でT1とT2の両方が一致しますが、異なるGBPタグが割り当てられています。この状況では、最初に一致した用語のみが評価されます。2 番目以降の一致語は無視されます。これは、最長プレフィックス一致のフィルターを設定しているかどうかに関係なく当てはまります。条件 t1 が有効になり、一致するパケットに GBP タグ 10 が割り当てられます。
GBPポリシー適用の例を次に示します。
set firewall family any filter gbp-policy term t100-200 from gbp-src-tag 100 set firewall family any filter gbp-policy term t100-200 from gbp-dst-tag 200 set firewall family any filter gbp-policy term t100-200 then accept set firewall family any filter gbp-policy term t100-300 from gbp-src-tag 100 set firewall family any filter gbp-policy term t100-300 from gbp-dst-tag 300 set firewall family any filter gbp-policy term t100-300 then discard
GBP 送信元タグ 100 と GBP 宛先タグ 200 のパケットは、条件 t100-200 で一致し、受け入れられます。GBP送信元タグ100とGBP宛先タグ300を持つパケットは、用語 t100-300 で一致し、破棄されます。
Junos OS リリース 23.4R1 以降:
-
EX4400、EX4650、QFX5120スイッチは、GBPフィルターのVLANリストと範囲をサポートします。
-
EX4400、EX4650、QFX5120スイッチは、GBPフィルターの1つの条件で複数のVLANエントリーをサポートしています。
-
EX4400、EX4650、QFX5120スイッチは、GBPフィルターの1つの条件で複数のインターフェイスエントリーをサポートしています。
-
EX4400、EX4650、QFX5120スイッチは、GBPフィルターの1つの条件でインターフェイスとVLANの組み合わせをサポートします。
-
EX4100スイッチは、GBPフィルターの1つの条件で複数のインターフェイスエントリーをサポートしています。
例えば:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id [10-30] set firewall family any filter f1 term t1 then gbp-tag 100
set firewall family any filter f2 micro-segmentation set firewall family any filter f2 term t1 from interface xe-0/0/1 set firewall family any filter f2 term t1 from interface xe-0/0/2 set firewall family any filter f2 term t1 from interface xe-0/0/3 set firewall family any filter f2 term t1 from interface xe-0/0/4 set firewall family any filter f2 term t1 then gbp-tag 200
GBPタギングの優先度は以下の通りで、ip-versionが最も高い優先度です。
-
ip-version ipv4
<ip address> | <prefix-list> -
ip-version ipv6
<ip address> | <prefix-list> -
mac-address
<mac address> -
interface
<interface_name> vlan id <vlan id> -
vlan-id
<vlan id> -
interface
<interface_name>
デフォルトでは、ポリシーの適用はエグレス側で行われます。イングレスでポリシーを適用する場合は、 イングレスおよびタグ伝播でのポリシー適用を参照してください。
L4 一致条件
Junos OS リリース 23.2R1 以降、GBP フィルターの一致条件を拡張して、L4 一致を含めるようにしました。これにより、アプリケーショントラフィックを制御するための細分性がさらに高くなります。 表 6 を参照してください。
MACおよびIP GBPタグ付きパケットのポリシー適用マッチ | 詳細 |
---|---|
ip-version ipv4 destination-port dst_port |
TCP/UDP宛先ポートに一致します。 |
ip-version ipv4 source-port src_port |
TCP/UDP 送信元ポートに一致します。 |
ip-version ipv4 ip-protocol ip-protocol |
IPプロトコル タイプに一致します。 |
ip-version ipv4 is-fragment |
パケットがフラグメントである場合に一致します。 |
ip-version ipv4 fragment-flags flags |
フラグメント フラグに一致します(シンボリック形式または 16 進数形式)。 |
ip-version ipv4 ttl value |
MPLS/IP TTL値に一致します。 |
ip-version ipv4 tcp-flags flags |
Match the TCP flags (in symbolic or hex format) - (イングレスのみ)。 |
ip-version ipv4 tcp-initial |
TCP接続の最初のパケットに一致 - (イングレスのみ)。 |
ip-version ipv4 tcp-established |
確立されたTCP接続のパケットに一致します。 |
ip-version ipv6 destination-port dst_port |
TCP/UDP宛先ポートに一致します。 |
ip-version ipv6 source-port src_port |
TCP/UDP送信元ポートに一致します。 |
ip-version ipv6 next-header protocol |
次のヘッダー プロトコル タイプに一致します。 |
ip-version ipv6 tcp-flags flags |
TCPフラグに一致(シンボリック形式またはヘキサ形式)イングレスのみ。 |
ip-version ipv6 tcp-initial |
TCP接続の最初のパケットに一致します。 |
ip-version ipv6 tcp-established |
確立されたTCP接続のパケットに一致します。 |
手記:
L4フィルターは、 表1に示すEX4100、EX4400、EX4650、QFX5120シリーズスイッチでサポートされています。これらの一致条件は、EX92xxスイッチではサポートされていません。 |
|
手記:
L4フィルターはデフォルトでサポートされていますが、サポートされるGBPスケールを下げることができます。EX4650、QFX5120-32C、QFX5120-48YスイッチでL4フィルターを無効にするには: このセット(および対応する delete)コマンドを使用すると、パケット転送エンジン(PFE)が再起動します。 |
GBP プロファイル
Junos OS リリース 23.2R1 以降では、 表 7 に示すように、vxlan-gbp-l2-profile と vxlan-gbp-l3-profile がサポートされています。
プロファイル | サポートされているスイッチ |
---|---|
vxlan-gbp-profile |
|
vxlan-gbp-l2-profile そして vxlan-gbp-l3-profile |
|
UFT プロファイルは、さまざまな GBP フィルターに割り当てるテーブル サイズを決定します。ネットワークニーズに最も適したプロファイルを選択してください。
これらのプロファイルをいつ使用するかについては、 GBPプロファイルを理解する を参照してください。
テーブル サイズの設定については、「 vxlan-gbp-profile」、「 vxlan-gbp-l2-profile」、 および「vxlan-gbp-l3-profile 」を参照してください。
set chassis forwarding-options vxlan-gbp-profile
set chassis forwarding-options vxlan-gbp-l2-profile
set chassis forwarding-options vxlan-gbp-l3-profile
GBPプロファイルを設定または削除すると、パケット転送エンジン(PFE)が自動的に再起動します。
オンライン シャーシでGBPプロファイルを設定または削除する場合は、オンライン シャーシのすべてのメンバーを再起動する必要があります。 request system reboot all-members
明示的なデフォルトの破棄
一致する条件がない場合、デフォルトアクションはパケットを受け入れることです。Junos OS リリース 24.2R1 以降、どの条件にも一致しないパケットに対して、明示的なデフォルトの破棄アクションを指定できます。 表 8 を参照してください。
明示的なデフォルトの破棄 |
形容 |
---|---|
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then accept set firewall family any filter f1 term t2 then discard |
破棄アクションを含み、一致条件を含まないフィルター項(例:t2)を作成できます。これは、シーケンスの前の条件のいずれにも一致しないパケットのキャッチオールとして役立ちます。 この明示的なデフォルトの破棄アクションは、ブロードキャスト、マルチキャスト、ホスト発信、または不明なユニキャストパケットには適用されません。これらのタイプのトラフィックは常に受け入れられます。 明示的な破棄アクションを設定しない場合、デフォルトアクションは以前のリリースと同様にパケットを受け入れることです。 |
手記:
表1に示すEX4100、EX4400、EX4650、QFX5120シリーズスイッチでは、明示的なデフォルトの破棄がサポートされています。EX92xxスイッチでは、明示的なデフォルトの破棄はサポートされていません。 |
ingressおよびタグ伝播時のポリシー適用
Junos Release 22.4R1以降、ポリシーの適用をingressにより近くで実施できるようになりました。Ingressの強制は、そうでなければEgressで破棄されるタグ付きパケットをIngressで破棄することで、ネットワーク帯域幅を節約します。ingressまたはそれに近い位置でポリシーの適用をサポートするため、EVPNタイプ2およびタイプ5ルート内の拡張BGPコミュニティを使用して、MACおよびIP-MACベースのタグをネットワーク全体に伝搬します。これらのタイプのルートについては、 EVPNタイプ2およびタイプ5 ルートを参照してください。
EVPN ルート アドバタイズメントは、新しいホストからパケットを受信したときの MAC-IP 学習などを通して、EVPN ルートのインストール(または変更)によってトリガーされます。この場合、送信元 IP ルートは evpn.0 データベースにインストールされ、EVPN タイプ 2 アドバタイズメント(割り当てられている場合は GBP タグを含む)がすべての eBGP ピアに送信されます。
これらのアドバタイズメントがネットワークを通じてリモートエンドポイントに伝播された後、リモートエンドポイントは、リモートイングレスで受信したパケットに対してGBPファイアウォールフィルターの決定を行うのに十分な情報を得ます。パケットがイングレスで受信されると、リモートエンドポイントは宛先ルートを検索し、EVPNタイプ2アドバタイズメントで以前に受信した宛先GBPタグを取得できます。宛先GBPタグを装備したリモートエンドポイントは、その後、イングレスパケットに対してGBPポリシー適用の決定を下すことができます。
GBPタグはEVPNタイプ2ルートアドバタイズメントを使用して伝播されるため、タグ伝播は必然的にMACまたはIPアドレスごとに実行されます。ただし、これはタグの割り当てとは関係なく、VLANやインターフェイスなど、サポートされている方式のいずれかを継続することができます。
例えば、インターフェイスに基づいてタグの割り当てを設定し、新しいホストからのパケットがそのインターフェイスで受信された場合、そのインターフェイスに割り当てられたタグは、受信パケットの送信元MACおよびIPアドレスとともに、タイプ2ルートアドバタイズで伝送されます。その後、別のホストからのパケットが同じインターフェイスで受信された場合、同じタグが、この異なるホストの送信元MACおよびIPアドレスとともに、別のタイプ2ルートアドバタイズで伝播されます。
境界リーフ スイッチが GBP タグ付きの EVPN タイプ 2 アドバタイズメントを受信すると、スイッチはタイプ 2 ルートをインストールし、その GBP タグを持つ EVPN タイプ 5 アドバタイズメントを、他のデータ センターのボーダー リーフ スイッチ(DC 間トラフィック用)などの eBGP ピアに対して生成します。このタイプ 5 ルートには、/32 IP アドレスと GBP タグが含まれています。
このタイプ 2 からタイプ 5 への GBP タグ伝搬はサポートされていますが、タイプ 5 からタイプ 2 への GBP タグ伝搬はサポートされていません。
マルチホーミング トポロジーでは、マルチホーミング メンバー間で構成を同一に保ちます。
イングレスノードでポリシーの適用を実行するには、以下のステートメントを有効にする必要があります。イングレスの適用が有効または無効になると、パケット転送エンジン(PFE)が再起動します。
set forwarding-options evpn-vxlan gbp ingress-enforcement
EVPNタイプ5アドバタイズメントを使用したIPプレフィックスルートのタグ伝播
Junos OS リリース 24.2R1 以降、EVPN タイプ 5 アドバタイズメントを使用した IP プレフィックス ルートの GBP タグ伝播がサポートされています。このリリース以前は、GBPタグ伝播はデータプレーンでのMAC-IP学習によってのみトリガーされていました。つまり、タグ伝播は/32 IPルートに対してのみ発生していました。
IP プレフィックス ルートのサポートにより、たとえば、インターフェイスを作成して set routing-instances <instance> protocols evpn ip-prefix-routes advertise direct-nexthop
(ダイレクト EVPN ルート)のアドバタイズメントを有効にした場合に、タグの伝播を実行できるようになりました。そのIPプレフィックスにGBPタグも割り当てた場合、後続のEVPNタイプ5アドバタイズメントにGBPタグが含まれるため、MAC-IP学習が行われる前でもタグが伝播されます。
一般に、EVPNタイプ5アドバタイズメント内でのGBPタグ伝播は、IPプレフィックスにタグを割り当てるGBPフィルタを作成し、そのIPプレフィックスルートがevpn.0ルーティングデータベースにインストールされるたびに発生します。(GBPフィルターは、ルートのインストール前またはインストール後に作成できます。
スイッチがタイプ 5 アドバタイズメントを生成しても、スイッチが新しいホストを学習すると(たとえば、データプレーンの MAC-IP ラーニングを通じて)、スイッチはタイプ 2 アドバタイズメントも生成します。多くの場合、EVPN トラフィックを削減するためには、このような冗長な /32 アドバタイズメントを抑制することが望ましい場合があります。そのためには、/32ルートを拒否するBGPポリシーを作成します。
例えば、次の例では、IPv4 ホストからの /32 ルートを拒否する T5_EXPORT というポリシーを fm_v4_host という条件で作成します。
set policy-options policy-statement T5_EXPORT term fm_v4_host from route-filter 0.0.0.0/0 prefix-length-range /32-/32 set policy-options policy-statement T5_EXPORT term fm_v4_host then reject
スイッチがIPプレフィックスルートおよび関連するGBPタグに対してEVPNアドバタイズメントを受信し、その同じIPプレフィックスルートに異なるタグを割り当てるGBPフィルターを設定している場合は、ローカルで設定されたGBPフィルターのGBPタグが優先されます。スイッチは、受信したEVPNアドバタイズメントのGBPタグをローカルに割り当てられたGBPタグに置き換えてから、EVPNルートを再アドバタイズします。
IP プレフィックスの GBP フィルターを作成し、その GBP フィルターをルーティング インスタンスに関連付けると、IP プレフィックス タグの伝播が自動的に有効になります。例えば:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term tag300 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f1 term tag300 then gbp-tag 300 set routing-instances <routing-instance> forwarding-options evpn-vxlan gbp ingress-src-tag filter f1
ここで、 <routing-instance> はフィルターを適用するルーティング インスタンスの名前です。
IP プレフィックス ルートが GBP タグに関連付けられると、その IP プレフィックス ルートの show route
コマンドの出力に GBP タグが表示されます。例えば:
show route match-prefix 5:* extensive bgp.evpn.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) Restart Complete 5:10.255.1.1 (1 entry, 1 announced) <trimmed> gbp-tag:0L:53 router-mac:52:54:00:00:92:f0 Import Accepted Route Label: 9100 Overlay gateway address: 0.0.0.0 ESI 00:00:00:00:00:00:00:00:00:00 Localpref: 100 Router ID: 10.255.1.1 Secondary Tables: VRF-100.evpn.0 Thread: junos-main Indirect next hops: 1 <trimmed>
show route table VRF-100.inet.0 match-prefix 10.1.1* extensive VRF-100.inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) Restart Complete 10.1.1.3/32 (1 entry, 1 announced) TSI: KRT in-kernel 10.1.1.3/32 -> {indirect(1048574)} Opaque data client: EVPN-Type5 Opaque data: tlv_type :32820 Type5 gbp_tag 53. Address: 0xa15f928 Opaque-data reference count: 2 Page 0 idx 0, (group DC2_TORS type External) Type 1 val 0xa32fd40 (adv_entry) Advertised metrics: Nexthop: Self AS path: [65201] 65200 I Communities: gbp-tag:0L:53 Advertise: 00000001 Path 10.1.1.3 <trimmed>
ルーティング インスタンスとGBPフィルター間のバインディングを確認するには、 show evpn gbp-src-tag filter-bind routing-instance
コマンドを使用します。
IPプレフィックスルートからGBPタグへのマッピングを確認するには、 show evpn gbp-src-tag ip-prefix inet
コマンドを使用します。
この機能には、次のような制限があります。
-
GBPフィルターは1つのルーティング インスタンスにのみ関連付けることができます。同じGBPフィルターを複数のルーティングインスタンスに関連付けることはできません。
-
同じIPプレフィックス一致条件を持つ2つの異なるGBPフィルターを同じルーティング インスタンスに関連付けることはできません。
-
IP ベースの GBP フィルターは、ルーティング インスタンスにのみ関連付けることができます。他のタイプのGBPフィルターを関連付けても効果はありません。
-
この機能は、 表 1 に示す EX4400、EX4650、QFX-5120 シリーズ スイッチでのみサポートされています。
CRBおよびERBオーバーレイの要件
GBP の設定は、中央ルーティングおよびブリッジング (CRB) オーバーレイと Edge ルーティングおよびブリッジング オーバーレイのどちらで実行しているかによって異なります。 表 9 に、これらの違いを示します。
GBP 関数 |
CRBの代表的なアプリケーション |
ERBの典型的なアプリケーション |
例 |
---|---|---|---|
タグ 付け |
イングレスリーフ |
イングレスリーフ |
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from ip-version ipv4 address 172.16.10.0/24 set firewall family any filter f1 term t1 then gbp-tag 10 |
GBP宛先タグを使用しないポリシー適用 |
イングレスまたはエグレスリーフ |
イングレスまたはエグレスリーフ |
set firewall family any filter f2 term t1 from gbp-src-tag 10 set firewall family any filter f2 term t1 then discard |
GBP宛先タグによるポリシー適用 |
イングレススパイン |
イングレスリーフ |
set forwarding-options evpn-vxlan gbp ingress-enforcement set firewall family any filter f3 term t1 from gbp-src-tag 10 set firewall family any filter f3 term t1 from gbp-dst-tag 20 set firewall family any filter f3 term t1 then discard |
エグレスリーフ |
エグレスリーフ |
set firewall family any filter f3 term t1 from gbp-src-tag 10 set firewall family any filter f3 term t1 from gbp-dst-tag 20 set firewall family any filter f3 term t1 then discard |
さらに、CRB オーバーレイで実行している場合は、次の設定を行う必要があります。
追加設定 |
スイッチ |
例 |
---|---|---|
CRB オーバーレイでは、リーフ スイッチはレイヤー 2 ゲートウェイとして機能します。これらのレイヤー 2 ゲートウェイが ARP または NDP エントリーの学習とエージングを管理し、EVPN タイプ 2 MAC-IP ルートをアドバタイズするには、エニーキャスト MAC アドレスで |
すべてのリーフスイッチ |
set protocols l2-learning crb-proxy-mac family inet <proxy-MAC-address>ここで、 <proxy-MAC-address> は、すべてのリーフ スイッチで使用するエニーキャスト MAC アドレスです。上記のコマンドを、すべてのリーフ スイッチで同じ <proxy-MAC-address> で発行します。 |
スパインスイッチがリーフスイッチに代わってEVPNタイプ2 MAC-IPルートをアドバタイズすることは望ましくありません。したがって、この |
スパインスイッチ上のすべてのIRBインターフェイス |
IRB インターフェイスで proxy-macip-advertisement が有効になっている場合は、次の手順で無効にします。delete interfaces irb unit <logical-unit-number> proxy-macip-advertisement |
ホスト発パケット
パケットが IRB(統合型ルーティングおよびブリッジング)インターフェイスから VTEP(仮想トンネル エンドポイント)を介して送信されると、カーネルは VXLAN ヘッダーに送信元 GBP タグを挿入してパケットを送信します。送信元GBPタグ値は、以下のステートメントを使用して設定されます。
set forwarding-options evpn-vxlan host-originated-packets gbp-src-tag gbp-src-tag
GBP MAC/IPインタータギング
デフォルトでは、MACベースのGBPフィルターはスイッチされたトラフィックにのみ適用され、IPベースのGBPフィルターはルーティングされたトラフィックにのみ適用されます。
Junos OS リリース 24.2R1 以降では、MAC ベースの GBP フィルターをルーティングされたトラフィックにも適用でき、IP ベースの GBP フィルターもスイッチされたトラフィックに適用できます。これはMAC/IP相互タギングと呼ばれ、 表1に示す特定のEX4100、EX4400、EX4650、QFX5120シリーズスイッチで有効にできます。
有効にすると、スイッチは次のように対応するエントリを自動的に追加します。
-
MAC ベースの GBP フィルターを作成した場合、その MAC アドレスに一致する最初のパケットが到着すると、スイッチは対応する IP ベースの GBP 割り当てを自動的に作成します。この割り当てでは、元のMACベースのGBPフィルターと同じタグが適用されますが、MACアドレスではなく送信元IPアドレスで一致します。
-
IPベースのGBPフィルターを作成した場合、そのIPアドレスに一致する最初のパケットが到着すると、スイッチは対応するMACベースのGBP割り当てを自動的に作成します。この割り当てでは、元のIPベースのGBPフィルターと同じタグが適用されますが、IPアドレスではなく送信元MACアドレスで一致します。
対応するエントリを作成することで、フローがその後にスイッチングまたはルーティングされるかどうかに関係なく、目的のGBPタグが割り当てられます。
-
フィルター1:MACアドレス52:54:00:00:00:11のトラフィックにGBPタグ100を割り当てます
-
フィルター2:IPアドレス172.16.0.11のトラフィックにGBPタグ200を割り当てる
MAC/IP相互タグ付けを有効にするには:
set forwarding-options evpn-vxlan gbp mac-ip-inter-tagging
mac-ip-inter-taggingオプションを設定または削除すると、パケット転送エンジン(PFE)が自動的に再起動します。
オンライン シャーシで mac-ip-inter-tagging オプションを設定または削除した場合は、オンライン シャーシのすべてのメンバーを再起動する必要があります。 request system reboot all-members
以下に、MAC/IPインタータギングを有効にすると、MACテーブルとIPテーブルの両方に同じGBPタグ100が表示されることがわかります。
show ethernet-switching table MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static, C - Control MAC SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC, B - Blocked MAC) Ethernet switching table : 2 entries, 2 learned Routing instance : default-switch Vlan MAC MAC GBP Logical SVLBNH/ Active name address flags tag interface VENH Index source vlan100 52:54:00:22:22:22 D 100 xe-0/0/8.0 vlan200 52:54:00:44:44:44 D xe-0/0/9.0
show ethernet-switching mac-ip-table MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy, Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote, RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved, B - Blocked, RTS - Dest Route Skipped, RGw - Remote Gateway, GBP - Group Based Policy, RTF - Dest Route Forced, SC - Static Config, P - Probe, NLC - No Local Config, LD - Local Down) Routing instance : default-switch Bridging domain : vlan100 IP MAC Flags GBP Logical Active address address Tag Interface source 10.100.100.100 52:54:00:22:22:22 DL,K,RT,AD 100 xe-0/0/8.0 10.100.100.101 52:54:00:63:0e:40 S,K irb.100 2001:db8::9300:6463:e40 52:54:00:63:0e:40 S,K irb.100
フィルターベースのフォワーディング
Junos OS リリース 24.3R1 以降、GBP タグ付きトラフィックのフィルターベース転送がサポートされます。これは、トラフィックに割り当てられたGBPタグがフィルターで指定されたGBPタグと一致する場合に、指定されたネクストホップにトラフィックを転送する機能です。この機能を使用して、指定されたタグ付きトラフィックに通常のトラフィックとは異なるルーティング処理を適用します。
転送フィルターを作成するには、一致させたい送信元タグと宛先タグ、そして一致させたいトラフィックを転送するネクストホップを指定します。 表 11 を参照してください。
フィルターベースのフォワーディングの例 |
形容 |
---|---|
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip 10.10.1.1 |
デフォルトのルーティング インスタンスを使用して、GBP 送信元タグ 100 と宛先タグ 200 を持つトラフィックを 10.10.1.1 ルートのネクストホップに転送します。 |
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip 10.10.1.0/24 |
デフォルトのルーティング インスタンスを使用して、GBP 送信元タグ 100 と宛先タグ 200 を持つトラフィックを 10.10.1.0/24 ルートのネクストホップに転送します。 |
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip 10.10.1.1 routing-instance VRF-100 |
VRF-100 ルーティング インスタンスを使用して、GBP 送信元タグ 100 と宛先タグ 200 を持つトラフィックを 10.10.1.1 ルートのネクスト ホップに転送します。 |
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136:e378:8000:63bf:3fff:fdd2 |
GBP 送信元タグ 100 と宛先タグ 200 のトラフィックを 2001:db8:4136:e378:8000:63bf:3fff:fdd2 ルートのネクストホップに転送するには、デフォルトのルーティング インスタンスを使用します。 |
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136::/48 |
デフォルトのルーティング インスタンスを使用して、GBP 送信元タグ 100 と宛先タグ 200 を持つトラフィックを 2001:db8:4136::/48 ルートのネクスト ホップに転送します。 |
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then next-ip6 2001:db8:4136:e378:8000:63bf:3fff:fdd2 routing-instance VRF-100 |
VRF-100 ルーティング インスタンスを使用して、GBP 送信元タグ 100 と宛先タグ 200 を持つトラフィックを、2001:db8:4136:e378:8000:63bf:3fff:fdd2 ルートのネクスト ホップに転送します。 |
制限:
|
802.1X GBP タグ割り当てへの SGT の割り当て
この例では、RADIUS サーバに SGT を設定し、GBP 対応アクセス スイッチで 802.1X アクセス コントロールを使用して、一致するエンドポイントがスイッチに接続したときに SGT を受信します。RADIUSサーバは、キャンパス環境でアクセス制御や、VLANの割り当て管理などによく使用されます。
-
シングルセキュアまたはマルチサプリカントモードで802.1X認証を設定する場合、GBPタギングはMACベースになります。シングルサプリカントモードで802.1X認証を設定する場合、GBPタギングはインターフェイスベースになります。
-
IPアドレス、VLAN-ID、およびVLAN-ID+インターフェイスの一致は、802.1Xではサポートされていません。
RADIUS サーバでの SGT の使用に対応するには、AAA サービス フレームワークでサポートされているベンダー固有属性(VSA)を活用する必要があります(これらの VSA は標準の RADIUS 要求応答メッセージの一部として転送され、SGT などの実装固有の情報を処理するための組み込み拡張を提供します)。RADIUSサーバーの正確な構文は、認証方式がMACベースかEAPベースかによって異なります。MAC ベースのクライアントの場合、構成は次のようになります。
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100
EAP ベースのクライアントの場合、SGT は認証時に RADIUS サーバからプッシュされます。設定は次のようになります。
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
Junos OS リリース 23.4R1以降、既存の Juniper-Switching-Filter
に加えて、 Juniper-Group-Based-Policy-Id
と呼ばれる新しいVSAがEX4400、EX4100、EX4650、QFX5120スイッチでサポートされています。
同じクライアントに対して、Juniper-Group-Based-Policy-Id VSA と Juniper-Switching-Filter VSA の両方を一緒に使用しないでください。
両方のVSAが存在し、異なるGBPタグ値が含まれている場合、クライアントは認証されません。
GBPタグは、以下のVSAのいずれかを介してRADIUSから動的に割り当てることができます。
-
Juniper-Switching-Filter
は、GBPフィルターおよびその他のフィルターの一致条件とアクション条件を伝送します。 -
Juniper-Group-Based-Policy-Id
はGBPタグのみを伝送します。
MACおよびインターフェースベースのGBPタグフィルター用の Juniper-Group-Based-Policy-Id
VSAは、以下のようになります。
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = “100”
設定されたGBPタグは、RADIUSサーバーからのVSA(ベンダー固有属性)で指定されたGBPタグの範囲(1〜65535)のゼロ以外の正の値です。
Junos OS リリース 23.4R1以降、GBP機能サポートは、EX4400、EX4100、EX4650、QFX5120スイッチ上の以下のdot1x設定ステートメントにも追加されています。
CLI |
形容 |
---|---|
set protocols dot1x authenticator interface [interface-names] server-fail gbp-tag gbp-tag |
サーバーにアクセスできないときにインターフェイスに適用するGBPタグを指定します。 このオプションは、 |
set protocols dot1x authenticator interface [interface-names] server-reject-vlan gbp-tag gbp-tag |
RADIUSがクライアント認証を拒否した場合に適用するGBPタグを指定します。
|
|
インターフェイスをゲストVLANに移動したときに適用するGBPタグを指定します。
ゲスト VLAN の詳細については、「 802.1X 認証」を参照してください。 |
show dot1x interface detail
またはshow ethernet-switching table
コマンドを使用して、RADIUSからどのGBPタグを受信したかを確認できます。
以下に、 show ethernet-switching table
コマンドの出力例を示します。
> show ethernet-switching table MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC, B - Blocked MAC) Ethernet switching table : 2 entries, 2 learned Routing instance : default-switch Vlan MAC MAC GBP Logical SVLBNH/ Active name address flags tag interface VENH Index source vlan200 00:10:94:00:00:05 D 100 xe-0/2/2.0 vlan200 00:10:94:00:00:06 DR 100 vtep.32769 21.2.0.1
SGT 割り当ての計画
ルールを作成する前に、すべてのエンドポイント(ユーザとデバイス)と割り当てられた SGT 値のテーブルを作成して、スキームを整理すると便利です。以下の表を使用して、ロジックをさらに単純化し、ルールを明確にすることができます。
エンドポイント |
割り当てられた SGT 値 |
---|---|
正社員(PE) |
100 |
請負業者(CON) |
200 |
セキュリティスタッフ(SS) |
300 |
セキュリティカム(CAM) |
400 |
エンジニアリングサーバー(ES) |
500 |
RADIUS サーバーと SGT、EX4400 と VXLAN のパケット ヘッダー、アクセス ポリシーを管理する中央ファイアウォール フィルターの関係性から、マトリクスは値を整理するのに便利な方法になります。次の表では、最初の列にユーザー ロールを一覧表示し、最初の行にデバイスの種類を一覧表示して、アクセス マトリックスを作成します。各ユーザ ロールとデバイス タイプに SGT が割り当てられ、その情報で RADIUS 設定が更新されます。
この例では、正社員(PE)、契約社員(CON)、セキュリティスタッフ(SS)の3種類の従業員を使用しています。また、ES(Eng Server)とCAM(Security Camera)の2種類のリソースを使用します。アクセスが許可されていることを示すには Y を使用し、アクセスがブロックされている場合には N を使用します。このテーブルは、ポリシーでさまざまなファイアウォール ルールを作成する際の有用なリソースとして機能し、アクセス マッピングをシンプルかつ明確にします。
ES(SGT 500)、 | CAM(SGT 400)、 | PE(SGT 100)、 | CON(SGT 200)、 | SS(SGT 300) | |
---|---|---|---|---|---|
PE(SGT 100) | Y | N | Y | Y | N |
CON(SGT 200) | N | N | Y | N | N |
SS(SGT 300) | N | Y | N | N | Y |
位相幾何学
わかりやすくするために、この例のすべての設定は、Junos OS リリース 22.4.1R1 が実行されている単一のジュニパー EX4400 シリーズ スイッチで実行されています。スイッチはAAA用のRADIUSサーバーに接続されています。この例では、このスイッチはエグレスとして機能します。SGT の場合は、エグレススイッチでファイアウォールを定義する必要がありますが、通常はアクセスレイヤーのイングレスVXLANゲートウェイで定義することを思い出してください。

必要条件
拡張GBPは、EX4100、EX4400、EX4650、QFX5120-32C、QFX5120-48Yの各スイッチのJunos OS 22.4R1でサポートされています。
構成
VXLAN-GBPベースのセグメンテーション:
- ユーザはネットワークにログオンし、RADIUS サーバ(すべてのエンドポイントに SGT が設定されている)によって認証されます。
- EX4400は、ファイアウォールフィルターを使用して、802.1X認証またはMACアドレスに基づいてトラフィックを選択し、一致するフレームにグループタグを割り当てます。(dot1x 認証クライアントの場合、静的ファイアウォール設定は必要ありません)。この仕組みは、次に示すようにファイアウォールを使用して実行されます。
set firewall family any filter name micro-segmentation set firewall family any filter name term name from source-mac-address MAC-Addr
set firewall family any filter name term name then gbp-tag PE-GRP
- EX4400 を通過するタグ付きトラフィックは、ファイアウォール フィルターの仕組みを使用して、SGT 値に基づいて評価されます。
-
まず、デバイスで
chassis forwarding-options vxlan-gbp-profile
を有効にします。 gbp-dst-tag
および/またはgbp-src-tag
一致条件を使用してファイアウォールルールを記述し、GBPマイクロセグメンテーションに使用するエグレススイッチのルーティングポリシーに含めます。Junos OS リリース 23.2R1 以降、送信元タグと宛先タグに加えて、プロトコル、送信元ポート、宛先ポート、tcp フラグなどの新しい GBP ポリシー フィルター IPv4 および IPv6 L4 の一致がサポートされています。表 6 を参照してください。-
ポリシーの適用をイングレスエンドポイントで実行する場合は、
set fowarding-options evpn gbp ingress-enforcement
オプションを有効にする必要があります。
-
スタンドアロンの Juniper EX4400 スイッチを VXLAN-GBP 用に設定する
以下のコマンドを使用して、サンドボックス環境で VXLAN と GBP セグメンテーションを設定します。通常は、アクセス レイヤーの(エグレス)VXLAN ゲートウェイとして機能するスイッチ上でファイアウォール フィルター ルールを作成しますが、わかりやすくするために、ファイアウォール フィルター ルールと RADIUS サーバー(ここでは EAP)の両方に同じスタンドアロンの EX4400 を使用します。この例で使用する値は、前の表から取得されます。
以下のコマンドには、プロファイル名や IP アドレスなどの変数が含まれており、テスト環境に合わせて調整する必要があります。
- RADIUSサーバーを設定します。
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- RADIUS認証をサポートするように物理ポートを設定します。
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- Juniper-Switching-Filter または Juniper-Group-Based-Policy-Id を使用して、RADIUS サーバーに SGT タグを設定します。
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "500"
- スイッチで VXLAN-GBP を有効にします。
set chassis forwarding-options vxlan-gbp-profile
- SGT を利用するファイアウォール フィルター ルールを作成します(マトリックスで整理された値を使用)。
set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Junosでコミットチェックを実行し、使用したコマンドと変数が有効であることを確認します。設定に問題がなければ、候補の設定をコミットして、デバイス上でアクティブにします。これらのコマンドを以下に示します。「
run show configuration
」と入力して、設定を確認することもできます。commit check configuration check succeeds commit commit complete
EXスイッチとQFXスイッチの制限事項:
-
EX9204、EX9208、EX9214スイッチ:
-
RADIUS/802.1X を介して設定された SGT はサポートされていません。
-
/32ルートのタグ伝播とイングレスエンドポイントでのポリシー適用のサポートは、Junos OSリリース24.2R1で開始されます。
-
EVPNタイプ5アドバタイズメントを使用したIPプレフィックスルートのタグ伝播のサポートは、Junos OSリリース24.2R1以降開始されます。
-
GBP UFTプロファイルはサポートされていません。
-
-
EX4400およびQFX5120プラットフォームの一意のタグ数は1Kに制限されています。
-
interface
とVLAN
GBPの一致は、EX4100スイッチではサポートされていません。 -
マルチキャストIPベースのGBPタギングはサポートされていません。
-
IP ベース GBP はレイヤー2スイッチング フローには適用されず、MAC ベース GBP はアクセスツーアクセスレイヤー 3 ルーティング フローには適用されません。
-
インターフェイスベースGBPが設定されている場合、IPACLはサポートされません。
-
ポリサーおよびカウントアクションは、MACベースおよびIPベースのGBPポリシーエントリーでのみサポートされます。
-
VLAN ベースの GBP は、サービス プロバイダ スタイルの論理インターフェイスではサポートされていません。
-
GBPタグ割り当てフィルターは、カウンターオプションをサポートしていません。
-
GBPフィルターの異なる一致基準(MAC、インターフェイス、インターフェイス+VLAN)を同じフィルターに含めることはできません。
GBP Junos OS リリース 21.1R1 以降
RADIUS サーバへの SGT の割り当て
この例では、RADIUS サーバに SGT を設定し、EX4400 で 802.1X アクセス制御を使用して受信します。RADIUSサーバは、キャンパス環境でアクセス制御や、VLANの割り当て管理などによく使用されます。
RADIUS サーバでの SGT の使用に対応するには、AAA サービス フレームワークでサポートされているベンダー固有属性(VSA)を活用する必要があります(これらの VSA は標準の RADIUS 要求応答メッセージの一部として転送され、SGT などの実装固有の情報を処理するための組み込み拡張を提供します)。RADIUSサーバーの正確な構文は、認証方式がMACベースかEAPベースかによって異なります。MAC ベースのクライアントの場合、構成は次のようになります。
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100"
EAP ベースのクライアントの場合、SGT は認証時に RADIUS サーバからプッシュされます。設定は次のようになります。
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
Junos リリース 21.1R1 以降、EX4400 スイッチには、RADIUS サーバーによって渡されて VXLAN ヘッダーに挿入される SGT タグをファイアウォールが認識できるようにする、VXLAN-GBP で使用するための新しい一致条件が導入されています。
これがどのように機能するかは、次のコード サンプルで確認できます。GBPファイアウォールポリシーは、送信元と宛先のGBPタグに基づいて構成されます。送信元タグは受信パケットのVXLANヘッダーにある16ビットフィールドであり、宛先タグは設定されたタグ割り当てに従ってエグレストンネルのエンドポイントで取得されます。
例えば、以下のような設定のエグレスエンドポイントがあるとします。送信元MACアドレス 00:01:02:03:04:10:10
からのパケットにはタグ100が、送信元MACアドレス 00:01:02:03:04:20:20
からのパケットにはタグ200が割り当てられます。
set firewall family ethernet-switching filter assign_tag term tag100 from source-mac-address 00:01:02:03:04:10:10 set firewall family ethernet-switching filter assign_tag term tag100 then gbp-src-tag 100 set firewall family ethernet-switching filter assign_tag term tag200 from source-mac-address 00:01:02:03:04:20:20 set firewall family ethernet-switching filter assign_tag term tag200 then gbp-src-tag 200
GBPタグが100で宛先MACアドレスが 00:01:02:03:04:10:10
のパケットの場合、宛先グループタグ (gbp-dst-tag) は100になり、条件 t10-100で一致します。同様に、GBPタグが100で宛先MACアドレスが 00:01:02:03:04:20:20
のパケットの場合、宛先グループタグは200になり、条件 t10-200と一致します。
set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 then accept set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family ethernet-switching filter gbp-policy term t10-200 then discard
送信元MACアドレスを送信元タグにマッピングするために使用されるのと同じタグ割り当てが、宛先MACアドレスを宛先タグにマッピングする場合にも使用されます。これは、インターフェイスベースの割り当てにも当てはまります。
別のコードサンプルを見てみましょう。今回はGBPソースタグ300を使用し、インターフェイス ge-0/0/30.0
に入るパケットを使用します。以下に示すように、GBP送信元タグ300は出力方向に割り当てられており、300もGBP宛先グループタグです。
set firewall family ethernet-switching filter assign_tag term tag300 from interface ge-0/0/30.0 set firewall family ethernet-switching filter assign_tag term tag300 then gbp-src-tag 300
エグレススイッチで使用されているグループタグをイングレススイッチが知る方法がないため、エグレススイッチでGBPファイアウォールフィルターを設定する必要があることに注意してください。さらに、入力ノードで VXLAN-GBP をグローバルに有効にして、一致のルックアップを実行し、VXLAN ヘッダーと出力ノードに SGT を追加できるようにする必要があります。ここで紹介する設定コマンドで、これを実行します:
set chassis forwarding-options vxlan-gbp-profile
ルールを作成する前に、すべてのエンドポイント(ユーザとデバイス)と割り当てられた SGT 値のテーブルを作成して、スキームを整理すると便利です。ここでは、ロジックをさらに単純化し、ルールを明確にするために使用できる、後でマトリックスで適用されるそのようなテーブルの1つを示します。
エンドポイント |
割り当てられた SGT 値 |
---|---|
正社員(PE) |
100 |
請負業者(CON) |
200 |
セキュリティスタッフ(SS) |
300 |
セキュリティカム(CAM) |
400 |
エンジニアリングサーバー(ES) |
500 |
RADIUS サーバーと SGT、EX4400 と VXLAN のパケット ヘッダー、アクセス ポリシーを管理する中央ファイアウォール フィルターの関係性から、マトリクスは値を整理するのに便利な方法になります。次の表では、最初の列にユーザー ロールを一覧表示し、最初の行にデバイスの種類を一覧表示して、アクセス マトリックスを作成します。各ユーザ ロールとデバイス タイプに SGT が割り当てられ、その情報で RADIUS 設定が更新されます。
この例では、正社員(PE)、契約社員(CON)、セキュリティスタッフ(SS)の3種類の従業員を使用しています。また、ES(Eng Server)とCAM(Security Camera)の2種類のリソースを使用します。アクセスが許可されていることを示すには Y を使用し、アクセスがブロックされている場合には N を使用します。このテーブルは、ポリシーでさまざまなファイアウォール ルールを作成する際の有用なリソースとして機能し、アクセス マッピングをシンプルかつ明確にします。
ES(SGT 500)、 | CAM(SGT 400)、 | PE(SGT 100)、 | CON(SGT 200)、 | SS(SGT 300) | |
---|---|---|---|---|---|
PE(SGT 100) | Y | N | Y | Y | N |
CON(SGT 200) | N | N | Y | N | N |
SS(SGT 300) | N | Y | N | N | Y |
位相幾何学
わかりやすくするために、この例のすべての設定は、Junos OS リリース 21.1R1 が実行されている単一のジュニパー EX4400 シリーズ スイッチで実行されています。スイッチはAAA用のRADIUSサーバーに接続されています。この例では、このスイッチはエグレスとして機能します。SGT の場合は、エグレススイッチでファイアウォールを定義する必要がありますが、通常はアクセスレイヤーのイングレスVXLANゲートウェイで定義することを思い出してください。

必要条件
VXLAN-GBP は、Junos OS リリース 21.1R1 の次のスイッチでサポートされています。 EX4400-24P、EX4400-24T、EX4400-48F、EX4400-48P、EX4400-48T。この例で、EX4400スイッチについて考えてみましょう。
Junos リリース 21.4R1 以降、VXLAN-GBP は QFX5120-32C、QFX5120-48T、QFX5120-48Y、QFX5120-48YM、EX4650、EX4650-48Y-VC の各スイッチでもサポートされています。
構成
VXLAN-GBPベースのセグメンテーションの基盤となる一連のイベントを上記の段落で要約すると、以下のようになります。
- ユーザはネットワークにログオンし、RADIUS サーバ(すべてのエンドポイントに SGT が設定されている)によって認証されます。
- EX4400は、ファイアウォールフィルターを使用して、802.1X認証またはMACアドレスに基づいてトラフィックを選択し、一致するフレームにグループタグを割り当てます。(dot1x 認証クライアントの場合、静的ファイアウォール設定は必要ありません)。この仕組みは、次に示すように、ファイアウォールを使用して実行されます。
set firewall family ethernet-switching filter name term name from source-mac-address MAC-Addr
set firewall family ethernet-switching filter name term name then gbp-src-tag PE-GRP
- EX4400 を通過するタグ付きトラフィックは、ファイアウォール フィルターの仕組みを使用して、SGT 値に基づいて評価されます。これを実現するには、まずスイッチで
chassis forwarding-options vxlan-gbp-profile
を有効にしてから、gbp-dst-tag
および/またはgbp-src-tag
一致条件を使用してファイアウォールルールを記述し、GBPマイクロセグメンテーションに使用するエグレススイッチのルーティングポリシーに含める必要があります。
スタンドアロンの Juniper EX4400 スイッチを VXLAN-GBP 用に設定する
以下のコマンドを使用して、サンドボックス環境で VXLAN と GBP セグメンテーションを設定します。通常は、アクセス レイヤーの(エグレス)VXLAN ゲートウェイとして機能するスイッチ上でファイアウォール フィルター ルールを作成しますが、わかりやすくするために、ファイアウォール フィルター ルールと RADIUS サーバー(ここでは EAP)の両方に同じスタンドアロンの EX4400 を使用します。この例で使用する値は、前の表のものです。
以下のコマンドには、プロファイル名や IP アドレスなどの変数が含まれており、テスト環境に合わせて調整する必要があります。
- RADIUSサーバーを設定します。
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- RADIUS認証をサポートするように物理ポートを設定します。
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- RADIUS サーバに SGT タグを設定します。
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
- スイッチで VXLAN-GBP を有効にします。
set chassis forwarding-options vxlan-gbp-profile
- SGT を利用するファイアウォール フィルター ルールを作成します(マトリックスで整理された値を使用)。
set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Junosでコミットチェックを実行し、使用したコマンドと変数が有効であることを確認します。設定に問題がなければ、候補の設定をコミットして、デバイス上でアクティブにします。これらのコマンドを以下に示します。「
run show configuration
」と入力して、設定を確認することもできます。commit check configuration check succeeds commit commit complete