Konfiguration von Juniper BNG CUPS
ZUSAMMENFASSUNG Dieses Dokument enthält Beispielkonfigurationen, mit denen Sie Juniper BNG CUPS einrichten und den Anwenderzugriff und die Anwenderverwaltung konfigurieren können.
So konfigurieren Sie Juniper BNG CUPS für das Anwendermanagement
Juniper BNG CUPS verwendet eine disaggregierte Betriebsart für die Anwenderverwaltung, die sich von der Unterstützung von Junos OS unterscheidet. In einem disaggregierten Betrieb befinden sich der Juniper BNG CUPS-Controller (BNG CUPS-Controller) und die Juniper BNG-Benutzerebene (BNG-Benutzerebenen) auf separaten Systemen. Darüber hinaus können Sie einen BNG CUPS-Controller mit mehreren BNG-Benutzerebenen verknüpfen. Um Juniper BNG CUPS für die Anwenderverwaltung einzurichten, müssen Sie Konfigurationen sowohl auf dem BNG CUPS-Controller als auch auf allen zugehörigen BNG-Benutzerebenen durchführen.
In den folgenden Abschnitten wird beschrieben, wie Sie Juniper BNG CUPS für die Anwenderverwaltung konfigurieren und verwenden.
Konfigurieren Des BNG CUPS-Controllers
In Juniper BNG CUPS können Sie die folgende Beispielkonfiguration des BNG CUPS-Controllers verwenden, um Anwenderverwaltungsfunktionen für DHCP und PPP einzurichten.
Informationen zum Zugriff auf die CLI finden Sie unter Zugriff auf die BNG CUPS-Controller-CLI.
Zur Konfiguration des BNG CUPS-Controllers wenden Sie die folgende Konfiguration an:
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;
}
}
}
}
}
}
Konfigurieren von BNG-Benutzerebenen
Nach der Einrichtung des BNG CUPS-Controllers müssen Sie eine Zuordnung zu den BNG-Benutzerebenen einrichten. Sie können die folgenden Beispielkonfigurationen für BNG-Benutzerebenen verwenden, um die Benutzerverwaltungsfunktionen für zwei BNG-Benutzerebenen einzurichten.
In diesem Beispiel sind die Namen der BNG-Benutzerebenen Sample-up-1 und Sample-up-2. Außerdem stellen die beiden BNG-Benutzerebenen Zuordnungen zum BNG CUPS-Controller aus der Beispielkonfiguration in Konfigurieren des BNG CUPS-Controllers her.
Wenden Sie zur Konfiguration von BNG-Benutzerebenen die folgende Konfiguration auf die beiden BNG-Benutzerebenen an (Sample-up-1 und Sample-up-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;
}
}
}
}
Multicast konfigurieren
Multicast-Konfigurationen werden auf den BNG-Benutzerebenen durchgeführt.
Sie können die Beispielkonfigurationen in diesem Abschnitt verwenden, um globale Multicast-Einstellungen zu konfigurieren.
Konfigurieren Sie Multicast auf BNG-Benutzerebenen wie folgt:
[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;
}
}
Zentrale Multicast-Konfiguration
Sie können die Beispielkonfigurationen in diesem Abschnitt verwenden, um zentralisierten Multicast zu konfigurieren.
Konfigurieren Sie den zentralisierten Multicast auf dem BNG CUPS-Controller wie folgt:
[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;
}
}
}
Konfigurieren von verteiltem Multicast
Sie können die Beispielkonfigurationen in diesem Abschnitt verwenden, um verteiltes Multicast zu konfigurieren.
Konfigurieren Sie verteilten Multicast auf dem BNG CUPS-Controller wie folgt:
[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;
}
}
}
Konfigurieren von L2TP-Clients
Sie können die Beispielkonfiguration in diesem Abschnitt verwenden, um L2TP-Clients zu konfigurieren.
Konfigurieren Der zulässige Abfang
Die radius-flow-tap Konfigurationsbefehle werden zwischen dem BNG CUPS-Controller und den BNG-Benutzerebenen aufgeteilt.
Konfigurieren des Dynamic Tasking Control Protocol
Sie führen alle Dynamic Tasking Control Protocol-Konfigurationen auf dem BNG CUPS-Controller aus.
Führen Sie die folgende Konfiguration auf dem BNG CUPS-Controller aus:
[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>;
}
}
}
}