29 сентября 2016 г.

Настройка pppoe клиента на Cisco

Есть интернет провайдеры, которые предоставляют доступ в Интернет по протоколу PPPoE. Сейчас расскажу как настроить Cisco в качестве pppoe клиента для доступа в Интернет через такого провайдера. Маршрутизатор, на котором я буду выполнять настройки, выступает также в роли коммутатора. Версия IOS на данном маршрутизаторе 15.3.
Настройка доступа в Интернет по протоколу PPPoE на маршрутизаторе Cisco состоит из вот таких пунктов:
  • Настройка виртуального Dialer интерфейса;
  • Настройка физического WAN интерфейса (FastEthernet или GigabitEternet);
  • Поднятие NAT и определение внутреннего и внешнего интерфейса;
  • Определение списка доступа для NAT;
  • Добавление маршрута.



Настройка интерфейса Dialer 0

И так настраиваем виртуальный интерфейс Dialer, который будет поднимать соединение с провайдером по протоколу PPPoE:
(config)#interface Dialer 0
(config-if)#description -=ISP Name=-
(config-if)#ip address negotiated
(config-if)#ip mtu 1492
(config-if)#encapsulation ppp
(config-if)#dialer pool 1
(config-if)#ppp authentication chap callin
(config-if)#ppp chap hostname username
(config-if)#ppp chap password userpassword
Вот такие минимальные настройки для виртуального интерфейса Dialer, чтобы он смог поднимать соединение с интернет пройвадером по протоколу PPPoE. Теперь я расскажу что каждая из этих строчек означает, чтобы было понятно для чего они нужны и чтобы Вы бездумно не делали copy-paste.
description - из названия уже понятно, что это описание. Я привык всем интерфейсам на оборудование делать описание, для того чтобы было понятно что находится за этим интерфейсом или же в каком он состоянии. У меня на работе принято в описание интерфейса прописывать IP адрес клиента или же название оборудования, которое висит на этом интерфейсе. Вышедшем из строя портам я даю описание -=Bad Port=-. Старайтесь и не ленитесь давать описания портам т.к. эта наглядная информация будет удобна например при просмотре портов по команде show interfaces status.
ip address negotiated - это команда указывает, что IP адрес этому интерфейсу выдаст DHCP интернет провайдера.
ip mtu 1492 - здесь задается максимально допустимый размер Ethernet пакета в 1492 байта. Сам Ethernet пакет не может превышать 1500 байт. Заголовок PPP занимает 8 байт. Таким образом, при использование PPPoE, Ethernet пакеты больше 1492 байта будут отбрасываться. Так вот чтобы этого не происходило мы и указываем размер Ethernet пакета равным 1492 байта.
encapsulation ppp - эта строка задает тип инкапсуляции. Инкапсуляция - это метод согласования транспортных протоколов. При инкапцуляции фреймы одного протокола запаковываются в фреймы другого протокола. Так как нам необходимо фреймы протокола Ethernet на нашем маршрутизаторе на интерфейсе Dialer 0 передавать и принимать по протоколу PPPoE, то мы указываем тип инкапцуляции ppp. PPPoE является подвидом протокола PPP, поэтому указывается тип инкапсуляции ppp.
dialer pool 1 - тут задается номер пула, к которому будет принадлежать интерфейс Dialer 0.
ppp authentication chap callin - данная строка указывает тип протокола аутентификации. В данном случае устанавливается аутентификация по протоколу CHAP. Этот протокол аутентификации надежнее чем PAP, т.к. по протоколу CHAP пароль передается в зашифрованом виде. Опция callin говорит, что авторизоваться на сервере провайдера будет только наш маршрутизатор и авторизоваться серверу интернет провайдера на нашем маршрутизаторе нет необходимости.
ppp chap hostname username - указываем логин (username) для аутентификации по протоколу CHAP, выданный интернет провайдером.
ppp chap password userpassword - указываем пароль (userpassword) для аутентификации по протоколу CHAP, выданный интернет провайдером.
Если же Ваш интернет провайдер использует PAP протокол для аутентификации, то настройка аутентификации будет выглядеть вот так:
(config-if)#ppp authentication pap callin
(config-if)#ppp pap sent-username username password userpassword

Настройка WAN интерфейса

Переходим к настройке физического интерфеса:
(config)#interface FastEthernet 8
(config-if)#description -=Internet=-
(config-if)#no ip address
(config-if)#pppoe enable
(config-if)#pppoe-client dial-pool-number 1
no ip address - указываем, что данный интерфейс не будет иметь IP адрес.
pppoe enable - включаем протокол pppoe на интерфейсе. После выполнения данной команды строка будет иметь вид pppoe enable group global.
pppoe-client dial-pool-number 1 - прописываем номер пула, который необходимо повесить на данный интерфейс. Напомню, что на интерфейсе Dialer 0 мы указали dialer pool 1.
Ну что же минимальные настройки интерфейсов мы прописали. Теперь соединение по  протоколу PPPoE уже должно подняться. Чтобы это посмотреть нужно ввести команду show interfaces dialer0. Если все будет настроено верно и до оборудования интернет провайдера будет связь, то интерфейс Dialer 0 получит IP адрес от интернет провайдера, а также Dialer 0 будет привязан к виртуальному интерфейсу Virtual-AccessX. Также можно будет посмотреть информацию о pppoe сессии командой show pppoe session. Можно еще посмотреть маршруты show ip route. В информации маршрутов можно будет увидеть что-то вроде этого:
C          10.10.10.10 is directly connected, Dialer0
C    185.86.0.0/32 is subnetted, 1 subnets
C          185.86.121.206 is directly connected, Dialer0
C    192.168.10.0/24 is variably subnetted, 5 subnets, 2 masks

Настройка NAT

У меня схема подключения к интернет провайдеру простая. Между провайдером и локальной сетью установлен маршрутизатор. Провайдер выдает мне IP адрес динамически, а хостов за маршрутизатором в локальной сети больше 2-ух. И чтобы все эти хосты могли иметь доступ в Интернет с одного IP адреса, выданного провайдером, на маршрутизаторе необходимо поднять NAT и указать внутрение и внешний интерфейсы. В качестве внешнего интерфейса я назначу Dialer 0. И поэтому в конфигурацию Dialer 0 я добавлю строку ip nat outside. В качестве внутреннего интерфеса NAT можно указать определенные интерфейсы куда будут подключаться хосты. В конфигурацию данных интерфейсов будет необходимо добавить строчку ip nat inside. Я же в качестве внутреннего интерфейса NAT указал интерфейс Vlan, а те порты которые будут иметь доступ в Интернет перевел в соответветствующий Vlan. Вот как это выглядит:
(config)#interface Vlan 10
(config-if)#ip address 192.168.10.1 255.255.255.240
(config-if)#ip nat inside
(config)#interface FastEthernet 1
(config-if)#switchport access vlan 10
В конфигурацию интерфейса, который будет Вами указан в качестве внешнего, автоматически добавится строка ip virtual-reassembly in.

Настройка списка доступа

После выполненных настроек интерфейсов дальше приступаем к созданию списка доступа, чтобы хосты за маршрутизатором имели доступ в Интернет. Для более быстрого доступа или же если Вы не хотите практически никак фильтровать трафик, то вполне достаточно создать простой список и применить его к NAT на интерфейсе Dialer 0.
(config)#ip access-list standard 1
(config-std-nacl)#permit 192.168.10.0 0.0.0.15
(config)#ip nat inside source list 1 interface Dialer0 overload
ip access-list standard 1 - создает стандартный список доступа под номером 1.
permit 192.168.10.0 0.0.0.15 - разрешающее правило для сети 192.168.10.0 с маской сети 255.255.255.240. Обратите внимание, что здесь задается обратная маска.
ip nat inside source list 1 interface Dialer0 overload - эта команда настраивает NAT для перегрузки по адресу, присвоенному интерфейсу Dialer 0. Причем команда inside source list 1 указывает, что преобразование исходных адресов необходимо проводить для тех которые указаны в списке доступа 1. Опция overload указывает на то, что трансляция будет перегружена. Перегрузка трансляции адресов позволяет нескольким внутренним хостам транслироваться на один и тот же IP-адрес. В нашем случае это актуально т.к. Интернет провайдер нам не предоставлет пул статических внешних IP-адресов.
Для более тщательной фильтрации трафика от локальных хостов в Интернет лучше воспользоваться расширенным списком доступа, где можно будет указывать тип протокола, порт назначения и многое другое. О настройке таких списков доступа выходят за рамки данной заметки и поэтому ограничимся простым списком.

Добавление маршрута

Ну что же практически все готово, чтобы можно было локальные хосты выпустить в Интернет. Осталось только прописать маршрут по умолчанию.
(config)#ip route 0.0.0.0 0.0.0.0 Dialer0
Эта строка устанавливает шлюз последней очереди. Все пакеты для адресованных сетей, не описанных явным образом в таблице маршрутизации, маршрутизатор будет направлять на интерфейс Dialer 0. Если после прописанного маршрута ввести команду show ip route, то в таблице маршрутизации должен появиться статический маршрут.
S*          0.0.0.0 is directly connected, Dialer0
              10.0.0.0/32 is subnetted, 1 subnets
На этом настройка маршрутизатора закончена и можно тестировать доступ в Интернет.

P.S. В данной заметке я привел только минимальные настройки маршрутизатора Cisco для доступа в Интернет по протоколу PPPoE. Здесь я не стал затрагивать дополнительные настройки интерфейса Dialer и настройки расширенного списка доступа.

Комментариев нет:

Отправить комментарий