Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

12.1. Общие сведения о PPPoE Intermediate Agent

Протокол PPPoE (Point to Point Protocol over Ethernet) - протокол канального уровня передачи PPP кадров через Ethernet. PPPoE — это туннелирующий протокол, который позволяет инкапсулировать IP или другие протоколы через соединения Ethernet, устанавливая соединение «точка-точка», которое используется для транспортировки IP-пакетов. Такое соединение может быть установлено с BRAS, предоставляя пользователю широкополосный доступ и использующее аутентификацию.

PPPoE Intermediate Agent предоставляет возможность инкапсулировать в пакеты PPPoE данные о местоположении пользователя, что обеспечивает дополнительные возможности для проверки подлинности.

Существует 2 этапа в работе PPPoE: этап обнаружения и этап сеанса.

Этап обнаружения используется для получения MAC-адреса удаленного сервера для установления соединения «точка-точка» и идентификатора сеанса с сервером, а этап сеанса использует этот идентификатор сеанса для связи. PPPoE Intermediate Agent относится только к стадии обнаружения.

Этап обнаружения состоит из четырех шагов:

  1. Клиент отправляет пакет PADI (PPPoE Active Discovery Initiation). На первом шаге клиент использует широковещательный адрес как адрес назначения и широковещательный PADI (инициация активного обнаружения PPPoE) пакет для обнаружения концентратора доступа;
  2. Сервер отправляет в ответ PADO (PPPoE Active Discovery Offer). Как только пользовательская машина отослала PADI-пакет, сервер отвечает, посылая PADO-пакет, используя MAC-адреса, пришедшие с PADI. PADO-пакет содержит MAC-адреса сервера, его имя и имя сервиса;
  3. Клиент выбирает сервер, отсылая PADR (PPPoE Active Discovery Request);
  4. Подтверждая полученный PADR-пакет, сервер посылает PADS (PPPoE Active Discovery Session-confirmation), содержащий идентификатор сессии - Session ID.

PPPoE Intermediate Agent перехватывает PADI и PADR пакеты, добавляя дополнительные данные, идентифицирующие местоположение пользователя, например MAC коммутатора, порт коммутатора, VLAN пользователя. PPPoE Intermediate Agent также включает в себя функцию доверенного порта, который позволяет заблокировать прием нежелательных PADO и PADS пакетов с недоверенных портов.

12.2. Конфигурация PPPoE Intermediate Agent

  1. Настроить PPPoE Intermediate Agent глобально;
  2. Настроить PPPoE Intermediate Agent на интерфейсе.


  1. Настроить PPPoE Intermediate Agent глобально:

Команда

Описание

pppoe intermediate-agent

no pppoe intermediate-agent

!  В режиме глобальной конфигурации

Включить фунцию PPPoE Intermediate Agent, команда noотключает эту функцию

pppoe intermediate-agent type tr-101 circuit-id access-node-id <string>

no pppoe intermediate-agent type tr-101 circuit-id access-node-id

!  В режиме глобальной конфигурации

Настроить идентификатор узла доступа <string> c circuit-id tr-101Команда no удаляет этот идентификатор.

Формат circuit-id по-умолчанию: access-node-id +” eth “+ Slot ID + delimiter + Port Index + delimiter + Vlan ID. Пример тега: “abcd eth 01/003:0003”

pppoe intermediate-agent type tr-101 circuit-id identifier-string <string> option {sp | sv | pv | spv} delimiter <WORD> [delimiter <WORD> ]

no pppoe intermediate-agent type tr-101 circuit-id identifier-string option delimiter

!  В режиме глобальной конфигурации

Настроить добавляемые поля circuit-id формата tr-101. sp- слот и порт, sv- слот и vlan, pv- порт и vlan, spv- слот и порт и vlan. В случае использования spvможет быть указано 2 различных разделителя delimiterдруг за другом.

Команда noвозвращает формат по-умолчанию - spv. Формат circuit-id по-умолчанию: access-node-id +” eth “+ Slot ID + delimiter + Port Index + delimiter + Vlan ID. Пример тега: “abcd eth 01/003:0003”

pppoe intermediate-agent type self-defined circuit-id {vlan| port|id (switch-id (mac | hostname)| remote-mac) | string WORD}

no pppoe intermediate-agent type self-defined circuit-id

!  В режиме глобальной конфигурации

Задать собственный формат circuit-id. Команда noудаляет эту конфигурацию.

pppoe intermediate-agent type self-defined remoteid {mac | vlan-mac |hostname| string WORD}

no pppoe intermediate-agent type self-defined remote-id

!  В режиме глобальной конфигурации

Задать собственный формат remote-id. Команда noудаляет эту конфигурацию.

pppoe intermediate-agent delimiter <WORD>

no pppoe intermediate-agent delimiter

!  В режиме глобальной конфигурации

Задать разделитель (#|.|,|;|:|/|space).

Команда no возвращает разделитель по-умолчанию - ‘\’

pppoe intermediate-agent format (circuit-id | remote-id) (hex | ascii)

no pppoe intermediate-agent format (circuit-id | remote-id)

!  В режиме глобальной конфигурации 

Задать формат представления circuit-id или remote-id. Команда noудаляет эту конфигурацию.


2. Настроить PPPoE Intermediate Agent на интерфейсе:

Команда

Описание

pppoe intermediate-agent

no pppoe intermediate-agent

!  В режиме конфигурации интерфейса

Включить фунцию PPPoE Intermediate Agent, команда noотключает эту функцию

pppoe intermediate-agent vendor-tag strip

no pppoe intermediate-agent vendor-tag strip

!  В режиме конфигурации интерфейса

Включить функцию снятия тега вендора на порту. Команда noотключает эту функцию.

pppoe intermediate-agent trust

no pppoe intermediate-agent trust

!  В режиме конфигурации интерфейса 

Выбрать порт в качестве доверенного. Команда noвыбирает порт в качестве недоверенного.

pppoe intermediate-agent circuit-id <string>

no pppoe intermediate-agent circuit-id

!  В режиме конфигурации интерфейса

Задать строку circuit-id, для добавления на порту. Команда no удаляет эту конфигурацию.

pppoe intermediate-agent remote-id <string>

no pppoe intermediate-agent remote-id

!  В режиме конфигурации интерфейса

Задать строку remote-id, для добавления на порту. Команда no удаляет эту конфигурацию.

12.3. Пример конфигурации PPPoE Intermediate Agent



Рисунок 61.1. - Конфигурация PPPoE IA


Как показано на рисунке 61.1, PPPoE клиент и сервер подключены к одной L2 Ethernet сети. На коммутаторе, к которому подключен клиент, активирована функция PPPoE Intermediate Agent.


Пример конфигурации 1:

Code Block
languagecoldfusion
Switch(config)#pppoe intermediate-agent
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#pppoe intermediate-agent trust
Switch(config-if-ethernet1/0/1)#pppoe intermediate-agent trust vendor-tag strip
Switch(config)#interface ethernet 1/0/2
Switch(config-if-ethernet1/0/2)#pppoe intermediate-agent
Switch(config)#interface ethernet 1/0/3
Switch(config-if-ethernet1/0/3)#pppoe intermediate-agent
Switch(config)#pppoe intermediate-agent type tr-101 circuit-id access-node-id abcd
Switch(config-if-ethernet1/0/3)#pppoe intermediate-agent circuit-id aaaa
Switch (config-if-ethernet1/0/3)#pppoe intermediate-agent remote-id xyz

В результате circuit-id для клиента в порту eth1/0/2 будет выглядеть как ”abcd eth 01/002:0001”, remote-id - MAC коммутатора ”0a0b0c0d0e0f”.
Для клиента в порту eth1/0/3 будет добавляться circuit-idaaaa”, remote-idxyz”.

Пример конфигурации 2:

Code Block
languagecoldfusion
Switch(config)#pppoe intermediate-agent
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#pppoe intermediate-agent trust
Switch(config)#interface ethernet 1/0/2
Switch(config-if-ethernet1/0/2)#pppoe intermediate-agent
Switch(config)#interface ethernet 1/0/3
Switch(config-if-ethernet1/0/3)#pppoe intermediate-agent
Switch(config-if-ethernet1/0/3)#exit
Switch(config)#pppoe intermediate-agent type tr-101 circuit-id access-node-id abcd
Switch(config)#pppoe intermediate-agent type tr-101 circuit-id identifier-string efgh option spv delimiter # delimiter /
Switch(config)#interface ethernet 1/0/2
Switch(config-if-ethernet1/0/2)#pppoe intermediate-agent circuit-id bbbb
Switch(config)#interface ethernet 1/0/3
Switch(config-if-ethernet1/0/3)#pppoe intermediate-agent remote-id xyz

В результате circuit-id для клиента в порту eth1/0/2 будет выглядеть как ”bbbb”, remote-id - MAC коммутатора ”0a0b0c0d0e0f”.
Для клиента в порту eth1/0/3 будет добавляться circuit-idefgh eth 01#003/1234, remote-idxyz”.