Juniper BNG CUPSを設定する
概要 このドキュメントでは、Juniper BNG CUPSの設定、加入者アクセスおよび加入者管理の設定に使用できる設定例を紹介します。
加入者管理用にJuniper BNG CUPSを設定する方法
Juniper BNG CUPSは、Junos OSがサポートする機能とは異なる、細分化された運用モードを加入者管理に使用します。細分化された操作では、Juniper BNG CUPSコントローラ(BNG CUPSコントローラ)とJuniper BNGユーザープレーン(BNG ユーザープレーン)は別々のシステム上にあります。さらに、1つのBNG CUPSコントローラを複数のBNGユーザープレーンに関連付けることができます。加入者管理用にジュニパーBNG CUPSを設定するには、BNG CUPSコントローラと関連するすべてのBNG ユーザープレーンの両方で設定を行う必要があります。
以下のセクションでは、加入者管理にJuniper BNG CUPSを設定し、使用する方法について説明します。
BNG CUPSコントローラを設定する
Juniper BNG CUPSでは、次のBNG CUPSコントローラ設定例を使用して、DHCPおよびPPPの加入者管理機能を設定できます。
CLIへのアクセスについては、 BNG CUPSコントローラCLIへのアクセスを参照してください。
BNG CUPSコントローラを設定するには、次の設定を適用します。
system { root-authentication { encrypted-password "xxxxxx..."; ## SECRET-DATA } login { user regress { uid 928; class superuser; shell csh; authentication { encrypted-password "xxxxxx..."; ## SECRET-DATA } } } services { ssh { root-login allow; } extension-service { request-response { grpc { clear-text { port 50051; } max-connections 8; skip-authentication; } } } flow-tap-dtcp { ssh; } dhcp-local-server { dhcpv6 { overrides { delegated-pool dhcpv6-over-pppoe-pool; } group dhcpv6-over-pppoe { interface up:sample-up-2:ge-0/0/1.0; interface up:sample-up-2:pp0.0; interface up:sample-up-1:ge-0/0/1.0; interface up:sample-up-1:pp0.0; } } group dhcp-v4-client { dynamic-profile dhcp-client-demux; interface up:sample-up-2:demux0.0; interface up:sample-up-2:ge-0/0/0.1; interface up:sample-up-1:demux0.0; interface up:sample-up-1:ge-0/0/0.1; } } subscriber-management { enable { mode { control-plane { control-plane-name sample-cp-1; transport { inet 192.0.2.2; } user-plane sample-up-1 { inet 192.0.2.100; netconf { user-name user; password "password"; port 830; } user-plane sample-up-2 { inet 192.0.2.200; netconf { user-name user; password "password"; port 830; } } } interfaces up:sample-up-2:ge-0/0/0 { auto-configure { vlan-ranges { dynamic-profile dhcp-server-demux { accept dhcp-v4; ranges { 1500-1599; } } } remove-when-no-subscribers; } } interfaces up:sample-up-2:ge-0/0/2 { auto-configure { vlan-ranges { dynamic-profile dhcp-relay-demux { accept dhcp-v4; ranges { 2500-2599; } } } remove-when-no-subscribers; } } interfaces up:sample-up-1:ge-0/0/0 { auto-configure { vlan-ranges { dynamic-profile dhcp-server-demux { accept dhcp-v4; ranges { 1500-1599; } } } remove-when-no-subscribers; } } interfaces up:sample-up-2:ge-0/0/1 { unit 0 { pppoe-underlying-options { dynamic-profile ppp-dp-pp0; } } auto-configure { vlan-ranges { dynamic-profile ppp-dvlan { accept any; ranges { 3500-3599; } } } remove-when-no-subscribers; } } interfaces up:sample-up-1:ge-0/0/1 { unit 0 { pppoe-underlying-options { dynamic-profile ppp-dp-pp0; } } auto-configure { vlan-ranges { dynamic-profile ppp-dvlan { accept any; ranges { 3500-3599; } } } remove-when-no-subscribers; } } } } processes { general-authentication-service { traceoptions { file authd size 500m; flag all; } } dhcp-service { traceoptions { file size 500m; level all; flag all; } } cp-smg-service { traceoptions { file size 500m; level all; flag all; } } } } access-profile noauth; access { profile noauth { authentication-order none; } address-assignment { neighbor-discovery-router-advertisement v6-na-pool-0; pool v4pool { family inet { network 198.51.100.1/16; range limited { low 198.51.100.10; high 198.51.100.250; } dhcp-attributes { maximum-lease-time 84600; } } } pool my-v6 { family inet6 { prefix 2001:db8:4136:e368:8000:63bf:3fff:fdd2; range limits prefix-length 64; } } pool dhcpv6-over-pppoe-pool { family inet6 { prefix 2001:db8:4136:e368:8000:63bf:3fff:fdd2; range limits prefix-length 64; } } pool v6-na-pool-0 { family inet6 { prefix 2001:db8:4136:e100:8000:63bf:3fff:fdd2; range v6-range-0 { low 2001:db8:::1000:63bf:3fff:fdd2; high 2001:db8:4136:e900:8000:63bf:3fff:fdd2; } } } } address-protection; } protocols { ppp-service { traceoptions { file jpppd size 500m; level all; flag all; } } pppoe { traceoptions { file jpppoed size 500m; level all; flag all; } } } dynamic-profiles { client-dhcp-demux { interfaces { demux0 { unit "$junos-interface-unit" { demux-options { underlying-interface "$junos-underlying-interface"; } family inet { demux-source { $junos-subscriber-ip-address; } unnumbered-address lo0.0; } } } } } dhcp-client-demux { variables { fin uid; fout uid; } interfaces { demux0 { unit "$junos-interface-unit" { actual-transit-statistics; proxy-arp; demux-options { underlying-interface "$junos-underlying-interface"; } family inet { demux-source { $junos-subscriber-ip-address; } filter { input "$fin"; output "$fout"; } unnumbered-address lo0.0; } } } } class-of-service { traffic-control-profiles { norm { scheduler-map smap5; shaping-rate percent 50; } } interfaces { demux0 { unit "$junos-interface-unit" { output-traffic-control-profile norm; } } } scheduler-maps { smap5 { forwarding-class best-effort scheduler normie; } } schedulers { normie { shaping-rate percent 50; } } } firewall { family inet { filter "$fin" { interface-specific; term t0 { then { count all-packets-dynamic-2; accept; } } } filter "$fout" { interface-specific; term term1 { then { count all-packets-dynamic-1; accept; } } } } } } dhcp-server-demux { interfaces { demux0 { unit "$junos-interface-unit" { no-traps; proxy-arp; vlan-tags outer "$junos-vlan-id"; demux-options { underlying-interface "$junos-underlying-interface"; } family inet { demux-source { $junos-subscriber-demux-ip-address; } unnumbered-address lo0.0; } } } } } ppp-dp-pp0 { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; pap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } no-keepalives; family inet { unnumbered-address lo0.0; } family inet6 { unnumbered-address lo0.0; } } } } protocols { router-advertisement { interface "$junos-interface-name" { max-advertisement-interval 4; min-advertisement-interval 3; managed-configuration; reachable-time 1000; retransmit-timer 1; prefix 2001:db8:4136::8000:63bf:3fff:fdd2; } } } class-of-service { traffic-control-profiles { norm { scheduler-map smap5; shaping-rate percent 50; } } interfaces { pp0 { unit "$junos-interface-unit" { output-traffic-control-profile norm; } } } scheduler-maps { smap5 { forwarding-class best-effort scheduler normie; } } schedulers { normie { shaping-rate percent 50; } } } } ppp-dvlan { interfaces { demux0 { unit "$junos-interface-unit" { no-traps; proxy-arp; vlan-tags outer "$junos-vlan-id"; demux-options { underlying-interface "$junos-interface-ifd-name"; } family pppoe { duplicate-protection; dynamic-profile ppp-dp-pp0; } } } } } dhcp-relay-demux { interfaces { demux0 { unit "$junos-interface-unit" { demux-source inet; no-traps; proxy-arp; vlan-id "$junos-vlan-id"; demux-options { underlying-interface "$junos-underlying-interface"; } family inet { demux-source { $junos-subscriber-demux-ip-address; } unnumbered-address lo0.0; } } } } } }
BNGユーザープレーンの設定
BNG CUPSコントローラーをセットアップした後、BNG ユーザープレーンとの関連付けを設定する必要があります。次のBNGユーザープレーン設定例を使用して、2つのBNGユーザープレーンの加入者管理機能を設定できます。
このサンプルでは、BNG ユーザー プレーンの名前は サンプル アップ 1 とサンプル アップ 2 です。また、2つのBNGユーザープレーンは、BNG CUPSコントローラの設定の設定の設定にある設定例から、 BNG CUPSコントローラとの関連付けを確立しています。
BNG ユーザー プレーンを設定するには、2 つの BNG ユーザー プレーン(サンプルアップ 1 とサンプル アップ 2)に次の設定を適用します。
system { host-name sample-112345-vm; configuration-database { max-db-size 419430400; } services { subscriber-management { enable; mode { user-plane { user-plane-name sample-up-2; transport { inet 192.0.2.200; } control-plane { control-plane-name sample-cp-1; transport { inet 192.0.2.2; } } } } } } ports { console log-out-on-disconnect; } syslog { user * { any emergency; } file messages { any notice; authorization info; } } processes { up-smg-service { traceoptions { file bbe-smg-upd size 1g files 10; level all; flag all; } } } } chassis { fpc 0 { flexible-queuing-mode; } network-services enhanced-ip; } interfaces { ge-0/0/0 { description "DHCP server clients"; hierarchical-scheduler; flexible-vlan-tagging; } unit 1 { demux-source [ inet inet6 ]; vlan-id 1000; family inet { address 198.51.100.20/24; } } } ge-0/0/1 { description "PPP clients"; hierarchical-scheduler; flexible-vlan-tagging; unit 0 { encapsulation ppp-over-ether; vlan-id 3000; } } ge-0/0/2 { description "DHCP relay clients"; hierarchical-scheduler; flexible-vlan-tagging; unit 1 { demux-source [ inet inet6 ]; vlan-id 2000; family inet { address 198.51.100.30/24; } } } ge-0/0/3 { description "DHCP relay server"; flexible-vlan-tagging; unit 0 { vlan-id 1; family inet { address 192.0.2.3/24; } } } lo0 { unit 0 { family inet { address 192.0.10.3/32; } family inet6 { address 2001:db8:4136::8000:63bf::2/128; } } } }
マルチキャストの設定
マルチキャスト設定は、BNGユーザープレーンで実行されます。
このセクションの構成例を使用して、グローバル マルチキャスト設定を構成できます。
BNGユーザープレーンでマルチキャストを次のように設定します。
[edit] protocols { igmp { query-interval 125; query-response-interval 10; query-last-member-interval 1; robust-count 2; } mld { query-interval 125; query-response-interval 10; query-last-member-interval 1; robust-count 2; } } policy-options { policy-statement OIF-MAP-V4 { term A { from { route-filter 230.10.10.1/24 orlonger; route-filter 230.20.20.1/32 exact; } then { map-to-interface ge-1/0/1.33; accept; } } then reject; } policy-statement OIF-MAP-V6 { term A { from { route-filter ff3e:0:0:0:0:0:0:101/64 orlonger; route-filter ff05:230::1/128 exact; } then { map-to-interface ge-1/0/1.33; accept; } } then reject; } policy-statement igmp-group-policy { term A1 { from { route-filter 230.0.0.1/24 orlonger; } then accept; } then reject; } policy-statement mld-group-policy { term A1 { from { route-filter ff05::/64 orlonger; } then accept; } then reject; } policy-statement ssm-map-v4 { term A1 { from { route-filter 230.0.0.1/24 orlonger; } then { ssm-source 194.0.0.22; accept; } } } policy-statement ssm-map-v6 { term A1 { from { route-filter ff05::/64 orlonger; } then { ssm-source 3000::1; accept; } } } } routing-options { multicast { ssm-groups 233.0.0.0/8; cont-stats-collection-interval 600; } }
集中型マルチキャストの設定
このセクションの設定例を使用して、集中型マルチキャストを設定できます。
BNG CUPSコントローラで集中型マルチキャストを次のように設定します。
[edit dynamic-profiles profile-name] protocols { igmp { interface "$junos-interface-name" { version 3; immediate-leave; promiscuous-mode; ssm-map-policy ssm-map-v4; group-policy igmp-group-policy; oif-map OIF-MAP-V4; } } }
分散マルチキャストの設定
このセクションの設定例を使用して、分散マルチキャストを設定できます。
BNG CUPSコントローラで、分散マルチキャストを次のように設定します。
[edit dynamic-profiles profile-name] protocols { mld { interface "$junos-interface-name" { version 2; immediate-leave; promiscuous-mode; distributed; ssm-map-policy ssm-map-v6; group-policy mld-group-policy; } } }
L2TPクライアントを設定する
このセクションのサンプル構成を使用して、L2TP クライアントを構成できます。
合法的な傍受の設定
コンフィギュレーションコマンドは radius-flow-tap
、BNG CUPSコントローラとBNGユーザープレーンに分かれています。
ダイナミック タスキング制御プロトコルの設定
ダイナミック・タスキング制御プロトコルのすべての設定は、BNG CUPSコントローラ上で実行します。
BNG CUPSコントローラで以下の設定を実行します。
[edit] System { login { class <class-name> { permissions flow-tap-operation; } user <user-name> { uid <uid>; class <class-name>; authentication { encrypted-password <string> } } } services { flow-tap-dtcp { ssh { connection-limit <connection-limit>; rate-limit <rate-limit>; } } } }