В одной из предыдущих статей было описано настройку подключения
Сегодня задача создать PPPoE-концентратор на cisco, который будет терминировать сессии.
Делать это будем через механизм bba-group по-новому, а не по-старому с использованием vpdn-group.
Разница состоит в том, что при новом механизме у нас есть возможность использовать несколько профилей PPPoE. Обычно хватает одного, но всё-же vpdn-group уже считается legacy. И в моем примере рассматривается простой случай. Поэтому профиль будет один для роутера (default).
Итак, пусть у нас есть некий роутер с, например 1841, двумя интерфейсами:
FastEthernet0/0
ip address 26.08.xx.yy 255.255.255.252
!
FastEthernet0/1
!
Из них fa0/0 смотрит в одну сеть (например, внешнюю), а fa0/1 — в другую (внутреннюю). Клиентам выдаются белые адреса из некоторой подсети. Раздаваться адреса будут через RADIUS, но будет показан пример с локальной базой пользователей.
Настройки hostname и dns-серверов на роутере:
!
domain-name google.com
dns-server 26.08.xx1.yy1 26.08.xx2.yy2
!
Создаем для клиентов вот такой виртуальный интерфейс:
!
interface Virtual-Template1
ip unnumbered FastEthernet0/0
no ip unreachables
no ip proxy-arp
keepalive 5 3
ppp authentication chap ms-chap callin # чтобы работало также с клиентами MS Windows
!
где ip unnumbered FastEthernet0/0 — подстановка адреса внешнего интерфейса роутера в качестве «шлюза» клиента, т.е. в трассировке будет первый адрес внешнего интерфейса.
Включаем поддержку PPPoE на роутере (тут как раз пресловутое bba-group):
!
bba-group pppoe global
virtual-template 1 # (см.выше)
sessions max limit 1200 # клиентов на роутере порядка 150, но цифра взята с запасом
sessions per-mac limit 1 # на всякий случай — ограничение в одну сессию с одного mac-адреса.
sessions auto cleanup
!
Не забываем включить концентратор PPPoE на интерфейсе:
FastEthernet0/1
pppoe enable group global
!
А теперь лирическое отступление. Посмотрим, как аутентифицироваться и учитывать подключившихся. Вот пара вариантов для размышлений:
1) Локальная аутентификация. То есть пользователи хранятся в конфиге. Тут всё просто:
aaa new-model
!
aaa authentication ppp default local
aaa authorization network default local
…
username pppoeuser privilege 0 password 7 pppoepassword
2) Внешняя аутентификация. В данном случае циска не знает пользователей в логин всегда сверяется с внешним сервером по протоколу TACACS или RADIUS (более распространено). Минусы очевидны: есть необходимость в дополнительной органицации и поддержке RADIUS-сервера, а при его недоступности доступ в сеть будет запрещён. Однако при масштабировании системы, добавлении новых серверов доcтупа или резервных серверов RADIUS..
Как поднять и настроить сервер с пользователями и паролями на циске это делается следующим образом (используется дефолтный профиль):
aaa new-model
!
aaa authentication ppp default group radius
aaa authorization exec default local # чтообы на exec заходили только локальные пользователи
aaa authorization network default group radius
aaa accounting network default start-stop group radius # если предполагается учет трафика средствами RADIUS
…
ip radius source-interface FastEthernet0/0 # RADIUS-сервер смотрит в сторону ядра сети
!
radius-server host 26.08.aa.bb auth-port 1812 acct-port 1813 key 7 radiussecret
Раздавать определённые IP-адреса клиентам по логину можно также через RADIUS.