例:NFX150 NextGen uCPE を使用した小規模拠点への導入
この例では、NFX150デバイスのLANポートで802.1X認証を構成する方法と、UbuntuベースのVNFをオンボードする方法を示します。認証用のRADIUSサーバーはFreeRADIUSをベースにしています。
FreeRADIUS サーバの設定は、このドキュメントの範囲外です。
要件
1 台の NFX150 デバイス。
メモ:この例は、NFX150-S1 デバイスを使用してテストされています。この例では、NFX150-C-S1、NFX150-C-S1-AE、NFX150-C-S1-AA、NFX150-C-S1E-AE、NFX150-C-S1E-AA、NFX150-S1、NFX150-S1E の各デバイスの使用もサポートしています。
Junos OS リリース 20.1R1 以降。
Ubuntu20.04オペレーティングシステム。
FreeRADIUSバージョン3。
この例で と qcow2
ファイルを生成するiso
ために使用するワークステーションは、Ubuntu 20.04オペレーティングシステムに基づいています。WindowsなどのUbuntu以外のワークステーションを使用している場合は、およびqcow2
ファイルを生成するiso
手順が若干異なる場合があります。
概要
この例では、支社/拠点のNFX150 uCPEを設置して、現場の従業員に有線インターネットとイントラネットアクセスを提供しています。ブロードバンドインターネットアクセスは、イーサネットリンクを介して行われます。Ubuntu 20.04ベースのVNFがNFX150デバイスにオンボードされています。FreeRADIUS RADIUS サーバーは、NFX150 デバイスの LAN ポートに 802.1X 認証を提供します。
トポロジ
図 1 は、NFX150 を使用してインターネットに接続されたリモート支社を示しています。802.1X 認証は、NFX150 デバイスの LAN ポートで構成され、インターネットとイントラネット アクセスを提供します。

VNFのサービスチェイニングとNFX150のインターフェイス設定の詳細を 図2に示します。

図 2 のトポロジーでは、次のようになります。
ブロードバンドインターネットリンクは、インターフェイスge-1/0/1に接続されています。インターフェイスは、物理インターフェイス heth-0-0 に直接接続されています。
NFX150デバイスの1Gbpsホストイーサネットリンク(heth-0-1からheth-0-4)は、デフォルトのVLAN 1に接続されています。
デフォルトVLAN 1は、インターフェイスsxe-0/0/0にさらに伝播され、インターフェイスge-1/0/0上でユニット1として設定されます。サブインターフェイスは、NFX150デバイスのフロントポートに接続されたデバイスにネットワークアドレス設定を提供するために、DHCPサーバーに使用されます。ポートheth-0-1からheth-0-4までのレイヤー2インターフェイスは、それぞれge-0/0/1からge-0/0/4です。
インターフェイス ge-1/0/2 および eth2 は、カスタム ブリッジ radius-br に接続されています。VNFのインターフェイスeth2は、Ubuntuオペレーティングシステムによって ens5として認識されます。
この例では、NFX150 に 2 つのセキュリティ ゾーン(untrustとtrust)が設定されています。インターフェイスをセキュリティ ゾーンに分離することで、トラフィックを分離でき、企業イントラネットがさらされるリスクを軽減できます。セキュリティ ゾーンは、セキュリティ ポリシーの明確で簡素化された実装を実現する手段としても機能します。untrust ゾーンは、インターネットにアクセスできるインターフェイスをホストします。企業イントラネットの内部インターフェイスが信頼ゾーンにある。具体的には、インターフェイス ge-1/0/1 はアントラスト ゾーンにあり、残りの LAN インターフェイスはトラスト ゾーンにあります。図 3 と以下の表に、インターフェイス、セキュリティ ゾーン、セキュリティ ポリシーの設定を示します。

ゾーンから |
ゾーンへ |
トラフィックを許可するセキュリティポリシーの動作 |
---|---|---|
信頼 |
信頼 |
いいえ |
信頼できない |
信頼できない |
いいえ |
信頼 |
信頼できない |
はい |
信頼できない |
信頼 |
信頼開始のみ。 trustゾーンで開始されたトラフィックとリターントラフィックを許可します。 |
表 2 は、インターフェイスの VLAN 情報と IP アドレス情報をまとめたものです。
インターフェイス |
VLAN ID |
IPアドレス |
ネットワーク マスク |
---|---|---|---|
ge-1/0/1 |
— |
Dhcp |
— |
ge-1/0/0.1 |
既定
メモ:
デフォルトのVLANのVLAN ID値は1です。 |
192.168.2.1 |
255.255.255.0 |
ge-1/0/2 |
radius-br |
10.10.10.2 |
255.255.255.0 |
構成
NFX150 NextGen ユニバーサル CPE デバイスで仮想化 802.1X 認証を使用するブランチ オフィスを展開するには、次のタスクを実行します。
- Ubuntu 20.04ベースのVNFをステージする
- NFX 動作モードを微調整する
- VNF の設定とカスタム OVS ブリッジの設定
- 物理ポートをレイヤー 2 およびレイヤー 3 インターフェイスにマッピングする
- ゾーンベースのファイアウォールと NAT を構成する
- LAN ユーザー向けに DHCP サーバーを構成する
- 802.1X認証を構成する
Ubuntu 20.04ベースのVNFをステージする
手順
次の手順では、Ubuntu 20.04 ベースの VNF をステージングする方法について説明します。
ワークステーションの公式UbuntuWebサイトから、Ubuntu20.04のクラウドベースの ubuntu-20.04-server-cloudimg-amd64.vmdk イメージファイルをダウンロードします。
user@workstation$wget -nc https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.vmdk
ubuntu-20.04-server-cloudimg-amd64.vmdkイメージファイルをファイル形式に変換しますqcow2。
user@workstation$qemu-img convert -f vmdk -O qcow2 ubuntu-20.04-server-cloudimg-amd64.vmdk ubuntu-20.04-server-cloudimg-amd64.qcow2
VNF 用のファイルのコピー qcow2 を作成します。VNFの名前は radius-ubuntu で、qcow2ファイルの名前 radius-ubuntu.qcow2はです。
user@workstation$cp ubuntu-20.04-server-cloudimg-amd64.qcow2 radius-ubuntu.qcow2
ワークステーションで任意のテキストエディターを開き、VNF用のcloud-init設定ファイルを作成します。設定には cloud-init 、行 #cloud-config、デフォルトユーザー(ubuntu)のパスワード、ユーザーのパスワードの有効期限を許可しない設定スタンザ、VNFへのパスワード認証を許可する設定などの基本情報が含まれています。デフォルトでは、クラウドベースのUbuntuイメージでは、SSHキーベースの認証のみが許可されます。VNF のホスト名もファイルで定義されます。VNFの名前は radius-ubuntu.この例では、VNFのcloud-initコンフィギュレーションファイルの名前は radius-ubuntu.txtです。
#cloud-config password: $ABC123 chpasswd: { expire: False } ssh_pwauth: True hostname: radius-ubuntu
radius-ubuntu.txt config-init ファイルから iso ファイルを radius-ubuntu.iso として作成します。radius-ubuntu.iso ファイルは、同じディレクトリに格納されています。
user@workstation$cloud-localds ./radius-ubuntu.iso radius-ubuntu.txt
radius-ubuntu.qcow2と radius-ubuntu.iso ファイルを NFX150 デバイスのディレクトリにコピーします
/var/public
。次の方法を使用してファイルを NFX150 uCPE にコピーする場合は、正しい資格情報を使用してください。たとえば、ここではルートユーザーの認証情報を使用して、ファイルを NFX150 デバイスにコピーします。user@workstation$scp radius-ubuntu.iso root@nfx-150-s1:/var/public/ user@workstation$scp radius-ubuntu.qcow2 root@nfx-150-s1:/var/public/
NFX 動作モードを微調整する
手順
次の手順では、NFX の動作モードを微調整する方法について説明します。
NFX をコンピューティング モードに設定します。コンピューティングモードは、サードパーティー製VNFに最大のリソースを提供します。NFX をコンピューティング モードで設定すると、NFX150 デバイスが再起動します。
user@host>request vmhost mode compute
デバイスで巨大なページの使用を有効にします。巨大ページは、メモリからスワップアウトされないメモリページです。この例では、VNFに使用される4つの巨大なページが作成されています。
[edit] user@host>set system memory hugepages page-size 1024 count 4 user@host>commit and-quit
NFX150デバイスを再起動して、巨大なページを有効にします。
user@host>request vmhost reboot
VNF の設定とカスタム OVS ブリッジの設定
手順
次の手順では、VNF を設定し、カスタム OVS ブリッジを設定する方法について説明します。カスタム OVS ブリッジは、VNF と FPC が接続する NFV バックプレーンとして機能します。さらに、カスタム OVS ブリッジを作成して、異なる VNF 間の接続を分離できます。
VNF を作成し、 という名前 radius-ubuntuを設定します。VNF用のイメージ(
/var/public/radius-ubuntu.qcow2
)へのパスを設定する必要があります。[edit] user@host#set virtual-network-functions radius-ubuntu image /var/public/radius-ubuntu.qcow2 user@host#set virtual-network-functions radius-ubuntu image image-type qcow2
2 つの CPU を持つように VNF を設定し、CPU のハードウェア仮想化を有効にして、4 GB のメモリを VNF 専用にします。CPU の設定と VNF へのメモリの割り当ては必須です。Ubuntu 20.04クラウドイメージの場合、最低1つのCPUと少なくとも1GBのメモリを構成することをお勧めします。
[edit] user@host#set virtual-network-functions radius-ubuntu virtual-cpu count 2 user@host#set virtual-network-functions radius-ubuntu virtual-cpu features hardware-virtualization user@host#set virtual-network-functions radius-ubuntu memory size 4194304 user@host#set virtual-network-functions radius-ubuntu memory features hugepages
eth2インターフェイスをカスタムブリッジ radius-brにマップします。
[edit] user@host#set virtual-network-functions radius-ubuntu interfaces eth2 mapping vlan mode access user@host#set virtual-network-functions radius-ubuntu interfaces eth2 mapping vlan members radius-br
cloud-init イメージ radius-ubuntu.iso ファイルを CD-ROM ドライブとしてマウントします。
[edit] user@host#set virtual-network-functions radius-ubuntu storage vdb type cdrom source file /var/public/radius-ubuntu.iso
カスタム OVS ブリッジ radius-br を作成し、それにインターフェイス ge-1/0/2 を設定します。
[edit] user@host#set vmhost vlans radius-br vlan-id none user@host#set vmhost virtualization-options interfaces ge-1/0/2 mapping vlan radius-br
物理ポートをレイヤー 2 およびレイヤー 3 インターフェイスにマッピングする
手順
次の手順では、物理ポートをレイヤー 2 およびレイヤー 3 インターフェイスにマッピングする方法について説明します。物理インターフェイスは、NFX150 シャーシおよび拡張モジュールの物理ポートを表します。NFX150デバイスのフロントパネルにある物理ポートは、レイヤー2またはレイヤー3インターフェイス(VNF)にマッピングできます。
物理ポートheth-0-0をレイヤー3(FPC1)インターフェイスにマッピングします。
[edit] user@host#set vmhost virtualization-options interfaces ge-1/0/1 mapping interface heth-0-0
レイヤー 3(FPC1)インターフェイスに物理ポート heth-0-1 から heth-0-4 までをマッピングします。
[edit] user@host#set vmhost virtualization-options interfaces ge-0/0/1 mapping interface heth-0-1 user@host#set vmhost virtualization-options interfaces ge-0/0/2 mapping interface heth-0-2 user@host#set vmhost virtualization-options interfaces ge-0/0/3 mapping interface heth-0-3 user@host#set vmhost virtualization-options interfaces ge-0/0/4 mapping interface heth-0-4
インターフェイスge-0/0/1〜ge-0/0/4およびインターフェイスsxe-0/0/0をデフォルトVLANのメンバーとして追加します。
[edit] user@host#set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members default user@host#set interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members default user@host#set interfaces ge-0/0/3 unit 0 family ethernet-switching vlan members default user@host#set interfaces ge-0/0/4 unit 0 family ethernet-switching vlan members default user@host#set interfaces sxe-0/0/0 unit 0 family ethernet-switching vlan members default
ゾーンベースのファイアウォールと NAT を構成する
手順
次の手順では、ゾーンベースのファイアウォール フィルターと NAT を構成する方法について説明します。
セキュリティ ゾーンを作成し、 信頼し、レイヤー 3 インターフェイス(ge-1/0/0.0 および ge-1/0/2)をそのゾーンに割り当てます。ge-1/0/0.0 レイヤー 3 インターフェイスは、LAN 接続デバイスと radius-br インターフェイスの DHCP サーバーとして機能します。ge-1/0/0.0インターフェイスはデフォルトのインターフェイスであり、NFX150デバイスのデフォルト設定の一部です。
[edit] user@host#set security zones security-zone trust host-inbound-traffic system-services all user@host#set security zones security-zone trust host-inbound-traffic protocols all user@host#set security zones security-zone trust interfaces ge-1/0/0.1 user@host#set security zones security-zone trust interfaces ge-1/0/2.0
セキュリティ ゾーンを作成し、 信頼せず、レイヤー 3 インターフェイス ge-1/0/1.0 を割り当てます。セットアップに従って、システムサービスとプロトコルを設定できます。
[edit] user@host#set security zones security-zone untrust host-inbound-traffic system-services all user@host#set security zones security-zone untrust host-inbound-traffic protocols all user@host#set security zones security-zone untrust interfaces ge-1/0/1.0
メモ:運用環境では、ネットワークでのみ許可するプロトコルとサービスを制限する必要があります。
セキュリティ・ポリシーを作成して、セキュリティ・ゾーン内のトラフィックが 信頼されるようにします。
[edit] user@host#set security policies from-zone trust to-zone trust policy default-permit match source-address any user@host#set security policies from-zone trust to-zone trust policy default-permit match destination-address any user@host#set security policies from-zone trust to-zone trust policy default-permit match application any user@host#set security policies from-zone trust to-zone trust policy default-permit then permit
セキュリティ ポリシーを作成して、セキュリティ ゾーンの信頼から セキュリティ ゾーンの信頼されていないへのトラフィックを許可します。
[edit] user@host#set security policies from-zone trust to-zone untrust policy trust-to-untrust match source-address any user@host#set security policies from-zone trust to-zone untrust policy trust-to-untrust match destination-address any user@host#set security policies from-zone trust to-zone untrust policy trust-to-untrust match application any user@host#set security policies from-zone trust to-zone untrust policy trust-to-untrust then permit
ゾーンの信頼からゾーンの信頼へのトラフィックを NAT するソース NAT 規則を作成します。
[edit] user@host#set security nat source rule-set trust-to-untrust from zone trust user@host#set security nat source rule-set trust-to-untrust to zone untrust user@host#set security nat source rule-set trust-to-untrust rule source-nat-rule match source-address 0.0.0.0/0 user@host#set security nat source rule-set trust-to-untrust rule source-nat-rule then source-nat interface
LAN ユーザー向けに DHCP サーバーを構成する
手順
次の手順では、DHCP サーバーを構成する方法について説明します。
DHCPサーバーにはインターフェイスが必要なため、デフォルトVLANにge-1/0/0のサブインターフェイスを作成します。
[edit] user@host#set interfaces ge-1/0/0 vlan-tagging user@host#set interfaces ge-1/0/0 unit 0 vlan-id 1 user@host#set interfaces ge-1/0/0 unit 0 family inet address 192.168.2.1/24
DHCP アドレス プールを作成し、インターフェイスを ge-1/0/0.1 に設定します。この例では、次の DHCP アドレス プール パラメータが使用されています。
DHCP アドレス プールの名前は jdhcp-group です。
ユーザー割り当ての IP アドレスの範囲は 192.168.2.2 から 192.168.2.254 です。
ゲートウェイ IP アドレスは 192.168.2.1 です。
DNS サーバー アドレスは 8.8.8.8 に設定されます。
[edit] user@host#set access address-assignment pool jdhcp-group family inet network 192.168.2.0/24 user@host#set access address-assignment pool jdhcp-group family inet range junosRange low 192.168.2.2 user@host#set access address-assignment pool jdhcp-group family inet range junosRange high 192.168.2.254 user@host#set access address-assignment pool jdhcp-group family inet dhcp-attributes router 192.168.2.1 user@host#set access address-assignment pool jdhcp-group family inet dhcp-attributes name-server 8.8.8.8 user@host#set access address-assignment pool jdhcp-group family inet dhcp-attributes propagate-settings ge-1/0/0.0
802.1X認証を構成する
手順
次の手順では、802.1X 認証を構成する方法について説明します。
Ubuntu VNF上のネットワークインターフェイスとRADIUSサーバーの設定は、このドキュメントの範囲外です。
VNFで実行されているRADIUSサーバーを設定します。この例では、以下のRADIUSサーバパラメータが使用されています。
RADIUS サーバーの IP アドレスは 10.10.10.2 です。これは、 radius-ubuntu VNFのeth2とens5のIPアドレスです。
NFX が RADIUS サーバーと通信するために使用するシークレット パスワードは
$ABC123
です。
[edit] user@host#set access radius-server 10.10.10.2 port 1812 user@host#set access radius-server 10.10.10.2 secret $ABC123
RADIUS サーバーをプロファイルに追加し、そのプロファイルを使用して RADIUS 認証を許可します。この例で使用されているプロファイル名は vnf-radius です。
[edit] user@host#set access profile vnf-radius radius authentication-server 10.10.10.2 user@host#set access profile vnf-radius authentication-order radius
プロファイル vnf-radius を 802.1X オーセンティケータとして設定します。802.1X オーセンティケータは、ユーザーが入力した資格情報を RADIUS サーバーで検証し、それに応じた動作をします。
[edit] user@host#set protocols dot1x authenticator authentication-profile-name vnf-radius
サプリカント(ユーザー)がインターフェイスge-0/0/1.0で認証されるように設定し、90分(5400秒)ごとに再認証を要求します。この例のように、複数のサプリカントの認証を許可できます。
[edit] user@host#set protocols dot1x authenticator authentication-profile-name vnf-radius user@host#set protocols dot1x authenticator interface ge-0/0/1.0 supplicant multiple user@host#set protocols dot1x authenticator interface ge-0/0/1.0 reauthentication 5400
サプリカント認証とRADIUSサーバー双方のタイムアウトタイマーを、例えば60秒に設定します。
[edit] user@host#set protocols dot1x authenticator interface ge-0/0/1.0 supplicant-timeout 60 user@host#set protocols dot1x authenticator interface ge-0/0/1.0 server-timeout 60
ポートの動作を設定します。RADIUS サーバーに到達できない場合は、使用可能なキャッシュを具体的に使用するようにポートの認証動作を構成できます。この場合、すでに認証されたサプリカントはポートを引き続き使用でき、他のサプリカントは許可されません。
[edit] user@host#set protocols dot1x authenticator interface ge-0/0/1.0 server-fail use-cache
設定をコミットします。
[edit] user@host#commit and-quit
ステップ 4 から 6 を繰り返して、インターフェイス ge-0/0/2.0 から ge-0/0/4.0 までの認証を設定します。
検証
設定が正しく行われていることを確認するために、以下の作業を行います。
VNFが稼働していることの確認
目的
VNF が正常にスピンされたことを確認します。
アクション
動作モードから コマンド show virtual-network-functions radius-ubuntu detail
を入力します。
user@host> show virtual-network-functions radius-ubuntu detail Virtual Network Function Information ------------------------------------ Id: 2 Name: radius-ubuntu UUID: 2686abc4-0f66-4574-a5de-18a3bbd09a94 State: Running Liveliness: alive IP Address: 192.0.2.100 VCPUs: 2 Maximum Memory: 4194304 KiB Used Memory: 52172 KiB Used 1G Hugepages: 4 Used 2M Hugepages: 0 Error: None
意味
出力には、状態、活気、エラー、メモリ使用量など、 radius-ubuntu VNFの詳細が表示されます。
VNFのリソース使用率の検証
目的
CPU 時間、メモリ使用量、インターフェイスの MAC アドレス情報など、VNF システムが現在使用しているリソースを確認します。
アクション
動作モードから コマンド show system visibility vnf radius-ubuntu
を入力します。
user@host> show system visibility vnf radius-ubuntu VNF Memory Usage -------------------------------------------------------------------------------------------------------------------- Name Maximum Memory (KiB) Used Memory (KiB) Used 1G Hugepages Used 2M Hugepages -------------------------------------- --------------------- ------------------ ------------------ ----------------- radius-ubuntu 4194304 52172 4 0 VNF CPU Statistics (Time in ms) ----------------------------------------------------------------------------------- Name CPU Time System Time User Time -------------------------------------- ------------------ ------------ ------------ radius-ubuntu 164985 59820 4480 VNF MAC Addresses ----------------------------------------------------------- VNF MAC ----------------------------------------- ----------------- radius-ubuntu_ethdef0 58:00:BB:AC:BC:5B radius-ubuntu_ethdef1 58:00:BB:AC:BC:5C radius-ubuntu_eth2 58:00:BB:AC:BC:5D VNF Internal IP Addresses --------------------------------------------------------- VNF IP ----------------------------------------- --------------- radius-ubuntu 192.0.2.100 VNF Interfaces -------------------------------------------------------------------------------------------------------- VNF Interface Type Source Model MAC IPv4-address -------------------- --------- --------- ------------ ---------- ----------------- --------------------- radius-ubuntu vnet4 network default virtio 58:00:bb:ac:bc:5b -- radius-ubuntu vnet5 bridge eth0br virtio 58:00:bb:ac:bc:5c -- radius-ubuntu radius-ubuntu_eth2 vhostuser -- virtio 58:00:bb:ac:bc:5d -- VNF Disk Information ---------------------------------------------------------------------------------------------------------
意味
出力には、メモリ使用量、CPU時間、MACアドレス、IPアドレスなど、 radius-ubuntu VNFのシステムの詳細が表示されます。
カスタムブリッジでのインターフェイスの検証
目的
カスタムブリッジ上のインターフェイスのステータスを検証します。
アクション
動作モードから コマンド show vmhost network nfv-back-plane
を入力します。
user@host> show vmhost network nfv-back-plane Network Name : radius-br Interface : radius-br Type : internal, Link type : Full-Duplex, MAC : ce:74:aa:85:0f:4d MTU : [], Link State :down, Admin State : down Native Vlan ID : None, Vlan mode : Access, Vlan Members : None IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 43 Tx-drops : 43 Tx-errors : 0 Interface : l3_h_ge_1_0_2 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : [], Link State :up, Admin State : up Native Vlan ID : None, Vlan mode : Access, Vlan Members : None IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 32 Rx-drops : 0 Rx-errors : 0 Tx-packets : 59 Tx-drops : 0 Tx-errors : 0 Interface : radius-ubuntu_eth2 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : 1500, Link State :up, Admin State : up Native Vlan ID : None, Vlan mode : Access, Vlan Members : None IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 59 Rx-drops : 0 Rx-errors : 0 Tx-packets : 31 Tx-drops : 0 Tx-errors : 0
意味
出力では、インターフェイス l3_h_ge_1_0_2 と radius-ubuntu_eth2 がそれぞれ ge-1/0/2 と eth2 にリンクされていることがわかります。出力には、インターフェイスのリンクステータスの詳細(管理およびリンク状態)と、それぞれのインターフェイスを介して受信および送信されたパケットの数も表示されます。