четверг, 30 июня 2011 г.

Настройка SLA (резервный интернет)


Здравствуйте.
Сегодня рассмотрим вопрос управления интернетом от нескольких провайдеров.
А именно: есть основной канал и резервный. Резервный канал как это часто бывает является по мегабитным  и будет активироваться только в момент отказа основного.Для этого будем использовать sla. Что такое sla коротко здесь.


СТЕНД
Соберем стенд для демонстрации данной ситуации.

Роутер R1 - некий ресурс в интернете
Роутеры R2 и R3 - провайдеры интернета
Роутер R5 - наш маршрутизатор


НАСТРОЙКА МАРШРУТИЗАТОРА 

Запускаем консоль.

Входим в привилегированный режим.
R1#enable

Входим в режим конфигурирования терминала.
R1#configure terminal

Создаем собственно sla. Редактированию sla не поддается. В случае ошибки надо удалить и создать заново.
R5(config)#ip sla 1

Указываем что будем "пинговать" некий ресурс  в интернете (в нашем случае это Loopback 0 на R2) через интерфейс fastEthernet 0/0 (вариантов проверки различных ресурсов много, но в данном пример будем использовать именно icmp-echo).
R5(config-ip-sla)#icmp-echo 90.90.90.1 source-interface fastEthernet 0/0

Выходим.
R5(config-ip-sla-echo)#exit

Создаем задание для sla с параметрами начала работы "немедленно и на всегда". Так же не поддается редактированию.
R5(config)#ip sla schedule 1 start-time now life forever

Создаем track на доступность sla.
R5(config)#track 1 ip sla 1 reachability

Создаем статический маршрут с зависимостью от track1. Здесь мы будем проверять только на примере подсети 10.0.0.0 /24.
R5(config)#ip route 10.0.0.0 255.255.255.0 fastEthernet 0/1 track 1

Теперь выйдем и посмотрим таблицу маршрутизации.
R5#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
D        10.0.0.0/8 [90/33280] via 20.20.20.1, 00:32:00, FastEthernet0/1
S        10.0.0.0/24 is directly connected, FastEthernet0/1
D        10.1.0.0/24 [90/30720] via 10.10.10.1, 00:32:14, FastEthernet0/0
D        10.1.1.0/24 [90/30720] via 10.10.10.1, 00:32:14, FastEthernet0/0
C        10.10.10.0/24 is directly connected, FastEthernet0/0
L        10.10.10.2/32 is directly connected, FastEthernet0/0
      20.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
D        20.0.0.0/8 [90/33280] via 10.10.10.1, 00:32:14, FastEthernet0/0
C        20.20.20.0/24 is directly connected, FastEthernet0/1
L        20.20.20.2/32 is directly connected, FastEthernet0/1
D     90.0.0.0/8 [90/156160] via 10.10.10.1, 00:12:50, FastEthernet0/0

Мы видим что есть статический маршрут который мы задавали. Так как статический маршрут имеет больший приоритет над eigrp то трафик должен ходить именно через fastEthernet 0/1. В случае когда используются только статические маршруты разделение по приоритетам делается с помощью задания метрики(дистанции). Соответственно у маршрута с track она должна быть выше. В данный момент дистанция равна 1. То есть резервный статический маршрут для данного примера должен быть в диапазоне  2-255. Следует заметить, что маршрут с более низкой дистанцией в активную таблицу маршрутизации не попадает.

Посмотрим состояние track маршрута.
R5#show ip route track-table
 ip route 10.0.0.0 255.255.255.0 FastEthernet0/1 track 1 state is [up]

Проверим работает ли. Трафик должен пойти по заведомо большему пути через fastEthernet 0/1 
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1  *
    20.20.20.1 36 msec 100 msec
  2 10.1.1.1 48 msec 84 msec 80 msec
  3 10.1.0.1 124 msec *  108 msec

Сымитируем проблему с интернетом отключив интерфейс Loopback 0 на R2.
R2(config)#int loopback 0
R2(config-if)#shutdown

Сообщение от отключении интерфейса
*Mar  1 01:05:44.943: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down
*Mar  1 01:05:45.943: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to down

Сообщение на R5 о недоступности sla.
*Jul  1 08:59:39.391: %TRACKING-5-STATE: 1 ip sla 1 reachability Up->Down


Грабли: вот это на самом деле очень важное сообщение. Было в практике когда после падения некого удаленного хоста сообщение не появлялось хотя маршрут проподал из активной таблицы  и роутер не переключался. По этой причине в стенде использован маршрутизатор с7200(R5) остальные соответственно с2961.  

Проверяем наличие нашего статического маршрута. Если все нормально то его не должно быть.
R5#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
D        10.0.0.0/8 [90/33280] via 20.20.20.1, 00:35:31, FastEthernet0/1
D        10.0.0.0/24 [90/33280] via 10.10.10.1, 00:00:27, FastEthernet0/0
D        10.1.0.0/24 [90/30720] via 10.10.10.1, 00:35:45, FastEthernet0/0
D        10.1.1.0/24 [90/30720] via 10.10.10.1, 00:35:45, FastEthernet0/0
C        10.10.10.0/24 is directly connected, FastEthernet0/0
L        10.10.10.2/32 is directly connected, FastEthernet0/0
      20.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
D        20.0.0.0/8 [90/33280] via 10.10.10.1, 00:35:45, FastEthernet0/0
C        20.20.20.0/24 is directly connected, FastEthernet0/1
L        20.20.20.2/32 is directly connected, FastEthernet0/1

Посмотрим состояние track маршрута.
R5#show ip route track-table
 ip route 10.0.0.0 255.255.255.0 FastEthernet0/1 track 1 state is [down]
Как видно он в "лежке".

Проверим по какому маршруту ходит трафик.
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1 10.10.10.1 96 msec 64 msec 52 msec
  2 10.1.0.1 76 msec *  72 msec
Видно что он ходит через fastEthetnet 0/0 маршрутизатора R5.

Посмотрим на восстановление основного канала.
Включим интерфейс. 
R2(config-if)#no shutdown
R2(config-if)#
*Mar  1 01:08:17.871: %LINK-3-UPDOWN: Interface Loopback0, changed state to up
*Mar  1 01:08:18.871: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up

Секунд через 30 на R5 появилось сообщение о поднятии sla.
*Jul  1 09:02:34.395: %TRACKING-5-STATE: 1 ip sla 1 reachability Down->Up

Проверим по какому маршруту ходит трафик.
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1 20.20.20.1 56 msec 44 msec 28 msec
  2 10.1.1.1 32 msec 56 msec 36 msec
  3 10.1.0.1 92 msec *  72 msec
Собственно видно, что ходит трафик по основному маршруту.
На этом все...



среда, 29 июня 2011 г.

GRE over IPSec

Здравствуйте.
Очень часто возникает задача связать два офиса. Одним из способов является настройка GRE туннелей. Коротко читаем здесь.

СТЕНД
Соберем стенд на основе GNS3. Добавим три маршрутизатора типа c2691 и облако.
Как собирать стенд в GNS можно глянуть здесь в начале статьи.
Для данной схемы маршрутизатор R1 будет маршрутизатором клиента.R2 некий маршрутизатор провайдера.R3 маршрутизатор удаленного офиса.
Настроим наши маршрутизаторы.

НАСТРОЙКА МАРШРУТИЗАТОРА 

Запускаем консоль.

Входим в привилегированный режим.
R1#enable

Входим в режим конфигурирования терминала.
R1#configure terminal

Входим на интерфейс к которому подключено "облако".
R1(config)#interface fastEthernet 0/1

Присваиваем IP адрес интерфейсу. 
R1(config-if)#ip address 10.1.0.60 255.255.255.0
(В данном случае это просто свободный адрес. он может быть любым.)


Включаем его.
R1(config-if)#no shutdown


Сообщение о поднятии интерфейса.

*Mar  1 00:09:18.955: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:09:19.955: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up


Выходим из настройки интерфейса.
R1(config-if)#exit

Повторяем для другого интерфейса


Входим на интерфейс.
R1(config)#interface fastEthernet 0/0

Присваиваем IP адрес интерфейсу. 
R1(config-if)#ip address 192.168.30.1 255.255.255.252


Включаем его.
R1(config-if)#no shutdown


Сообщение о поднятии интерфейса.

*Mar  1 00:10:14.263: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:10:15.263: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Выходим из настройки интерфейса.
R1(config-if)#exit

Аналогично настроим R2.
Адрес интерфейса fa 0/0 будет 192.168.30.2 с маской 255.255.255.252. Адрес интерфейса fa 0/1 будет 192.168.31.1  с маской 255.255.255.252.

R3 будет иметь следующие адреса интерфейсов.
fa 0/1 соответственно 192.168.31.2 маска 255.255.255.252
fa 0/0 адрес 20.20.20.1 маска 255.255.255.0


Для того чтобы наш компьютер мог "достучатся" до удаленного офиса. Настроим статические маршруты на роутерах.


На R1 в режиме конфигурации вводим.
R1(config)#ip route 192.168.31.0 255.255.255.252 fastEthernet 0/0


где  192.168.31.0 255.255.255.252 - подсеть к которой будем обращаться.
fastEthernet 0/0 - направление в котором будем искать искомую подсеть. В данном случае это выходной интерфейс нашего маршрутизатора. Возможен вариант и с адресом следующего маршрутизатора.


На R3 вводим следующее.

R3(config)#ip route 192.168.30.0 255.255.255.252 fastEthernet 0/1
Теперь маршрутизатор R1 видит R3.
Для подтверждения введем в привилегированном режиме.

R1#ping 192.168.31.2


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.31.2, timeout is 2 seconds:
...!!
Success rate is 40 percent (2/5), round-trip min/avg/max = 44/72/100 ms


Как видно связь есть хотя первые пакеты и потерялись.


Сделаем тоже с маршрутизатора R3, но из режима конфигурации терминала с помощью команды do


R3(config)#do ping 192.168.30.1


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.30.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/52/72 ms

Команда do позволяет запускать команды не доступные в режиме конфигурации терминала.
 Командой traceroute проследим прохождение пакетов.

R1#traceroute 192.168.31.2


Type escape sequence to abort.
Tracing the route to 192.168.31.2


  1 192.168.30.2 40 msec 44 msec 28 msec
  2 192.168.31.2 44 msec *  92 msec
Как видно пакеты проходят через R2 (192.168.30.2)

Теперь когда наши маршрутизаторы через интернет "видят" друг друга настроим собственно туннель.
В режиме конфигурации терминала введем команды.


Для начала активируем интерфейс туннеля.
R1(config)#interface tunnel 0


Присвоим ip адрес нашему интерфейсу.
R1(config-if)#ip address 10.10.10.1 255.255.255.252


Введем адрес назначения туннеля, т.е. адрес маршрутизатора до которого будем строить туннель.
R1(config-if)#tunnel destination 192.168.31.2


Введем интерфейс с которого начнется туннель.
R1(config-if)#tunnel source fastEthernet 0/0 

Сообщение о поднятии туннеля.
*Mar  1 03:28:07.987: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, 
changed state to up


Проделаем те же действия  на маршрутизаторе удаленного офиса R3.

Для начала активируем интерфейс туннеля.
R1(config)#interface tunnel 0

Присвоим ip адрес нашему интерфейсу.
R1(config-if)#ip address 10.10.10.2 255.255.255.252

Укажем адрес назначения
R1(config-if)#tunnel destination 192.168.31.2

Введем интерфейс с которого начнется туннель.
R1(config-if)#tunnel source fastEthernet 0/1 

Сообщение о построении туннеля.

*Mar  1 03:32:43.187: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

Для того что бы наши роутеры использовали этот туннель надо настроить маршрутизацию.
Так как у нас маршрутизаторы из семейства cisco будем использовать протокол eigrp.
Познакомится с ним можно здесь.
   
Войдем в режим конфигурирования протокола маршрутизации eigrp.
R1(config)#router eigrp 1
где цифра указывает на номер автономной системы. В более крупных сетях могут существовать несколько автономных систем.

Укажем под сети  которые присоединены к нашему маршрутизатору.

R1(config-router)#network 10.10.10.0 0.0.0.3
R1(config-router)#network 10.1.0.0 0.0.0.255

Здесь вместо маски под сети указывается wild card bits, которое является числом ip адресов под сети, включая broadcast.  

Для того чтобы трафик ходил по туннелю укажем только под сеть туннеля и локальную под сеть.

Аналогично проделаем для маршрутизатора R3.
R3(config)#router eigrp 1
R3(config-router)#network 10.10.10.0 0.0.0.3

R3(config-router)#network 20.20.20.0 0.0.0.255

При нахождении единой сети для маршрутизаторов использующих протокол eigrp выдаются сообщения о соседе(neighbor).
Пример сообщений показан ниже.

На R1.
*Mar  1 18:23:39.647: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.2 (Tunnel0) is up: new adjacency


На R3.
 Internet Security Association and Key Management Protocol (ISAKMP) policy Internet Security Association and Key Management Protocol (ISAKMP) policy
*Mar  1 18:23:38.499: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.1 (Tunnel0) is up: new adjacency


Теперь когда поднят туннель и настроена маршрутизация локальные сети наших офисов могут "видеть" друг друга.


Для примера выполним команду ping.
R1#ping 20.20.20.1


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/50/64 ms


Команда traceroute подтверждает что трафик ходит именно по туннелю.
R1#traceroute 20.20.20.1


Type escape sequence to abort.
Tracing the route to 20.20.20.1


  1 10.10.10.2 128 msec *  88 msec


Теперь когда связь есть надо сделать её безопасной.
Для начала настроим листы доступа(access-list).
Разрешим трафик по gre протоколу с адреса 192.168.30.1 на адрес 192.168.31.2, т.е разрешим стоить наши gre туннели между только нашими маршрутизаторами. По умолчанию последним правилом является запретить все. Так что то что не не разрешено явно, то запрещено.   
Для R1.



R1(config)#access-list 100 permit gre host 192.168.30.1 host 192.168.31.2

Для R3.
R3(config)#access-list 110 permit gre host 192.168.31.2 host 192.168.30.1



Теперь настроим шифрование канала.

Создадим политику.

R1(config)#crypto isakmp policy 1

Укажем тип аутентификации.
R1(config-isakmp)#authentication pre-share


Выйдем из настройки политики и укажем ключ для аутентификации.
R1(config)#crypto isakmp key 0 cisco address 0.0.0.0

Введем типы шифрования 
R1(config)#crypto ipsec transform-set cisco esp-aes 256 esp-md5-hmac

Опишем режим.
R1(cfg-crypto-trans)#mode transport
 

Аналогично сделаем и для R3.

Теперь создадим crypto map на R1 с именем cisco,который позже применим к интерфейсу.
R1(config)#crypto map cisco 10 ipsec-isakmp
При создании crypto map выпадает сообщение.
% NOTE: This new crypto map will remain disabled until a peer

 
        and a valid access list have been configured.
Которое говорит о необходимости настройки адреса и листа доступа.
Укажем адрес.
R1(config-crypto-map)#set peer 192.168.31.2

Укажем типы шифрования.
R1(config-crypto-map)#set transform-set cisco

И последним шагом указываем наш лист доступа.
R1(config-crypto-map)#match address 100

Создадим на R3
R3(config)#crypto map cisco 10 ipsec-isakmp
R3(config-crypto-map)#set peer 192.168.30.1
R3(config-crypto-map)#set transform-set cisco
R3(config-crypto-map)#match address 110

Применим данные crypto map к интерфейсам.

R1(config)#interface fastEthernet 0/0
R1(config-if)#crypto map cisco

Сообщение об активации crypto.
*Mar  1 21:39:19.010: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON


И получаем предупреждение.
*Mar  1 21:39:22.334: %CRYPTO-4-RECVD_PKT_NOT_IPSEC: Rec'd packet not an IPSEC packet.
        (ip) vrf/dest_addr= /192.168.30.1, src_addr= 192.168.31.2, prot= 47

А также о том что eigrp тоже перестал работать.
*Mar  1 21:39:32.674: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.2 (Tunnel0) is down: holding time expired

Применим crypto map на R3
R3(config-if)#crypto map cisco
 

Сообщение об активации crypto.
*Mar  1 21:45:58.954: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

И о восстановлении туннеля и маршрутизации.
*Mar  1 21:46:07.978: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.1 (Tunnel0) is up: new adjacency

Сообственно все!

Основа для данной статьи взята здесь.

среда, 22 июня 2011 г.

Настройка PPPoE сервера

Здравствуйте.
Собственно что такое PPPoE?
PPPoE - это сетевой протокол канального уровня для передачи PPP кадров через Ethernet. Аббревиатура PPPoE означает Point-to-point protocol over Ethernet, что переводится как Протокол точка-точка через Ethernet.  В основном используется xDSL-сервисами.
Коротко можно ознакомится здесь.
Что такое Ethernet и PPP можно также почитать здесь и здесь  соответственно.

СТЕНД
Для демонстрации работы PPPoE в "домашних условиях" соберем стенд на основе GNS3.
Собственно берем его здесь. Также нам понадобится IOS. Будем использовать IOS c2691-adventerprisek9-ivs-mz-124-9-T7. После установки GNS3 добавим IOS в программу.
Делается это так...
Из меню выбираем пункт "Образы IOS и гипервизоры"


















В настройка нажимаем кнопку в строке "Image file"






























Сохраняем изменения

Далее собираем саму схему.
Из окна "типы узлов" добавляем "Маршрутизатор с2691"  и "Облако". Заходим в облако и выбираем на интерфейс через который мы будем устанавливать PPPoE сессию. 
Из  выпадающего списка выбираем нужный интерфейс

Нажимаем кнопку Добавить и кнопку ОК
Грабли: Если добавить интерфейс после установки GNS3,то его не будет в списке.
Например установить новую сетевую карту либо Loopback и т.д.
Далее соединяем наше "облако" с "маршрутизатор с2691". Стенд готов.


НАСТРОЙКА МАРШРУТИЗАТОРА


Запускаем консоль.


Входим в привилегированный режим.

R1#enable


Входим в режим конфигурирования терминала.
R1#configure terminal

Входим на интерфейс к которому подключено "облако".
R1(config)#interface fastEthernet 0/0
Включаем его.
R1(config-if)#no shutdown
Сообщение о поднятии интерфейса.
*Mar  1 00:08:31.115: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:08:32.115: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Выходим из настройки интерфейса.
R1(config-if)#exit

Далее создаем пользователя и настраиваем его параметры.
R1(config)#username ciscouser password ciscopassword
(имя пользователя ciscouser и пароль ciscopassword ставим свои)
Создаем новую модель aaa.
R1(config)#aaa new-model
Указываем, что аутентификация по PPP по умолчанию будет локальной.
R1(config)#aaa authentication ppp default local
Указываем, что сетевая авторизация так же будет локальной.
R1(config)#aaa authentication ppp default local
Создаем лист атрибутов с названием cisco
R1(config)#aaa attribute list cisco
Создаем атрибут типа Addr (Адрес ipv4).
R1(config-attr-list)#attribute type addr 10.10.10.2 service ppp protocol ip
Выходим.

R1(config-attr-list)#exit
Привязываем наш лист атрибутов к пользователю.
R1(config)#username ciscouser aaa attribute list cisco
Для чего создавался лист атрибутов и привязывался к пользователю?
Что бы пользователь при инициализации PPP соединения получал конкретный адрес.Данная возможность относится и к построению vpn на базе PPTP протокола.


Далее либо создаем пул адресов из которого будем выдавать ip для тех кто не привязан "жестко" по логину либо настраиваем dhcp.


Создать пул с именем cisco и адресами с 10.10.10.2 по  10.10.10.10 можно так.

R1(config)#ip local pool cisco 10.10.10.2 10.10.10.10
  
С настройкой dhcp несколько сложнее.
Для начала создадим собственно пул с именем cisco.


R1(config)#ip dhcp pool cisco
Далее зададим сеть.
R1(dhcp-config)#network 10.10.10.0 /24
Задать маску в данной команде можно как /24 так и 255.255.255.0
R1(dhcp-config)#network 10.10.10.0 ?


/nn or A.B.C.D  Network mask or prefix length


  <cr>
Зададим шлюз.
R1(dhcp-config)#default-router 10.10.10.1
Также можно задать DNS и WINS соответствующими командами  dns-server  и netbios-name-server.
Выходим.
R1(dhcp-config)#exit
Исключаем адрес нашего шлюза(роутера) из dhcp пула.
R1(config)#ip dhcp excluded-address 10.10.10.1

Создаем BBA-GROUP.
R1(config)#bba-group pppoe global
И сразу же видим,что автоматически поднялся интерфейс Virtual-Access.
R1(config-bba-group)#
*Mar  1 01:01:12.791: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up
R1(config-bba-group)#
*Mar  1 01:01:13.791: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up

Указываем, что настройки будут на основе шаблона Virtual-Template1

R1(config-bba-group)#virtual-template 1
Выходим.

R1(config-bba-group)#exit


Заходим в интерфейс fastEthernet 0/0
R1(config)#interface fastEthernet 0/0
И активируем PPPoE 
R1(config-if)#pppoe enable group global
Выходим.


R1(config-if)#exit

Займемся настройкой Virtual-Template
Входим в интерфейс.
R1(config)#interface virtual-template 1
Зададим ip адрес интерфейса.


R1(config-if)#ip address 10.10.10.1 255.255.255.0
Указываем туннелирование канала.
R1(config-if)#encapsulation ppp
Указываем пул адресов из которого будем выдавать ip адреса.
R1(config-if)#peer default ip address dhcp-pool cisco
если был настроен просто пул то
R1(config-if)#peer default ip address pool cisco
Указываем через какой интерфейс будем ожидать PPPoE соединение.
R1(config-if)#ip unnumbered fastEthernet 0/0
Шифруем наше PPP соединение с помощью MPPE.
R1(config-if)#ppp encrypt mppe auto required stateful
Наличие Stateful обязательно иначе будут ошибки с шифрованием при соединении windows с cisco.
Производим аутентификацию с помощью MS-CHAP-V2.
R1(config-if)#ppp authentication ms-chap-v2
Жмем наш трафик с помощью MPPC.
R1(config-if)#compress mppc
Выходим
R1(config-if)#exit
R1(config)#exit
и сохраняем результат.
R1#write memory
Building configuration...
[OK]


НАСТРОЙКА WINDOWS












































Заходим в сетевые подключения


Создаем новое подключение














































Создаем подключение к интернет


Вводим логин и пароль который задавали в маршрутизаторе
Входим в свойства
В закладке сеть нажимаем на кнопку параметры
Ставим галочку использовать программное сжатие

После сохранения параметров выходим и соединяемся
В результате получаем PPPoE соединение с ip адресом привязанным к пользователю, шифрованием и сжатием трафика 
Результат сжатия трафика