В этом посте я продолжу глубокое погружение в конфигурацию Juniper MX и настрою его на работу как BRAS . Пожалуйста, обратитесь к моему предыдущему сообщению блога для получения дополнительной информации о протоколе PPP Stack

Давайте начнем

для настройки MX как BRAS. Следующая конфигурация необходима для BRAS

Основные настройки

  • Создание интерфейса -> конфигурация внутри динамического профиля
    • Интерфейс Vlan
    • Интерфейс PPP
  • Обработка PPP (PAP) -> конфигурация внутри динамического профиля
  • Создание обратной петли
  • Аутентификация Radius — -> конфигурация внутри профиля доступа
  • Radius Accounting — -> конфигурация внутри профиля доступа
  • Назначение адреса — -> конфигурация внутри профиля доступа. Служба и распределение скорости

Advanced (Дополнительно)

  • Расширенный QoS
  • Изменение авторизации
  • Captive portal / настройки перенаправления
  • Wholesale

Как MX обрабатывать входящие пакеты PPP из DSLAM?

Juniper MX использует концепцию динамического профиля для создания интерфейса PPPoE под интерфейсом основного блока (например, ge-1/0/1 .0) после получения сообщения PPP PADR (Примечание: это чистая коммуникация уровня 2 и отсутствие IP-адреса . Решение маршрутизации остается для идентификаторов VLANS и PPP внутри пакетов PPP). Получение пакета PPP вызовет динамический профиль

Итак, что такое динамический профиль?

  • Динамический интерфейс создается по требованию (т.е. когда пользователь входит в систему) и удаляется при выходе пользователя из системы, чтобы зарезервировать ресурсы BRAS. Таким образом, конфигурация подписчика «создается» из шаблона
  • Динамический профиль позволяет динамически создавать интерфейс (интерфейс VLAN или интерфейс PPP) на основе захваченных атрибутов из сетей (таких как входящая VLAN) и от AAA (таких как входной и выходной фильтр). мы подробно обсудим эту концепцию в этом сообщении

Juniper проделал отличную работу, пытаясь отвлечь конфигурацию динамического профиля и использовать переменные параметры, которые были заменены во время создания подписчика. Этим переменным предшествует знак $

Основная / минимальная информация о том, что динамический профиль должен включать внутри интерфейса PP0 (встроенный интерфейс внутри MX)

  • Номер логического устройства, представленный блоком $ junos-interface . Один логический интерфейс для подписки
  • Название интерфейса устройства (например: ge-1/0 / 1.0), которое получило пакет PPPoE, представленный параметром $ junos-base-interface
  • Поручить маршрутизатору действовать как сервер PPPoE
  • Протокол аутентификации, согласованный в фазе LCP, который будет использоваться во время фазы аутентификации (PAP или CHAP)
  • Необработанный адрес, используемый для фазы NCP
  • Дополнительная информация для динамического профиля
    • Постоянный таймер для сеанса PPPoE
    • Фильтр ввода и вывода (скорость, возвращаемая с AAA)

После того, как вы настроите динамический профиль для определения атрибутов и параметров динамического PPPoE-абонентского интерфейса, вы должны приложить динамический профиль к базовому интерфейсу Ethernet, на котором вы хотите, чтобы маршрутизатор динамически создавал логический интерфейс PPPoE. Базовый интерфейс для динамического логического интерфейса PPPoE должен быть статически создан и настроен с инкапсуляцией PPPoE (ppp-over-ether). Когда абонент PPPoE входит в базовый интерфейс, маршрутизатор динамически создает логический интерфейс PPPoE и применяет атрибуты, определенные в профиле, к интерфейсу

Нет больше теорий, давайте начнем пачкать наши руки ! )

сначала мы сконфигурируем следующие части

  • Создание интерфейса -> конфигурация внутри динамического профиля
    • Интерфейс Vlan
    • Интерфейс PPP
  • Обработка PPP (PAP) -> конфигурация внутри динамического профиля

Создание интерфейса

Интерфейс VLAN

Если у вас есть небольшое и ограниченное количество DSLAM в вашей сети, вы можете обрабатывать конфигурацию VLAN «вручную» и создавать суб-интерфейс для каждого нового DSLAM, завершенного на границе MX. Например, если у вас есть новый DSLAM в POP, который будет завершен в ge-1/0/1 в BRAS, вам нужно каждый раз вводить следующую конфигурацию и изменять только идентификатор vlan

ge-0/0/1 {
vlan-tagging;
unit 800 {
encapsulation ppp-over-ether;
vlan-id 800;
pppoe-underlying-options {
access-concentrator TEDATA;
dynamic-profile pppoe-profile;
}
}
unit 900 {
encapsulation ppp-over-ether;
vlan-id 900;
pppoe-underlying-options {
access-concentrator TEDATA;
dynamic-profile pppoe-profile;
}
}
}
PPP Interface
the PPP interface is dynamically created through using the Dynamic profile
interfaces {
pp0 {
unit “$junos-interface-unit” {
ppp-options {
pap;
}
pppoe-options {
underlying-interface “$junos-underlying-interface”;
server;
}
keepalives interval 30;
family inet {
filter {
input “$junos-input-filter”;
output “$junos-output-filter”;
}
unnumbered-address lo0.0;
}
}
}
}

давайте разбивать каждую строку в приведенной выше конфигурации

1 — Создайте новый динамический профиль, называемый pppoe-profile

[email protected]# edit dynamic-profiles pppoe-profile

2. Используйте интерфейс pp0 для обработки входящих ppp-пакетов и создания нового суба над ним для каждого абонента

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit $junos-interface-unit

3-Конфигурировать subinterface pp0 для использования протокола PAP во время аутентификации внутри ppp-options

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit $junos-interface-unit ppp-options pap

4-Конфигурировать subinterface pp0 для работы в качестве PPPoE-сервера внутри pppoe-options

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit $junos-interface-unit pppoe-options server

5-Соедините вновь созданный динамический интерфейс с основным интерфейсом, который получает трафик (например: ge-1/0 / 1.800)

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit $junos-interface-unit pppoe-options underlying-interface $junos-underlying-interface

6-Конфигурирование интерфейса без пропусков IP, используемого во время NCP

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit “$junos-interface-unit” family inet unnumbered-address lo0.0

Зачем использовать IP Unnumbered? 

7-Настройка фильтров брандмауэра, которые были возвращены из SBR (в основном, скорость)

[edit dynamic-profiles pppoe-profile]

[email protected]# set interfaces pp0 unit “$junos-interface-unit” family inet filter input “$junos-input-filter”

[email protected]# set interfaces pp0 unit “$junos-interface-unit” family inet filter output “$junos-output-filter”

Полная картина конфигурации приведена ниже на рисунке. Структура XML для динамического профиля . Завершите остальные части.

    • Создание обратной петли
    • Аутентификация Radius — -> конфигурация внутри профиля доступа
    • Radius Accounting — -> конфигурация внутри профиля доступа
  • Назначение адреса — -> конфигурация внутри профиля доступа

Создание Loopback

#set interfaces lo0 unit 0 family inet address 90.90.90.1/32

Radius Authentication

1-Определить radius сервера

#set access radius-server 192.168.5.246 secret password123

#set access radius-server 192.168.5.246 source-address 192.168.3.103 #set access radius-server 192.168.5.247 secret password123

#set access radius-server 192.168.5.247 source-address 192.168.3.103

2-Создать профиль доступа, который использует серверы с указанным радиусом при аутентификации

#set access profile SBR radius authentication-server 192.168.5.246

#set access profile SBR radius authentication-server 192.168.5.247

#set access profile SBR authentication-order radius

3-разрядный NAS-идентификатор, используемый внутри

#set access profile SBR radius options nas-identifier 192.168.3.103

Radius Accounting

1-Поручить MX использовать предварительно сконфигурированный сервер радиусов в процессе учета

#set access profile SBR radius accounting-server 192.168.5.246

#set access profile SBR radius accounting-server 192.168.5.247 #set access profile SBR accounting-order radius

Назначение IP-адреса

1-Настройка имени пула адресов и сети

#set access address-assignment pool BRAS_POOL family inet network 192.168.3.0/24

2-Настроить минимальный и максимальный адрес

#set access address-assignment pool BRAS_POOL family inet range 1 low 192.168.3.66

#set access address-assignment pool BRAS_POOL family inet range 1 high 192.168.3.70

3-Настроить максимальное время аренды

#set access address-assignment pool BRAS_POOL family inet dhcp-attributes maximum-lease-time 3600

4-Настройка DNS и шлюза

#set access address-assignment pool BRAS_POOL family inet dhcp-attributes name-server 8.8.8.8

#set access address-assignment pool BRAS_POOL family inet dhcp-attributes router 192.168.3.4

Брандмауэр и распределение скорости

Брандмауэр и полицейский используются для ограничения скорости абонентского порта до определенной полосы пропускания, расширенные QoS и иерархические планировщики будут обсуждаться позже, но на данный момент мы будем применять скорость входа и выхода для каждого подинтерфейса абонента

1-Конфигурирование выходного фильтра

#set firewall family inet filter MONTHLY_4096_OUT interface-specific

#set firewall family inet filter MONTHLY_4096_OUT term 1 then policer MONTHLY_4096_POLICER

#set firewall family inet filter MONTHLY_4096_OUT term 1 then accept

2-Настроить фильтр Ingress

#set firewall family inet filter MONTHLY_4096_IN interface-specific

#set firewall family inet filter MONTHLY_4096_IN term 1 then policer MONTHLY_256K_POLICER

#set firewall family inet filter MONTHLY_4096_IN term 1 then accept

3-Настроить policy используемый в выходном фильтре

#set firewall policer MONTHLY_4096_POLICER if-exceeding bandwidth-limit 4m

#set firewall policer MONTHLY_4096_POLICER if-exceeding burst-size-limit 100k

#set firewall policer MONTHLY_4096_POLICER then discard

4-Настроить policy используемый в входном фильтре

#set firewall policer MONTHLY_256K_POLICER if-exceeding bandwidth-limit 1m

#set firewall policer MONTHLY_256K_POLICER if-exceeding burst-size-limit 128k

#set firewall policer MONTHLY_256K_POLICER then discard

Сводная информация для приведенной выше конфигурации приведена ниже

мы добавим имя пользователя абонента в качестве собственного пользователя внутри SBR и настроим атрибут списка возврата, чтобы вернуть имя пула адресов (BRAS_POOL) и разрешить подписчику с двумя политиками, применяемыми в обоих направлениях (вход и выход).     Также мы добавим наш маршрутизатор IP-адрес в качестве Radius-клиента внутри SBR и настроить его с помощью того же сеанса с разделяемым секретом.

Давайте проверим! Давайте запустим наш клиент PPPoE

1-Запустите клиент PPPoE и настройте его с именем пользователя и паролем в радиусе

Журналы MX

Переход к MX для просмотра статуса подписчика. Вы можете видеть, что Пользователь успешно подключен к BRAS и получает IP-адрес из выделенного диапазона

[email protected]# run show dynamic-configuration session information session-id 3
Session info:
Accounting session ID: 3
IP address: 192.168.3.66
IP netmask: 255.255.255.0
Logical system name: default
Profile name: PP0
Session version: 2
Physical IFD name of the interface: ge-0/0/1
MAC address: 00:0c:29:b6:25:41
NAS port type: 15
Routing instance: default
Access Profile: SBR
User name: [email protected]
Interface IFD Name: pp0
Interface name: pp0.1073741826 //Dynamically Created interface by Dynamic profile
Unit number of the interface: 1073741826
Dynamic-configuration state: 2
Client session type: 64
IFL type: 2
Framed Ipv4 Pool: BRAS_POOL
Accounting type: 1
Accounting interval: 0
Client login time: 2015-10-13 17:53:46 UTC
VLAN tag: 800
Service Type: 2
Framed Protocol: 1
Advisory options upstream rate: 0
Advisory options downstream rate: 0
Primary DNS address: 8.8.8.8
NAS port: 4195104
Configuration bits: 0x80003 0 0 0 0 0
Dynamic configuration:
junos-input-filter: MONTHLY_4096_IN //Applied Firewall ingress filter
junos-output-filter: MONTHLY_4096_OUT //Applied Firewall egress filter
SBR Logs

1-Access Request received from BRAS

Authentication Request
Received from IpAddr=192.168.3.103 Port=58716
Packet Code=0x01 Id=0x01
Client Name=”192.168.3.103″
Dictionary Name=”juniper.dct”
Vector =
000: e2 07 ed 9e 00 38 29 2e d2 49 48 90 f1 67 a6 2e |…..8)..IH..g..|
Parsed Packet :
User-Name : String Value = [email protected]
User-Password : Value =
000: 2e 02 66 a4 2a 42 75 24 8a c1 7d 9b 8c 8d db df |..f.*Bu$..}…..|
Service-Type : Integer Value = 2
Framed-Protocol : Integer Value = 1
Chargeable-User-Identity : String Value =
Acct-Session-Id : String Value = 3
Unisphere-Dhcp-Mac-Addr : String Value = 000c.29b6.2541
NAS-Identifier : String Value = 192.168.3.103
NAS-Port : Integer Value = 4195104
NAS-Port-Type : Integer Value = 15
NAS-IP-Address : IPAddress = 192.168.3.103

2-Access Accept sent from SBR to BRAS
Authentication Response
Packet Code=0x02 Id=0x01
Vector =
000: 43 96 10 96 8d 24 55 c6 7f 6c e3 d5 33 c5 2a 05 |C….$U..l..3.*.|
Framed-Pool : String Value = BRAS_POOL //returned IP Pool
Unisphere-Egress-Policy-Name : String Value = MONTHLY_4096_OUT //returned egress filter
Unisphere-Ingress-Policy-Name : String Value = MONTHLY_4096_IN  //returned ingress filter
3-Accounting Request sent from BRAS to SBR
Accounting Request
Received from IpAddr=192.168.3.103 Port=58716
Packet Code=0x04 Id=0x02
Client Name=”192.168.3.103″
Dictionary Name=”juniper.dct”
Vector =
000: 06 4d 42 c7 ff e2 22 48 20 36 e3 86 e9 36 0f 84 |.MB…”H 6…6..|
Parsed Packet :
User-Name : String Value = [email protected]
Acct-Status-Type : Integer Value = 1 //Accounting-Start
Acct-Session-Id : String Value = 3
Event-Timestamp : Integer Value = 1444758828
Service-Type : Integer Value = 2
Framed-Protocol : Integer Value = 1
Unknown type : Value =
000: 00 00 13 0a b1 16 50 6f 72 74 20 53 70 65 65 64 |……Port Speed|
010: 3a 20 31 30 30 30 30 30 30 6b |: 1000000k |
Acct-Authentic : Integer Value = 1
Acct-Delay-Time : Integer Value = 0
Unisphere-Dhcp-Mac-Addr : String Value = 000c.29b6.2541
Unisphere-Egress-Policy-Name : String Value = MONTHLY_4096_OUT
Framed-IP-Address : IPAddress = 192.168.3.66
Framed-IP-Netmask : IPAddress = 255.255.255.0
Unisphere-Ingress-Policy-Name : String Value = MONTHLY_4096_IN
NAS-Identifier : String Value = 192.168.3.103
NAS-Port : Integer Value = 4195104
NAS-Port-Type : Integer Value = 15
NAS-IP-Address : IPAddress = 192.168.3.103

4-Active Session
CurrentSessions:
+ — — — — — — — — — — — — — — — — — — — — — — — + (1)
CORE
UniqueSessionId: ‘1f0b5a234793efca010c6c33cf88b111’x
CreationTime: 2015-10-13 17:53:48 (TZ=+00:00)
ExpirationTime: 2015-10-14 17:53:48 (TZ=+00:00)
Ipv4Address: 192.168.3.66
IpAddrPool: (n u l l)
NasName: “192.168.3.103”
Status: Active (2)
UserConcurrencyId: (n u l l)
MobileIpType: 0
3gpp2ReqType: 0
WimaxClientType: 0
WimaxAcctFlows:
FEATURE
AcctAutoStop: (n u l l)
ClassAttribute: ’00’x
OPTIONAL
UserName: “[email protected]
AcctSessionId: “3”
TransactionId: (n u l l)
NasPortType: Ethernet (15)
NasPort: 4,195,104
CallingStationId: (n u l l)
CalledStationId: (n u l l)
MobileCorrelationId: (n u l l)
Ipv6InterfaceId: (n u l l)
NasIpv4Address: 192.168.3.103
NasIpv6Address: (n u l l)
RADATTR
WimaxSessionId: (n u l l)
AcctMultiSessionId: (n u l l)
FunkOuterUserName: (n u l l)
PRIVATE

Отлично, теперь все в порядке!

Но есть ли способ обеспечить более «динамически» общую картину? Есть ли способ не предоставлять VLAN вручную и вместо этого использовать динамическую конфигурацию для автоматического его предоставления?

Ответ: Да. мы также можем настроить виртуальную локальную сеть, которая будет динамически создаваться с использованием специального интерфейса, называемого «demux», который используется для размещения стека VLAN и SVLAN. Об этом сценарии в следующем сообщении в блоге.

0 0 голос
Рейтинг статьи