Энциклопедия мобильной связи

Соглашения о маршрутизации. Протокол PPPoE: что это и какие ошибки может выдавать

PPP (Point-to-Point-Protocol) – протокол второго уровня модели OSI, использующийся на WAN линках. PPP – открытый протокол, что позволяет его использовать при необходимости соединения устройств Cisco с устройствами других производителей (в отличие от HDLC, в отношении спецификации которого у циски своё мнение).

Сразу стоит сделать важное замечание: протокол PPP – многофункциональный и широко распространённый, в то же время, в рамках курса CCNA рассматривается только один способ его применения: подключение двух маршрутизаторов друг к другу через serial кабель. На самом деле, сфера применения протокола не ограничивается этими случаями. PPP может работать через нуль-модемный кабель, телефонную линию, в сотовой связи. Другие популярные способы использования протокола PPP – инкапсуляция его в другие протоколы второго уровня. Поясню: сам PPP находится на втором уровне модели OSI и обеспечивает прямое соединение между двумя устройствами, но если его инкапсулировать в другой протокол второго уровня – Ethernet (PPP over Ethernet – PPPoE), то ethernet будет заниматься доставкой фреймов с мак адреса отправителя на мак адрес получателя, после получатель будет декапсулировать из Ethernet-а PPP фрейм и дальше для завёрнутых в PPP протоколов (IPv4, IPX, …) будет создаваться полная «иллюзия» того, что соединение точка-точка. Сам же PPP в этом случае будет заниматься такими вещами как аутентификация и сжатие траффика. Существуют другие способы использования PPP, например PPP over ATM – PPPoA, Microsoft Windows использует для создания VPN протокол PPTP, который так же является надстройкой над PPP. Но это всё лирическое отступление, чтобы было понятно, зачем вообще изучать PPP. В курсе «CCNA Accessing the WAN» PPP – это протокол для соединения двух маршрутизаторов через serial кабель.

Что умеет PPP в сравнении с HDLC?

  1. Управление качеством линии (PPP отключает линк, если количество ошибок превысит заданное значение).
  2. Аутентификация с помощью PAP или CHAP.
  3. Multilink – технология напоминающая Etherchannel в Ethernet-е: несколько разных линков объединяются в один логический, со скоростью, равной сумме входящих в него линков.
  4. PPP Callback – технология, использующаяся для повышения безопасности: клиент устанавливает соединение с сервером, сервер разрывает соединение и устанавливает со своей стороны новое – к клиенту.

На самом деле, при передачи данных с маршрутизатора на маршрутизатор, PPP инкапсулируется в HDLC, который выполняет «транспортные» функции для PPP фреймов. Подробнее про HDLC можно почитать в статье «Протокол HDLC – пример настройки и описание». PPP – обладает уровневой структурой, когда фрейм PPP приходит из сети он поднимается по внутренним подуровням PPP снизу вверх:

  1. Первый подуровень HDLC – получает фрейм, проверяет адрес получателя, контрольную сумму и передаёт полезнуюинформацию дальше.
  2. Подуровень LCP (Link Control Protocol), как видно из названия, занимается управлением соединением, отправляет и получает разные служебные флаги, следит за состоянием соединения (подключено/выключено), следит за качеством линии, следит за согласованностью параметров конфигурации между точками.
  3. Подуровень NCP (Network Control Protocol) состоит из большого количества модулей, каждый из которых занимается связью с каким-то конкретным протоколом третьего уровня (IPv4, IPv6, IPX, AppleTalk, …). Благодаря этому, в рамках одного установленного PPP соединения с одним логином и паролем, можно передавать траффик разных протоколов сетевого уровня.

Установка связи между двумя маршрутизаторами по протоколу PPP происходит по уровням снизу вверх, разрыв связи – сверху вниз.

То есть устанавливается связь в таком порядке: LCP,NCP, полезные данные третьего уровня. А разрывается: конец передачи полезных данных, NCP, LCP. Как видно, HDLC не устанавливает и не разрывает соединения, так как в PPP используются HDLC фреймы без подтверждения доставки.

Структура PPP фрейма имеет следующий вид:

  1. FLAG – признак начала фрейма, специальная последовательность нулей и единиц («01111110»), которая говорит получателю, что далее будет следовать тело фрэйма.
  2. ADDRESS – адрес получателя, в протоколе PPP всегда используется широковещательный «11111111».
  3. CONTROL – поле содержит значение «00000011»
  4. PROTOCOL – поле, содержащее номер протокола третьего уровня, пакет которого «завёрнут» в данный фрейм.
  5. DATA – поле с полезными данными вышестоящих протоколов.
  6. FCS – контрольная сумма, которая считается при отправке фрейма и сравнивается с полученным пересчётом, который делается при получении фрейма. В результате, если суммы не совпадают, кадр считается «битым» и отбрасывается.
  7. FLAG – признак окончания фрейма, содержит то же значение что и признак начала фрейма.

Настройка PPP на оборудовании cisco, как уже было сказано, в курсе CCNA не сложная. Выполняется она на интерфесе:

  1. Выбираем алгоритм сжатия командой compress
  2. Устанавливаем качество линии, которое будет считаться приемлемым (при количестве ошибок, больше заданного связь будет разрываться). Для этого служит команда ppp quality .
  3. Выбираем способ аутентификации PAP или CHAP (подробнее об этом можно узнать из статьи «В чём разница между PAP и CHAP ». Способ аутентификации задаётся командной ppp authentication .
  4. Необходимо настроить пользователя под которым наш маршрутизатор будет подключаться к другому. Здесь команды разнятся для CHAP и PAP. Сам поьзователь добавляется командой username <имя> password <пароль>, причём делать это надо не на интерфейсе, а в режиме глобальной конфигурации, но в случае использования PAP, надо ещё использовать на интерфейсе команду ppp pap sent-username <имя> password <пароль>.

Использование PAP в реальных конфигурациях не желательно, поэтому мы ограничимся примером настройки CHAP. Итак, предположим, что топология следующая, необходимо настроить PPP с аутентификацией CHAP. Настройка на первом маршрутизаторе:

Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname R1 R1(config)#username R2 password 123456789 R1(config)#interface serial 0/3/0 R1(config-if)#en R1(config-if)#encapsulation ppp R1(config-if)#ppp authentication chap R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/3/0, changed state to down

Настройка на втором маршрутизаторе:

Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname R2 R2(config)#username R1 password 123456789 R2(config)#interface serial0/3/0 R2(config-if)#encapsulation ppp R2(config-if)#ppp authentication chap R2(config-if)#ip address 192.168.0.2 255.255.255.0 R2(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/3/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/3/0, changed state to up

Обратите внимание, что пользователь, которого мы заводим на маршрутизаторе R1 имеет имя R2, а на R2 – R1. Это необходимо, так как когда один роутер подключается к другому, он указывает своё имя, соответственно, другой должен знать это имя (видеть его в своём списке локальных пользователей). Ещё одна немаловажная деталь: пароли к пользователям R1 и R2 обязательно должны совпадать.

Для проверки можем выполнить команду:

R2#sh ip inter brief Interface IP-Address OK? Method Status Protocol … Serial0/3/0 192.168.0.2 YES manual up up …

Если status будет «up», а протокол – «down», то это, как правило означает, что какие-то проблемы с PPP – не та аутентификация, не совпали пароли, качество линии ниже того, что мы заказывали и т.п. В этом случае придётся проверять конфиги и запускать debug ppp, чего я не пожелаю и врагу.

21.4. Решение проблем с соединениями PPP Предоставил Tom Rhodes.

Этот раздел охватывает несколько вопросов, которые могут возникнуть при использовании PPP через модемные соединения. Например, предположим, что вам потребовалось узнать, какое именно приглашение отображает система, до которой вы дозваниваетесь. Некоторые провайдеры выдают приглашение ssword, другие password; если ppp скрипт не обрабатывает такие приглашения, попытка входа завершится неудачно. Наиболее общий способ отладки соединений ppp это подключение вручную. Ниже дана пошаговая информация по подключению вручную.

21.4.1. Проверьте файлы устройств

Если вы пересобирали ядро, проверьте устройство sio. Если вы не перенастраивали ядро, нет причин для беспокойства. Просто проверьте вывод dmesg для модемного устройства следующей командой:

#dmesg | grep sio

Вы должны получить информацию о устройствах sio. Это COM порты, которые нам необходимы. Если ваш модем работает как стандартный последовательный порт, вы увидите его на sio1, или COM2. Если это так, вам не требуется пересобирать ядро, необходимо лишь создать последовательное устройство. Вы можете сделать это, зайдя в /dev и запустив скрипт MAKEDEV. Создайте последовательные устройства:

# sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3

Если модем находится на sio1, или COM2 в DOS, модемным устройством будет /dev/cuaa1.

21.4.2. Подключение вручную

Подключение к интернет с контролированием ppp вручную это быстрый, легкий и действенный способ отладки соединения или получения информации о обслуживании провайдером клиентского соединения ppp. Запустите PPP из командной строки. В примерах в качестве имени хоста мы будем использовать example . Запустите ppp, введя команду ppp:

Теперь программа ppp запущена.

ppp ON example> set device /dev/cuaa1

Мы указали модемное устройство, в данном случае cuaa1.

ppp ON example> set speed 115200

Мы установили скорость подключения к модему, в данном случае 115,200 кбит/с.

ppp ON example> enable dns

Сообщает ppp настроить разрешение имен, добавив строки в /etc/resolv.conf. Если ppp не может определить имя хоста, его можно настроить позже вручную.

ppp ON example> term

Переключение в “терминальный” режим для контроля модема вручную.

deflink: Entering terminal mode on /dev/cuaa1

type "~h" for help

atdt123456789

Использование команды at для инициализации модема, а затем atdt и номера провайдера для начала дозвона.

Подтверждение соединения, если есть проблемы с соединением, не вызванные проблемами в оборудовании, здесь мы попытаемся решить их.

ISP Login:myusername

Здесь вам предлагается ввести имя пользователя в приглашение, выводимое сервером провайдера.

ISP Pass:mypassword

Здесь предлагается ввести пароль, предоставленный провайдером. Как и при входе в FreeBSD, пароль не отображается.

Shell or PPP:ppp

В зависимости от вашего провайдера, это приглашение может не появиться. Здесь задается вопрос, хотите ли вы использовать оболочку на компьютере провайдера или запустить ppp. В этом примере мы выбрали ppp, поскольку хотим соединиться с интернет.

Обратите внимание, что в этом примере первая буква p появилась в верхнем регистре. Это означает, что мы успешно подключились к провайдеру.

Мы успешно аутентифицировались у провайдера и ожидаем присвоения IP адреса.

Мы завершили согласование IP адресов, соединение успешно установлено.

PPP ON example>add default HISADDR

Это маршрут по умолчанию, его необходимо настроить, чтобы сделать возможной связь с внешним миром, поскольку на этот момент установлена связь только с удаленной стороной. Если маршрут не устанавливается из-за уже существующего маршрута, добавьте символ! перед add. Альтернативно вы можете сделать настройку перед установкой соединения.

Если все прошло удачно, на данный момент должно работать соединение с интернет, которое можно поместить в фоновый режим клавишами CTRL +z . Переход строки PPP в приглашении в нижний регистр (ppp) означает, что соединение было разорвано. Таким образом, символы P в верхнем регистре означают наличие соединения, а в нижнем - потерю соединения.

21.4.2.1. Отладка
Если у вас выделенная линия и нет необходимости устанавливать соединение, выключите контроль передачи данных CTS/RTS командой set ctsrts off. Это обычно необходимо при подключении к поддерживающим PPP терминальным серверам, когда PPP прерывается при попытке записать данные в ваше соединение, и ожидает сигнала CTS, или Clear To Send, который не появляется. Если вы используете этот параметр, используйте также параметр set accmap, который может быть необходим для устранения зависимости от оборудования путем пропускания определенных символов через соединение, обычно XON/XOFF. Обратитесь к странице справочника ppp(8) за более подробной информацией по этому параметру и его использованию.

Если у вас старый модем, может потребоваться использование set parity even. Проверка четности по умолчанию отключена, но она используется для для устранения ошибок (с серьезным увеличением объема трафика) на старых модемах и у некоторых провайдеров.

PPP может не вернуться в командный режим, что обычно вызвано ошибкой согласования, когда провайдер ждет от вас начала процесса согласования. В этот момент использование команды ~p заставит ppp начать отправку настроечной информации.

Если вы не получаете приглашения на вход, скорее всего вам требуется использование аутентификации PAP или CHAP вместо UNIX стиля как в примерах выше. Для использования PAP или CHAP просто добавьте следующие параметры PPP перед переходом в терминальный режим:

ppp ON example> set authname myusername

Необходимо заменить myusername на имя пользователя, выданное провайдером.

ppp ON example> set authkey mypassword

Где mypassword должен быть заменен на пароль, выданный провайдером.

Если вы подключаетесь, не можете определить ни одно доменное имя, попробуйте использовать ping(8) с каким-либо IP адресом и просмотрите выводимую информацию. Если 100 процентов (100%) пакетов теряются, скорее всего не назначен маршрут по умолчанию. Дважды проверьте, что параметр add default HISADDR установлен во время соединения. Если вы можете подключиться к удаленному IP адресу, возможно, что адрес сервера имен не был добавлен в /etc/resolv.conf. Этот файл должен выглядеть примерно так:

domain example.com

nameserver x.x.x.x

nameserver y.y.y.y

Где x.x.x.x и y.y.y.y должны быть заменены на IP адреса DNS серверов провайдера. Эта информация может предоставляться провайдером, вы можете выяснить это в службе поддержки.

Вы можете также настроить syslog(3) для протоколирования PPP соединения. Просто добавьте:

*.* /var/log/ppp.log

в файл /etc/syslog.conf. В большинстве случаев эти строки уже присутствуют.

21.5. Использование PPP через Ethernet (PPPoE)

Предоставил (с http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) Jim Mock.

Этот раздел описывает настройку PPP через Ethernet (PPP over Ethernet, PPPoE).

21.5.1. Настройка ядра

Для PPPoE более не требуется настройка ядра. Если необходимая поддержка netgraph не встроена в ядро, она будет динамически загружена ppp .

21.5.2. Настройка ppp.conf

Вот пример работающего ppp.conf:

set log Phase tun command # you can add more detailed logging if you wish

set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:

set device PPPoE:xl1 # replace xl1 with your Ethernet device

set authname YOURLOGINNAME

set authkey YOURPASSWORD

add default HISADDR

21.5.3. Запуск ppp

Под пользователем root вы можете запустить:

# ppp -ddial name_of_service_provider

21.5.4. Запуск ppp при загрузке

Добавьте к /etc/rc.conf следующее:

ppp_enable="YES"

ppp_mode="ddial"

ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO

ppp_profile="name_of_service_provider"

21.5.5. Использование тега сервиса PPPoE

Иногда для установки соединения необходимо использовать тег сервиса. Теги сервисов используются для различения PPPoE серверов, подключенных к одной сети.

В документации, предоставляемой провайдером, должна находиться необходимая информация о теге сервиса. Если вы не можете ее обнаружить, обратитесь в службу поддержки.

В крайнем случае, вы можете попробовать метод, предложенный в программе Roaring Penguin PPPoE (http://www.roaringpenguin.com/pppoe/), которая находится в коллекции портов. Учтите, что этот метод может сделать ваш модем неработоспособным, так что дважды подумайте перед тем, как воспользоваться им. Просто установите программу, поставляемую с модемом вашим провайдером. Затем, войдите в меню System программы. Имя вашего профиля должно находиться здесь. Обычно это ISP .

Имя профиля (тег сервиса) будет использоваться в записи настройки PPPoE в файле ppp.conf (часть команды set device, относящаяся к провайдеру). Обратитесь к странице справочника ppp(8) за более подробной информацией. Эта команда должна выглядеть примерно так:

set device PPPoE:xl1 :ISP

Не забудьте изменить xl1 на имя устройства вашей Ethernet карты.

Не забудьте изменить ISP на профиль, определенный вами ранее.

Дополнительная информация:

Cheaper Broadband with FreeBSD on DSL (http://renaud.waldura.com/doc/freebsd/pppoe/), опубликовал Renaud Waldura.

Nutzung von T-DSL und T-Online mit FreeBSD (http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html) by Udo Erdelhoff (на немецком).

21.5.6. PPPoE c 3Com® HomeConnect® ADSL Modem Dual Link

Этот модем не поддерживает RFC 2516 (http://www.faqs.org/rfcs/rfc2516.html) (Метод соединения PPP через Ethernet (PPPoE) , написанный L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, и R. Wheeler). Вместо этого, для фреймов Ethernet используются различные коды типов пакетов. Сообщите 3Com (http://www.3com.com/) если считаете, что они должны соблюдать спецификации PPPoE.

Для включения поддержки этого нестандартного устройства, в FreeBSD необходимо установить переменную sysctl. Это может быть сделано автоматически, поместите в /etc/sysctl.conf следующую переменную:

net.graph.nonstandard_pppoe=1

или, для непосредственного включения, выполните команду sysctl net.graph.nonstandard_pppoe=1.

К сожалению, поскольку эта настройка влияет на всю систему, невозможно одновременно взаимодействовать с нормальным PPPoE клиентом или сервером и 3Com HomeConnect® ADSL Modem.

21.6. Использование PPP через ATM (PPPoA)

Далее описано как настроить PPP через ATM (PPP over ATM, PPPoA). PPPoA популярен у европейских провайдеров DSL.

21.6.1. Использование PPPoA с Alcatel SpeedTouch™ USB

Поддержка PPPoA для этого устройства в FreeBSD поставляется в виде порта, поскольку встроенное программное обеспечение поставляется под лицензионным соглашением Alcatel (http://www.speedtouchdsl.com/disclaimer_lx.htm) и не может свободно распространяться с основной системой FreeBSD.

Для установки этой программы, просто используйте коллекцию портов. Установите порт net/pppoa и следуйте инструкциям.

Как и многие устройства USB, Alcatel SpeedTouch™ USB должен загрузить встроенное программное обеспечение с компьютера. Возможна автоматизация этого процесса в FreeBSD, чтобы эта передача происходила при подключении устройства к порту USB. Для включения этой автоматической передачи необходимо добавить в /etc/usbd.conf нижеприведенную информацию. Этот файл необходимо отредактировать под пользователем root.

device "Alcatel SpeedTouch USB"

devname "ugen+"

attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"

Для включения даемона USB, usbd , поместите в /etc/rc.conf следующую строку:

usbd_enable="YES"

Возможна также настройка ppp для дозвона при запуске. Для этого добавьте в /etc/rc.conf нижеприведенные строки. Опять же, для этого вам необходимо войти под пользователем root.

ppp_enable="YES"

ppp_mode="ddial"

ppp_profile="adsl"

Необходимо также использовать пример файла ppp.conf, поставляемый с портом net/pppoa.

21.6.2. Использование mpd

Вы можете использовать mpd для подключения к различным сервисам, в частности к сервисам PPTP. Вы можете найти mpd в коллекции портов, net/mpd. Многие ADSL модемы требуют, чтобы PPTP туннель был создан между модемом и компьютером, один из таких модемов это Alcatel SpeedTouch Home.

Сначала установите порт, затем настройте mpd под собственные нужды и настройки провайдера. Порт помещает набор примеров настройки в каталог PREFIX /etc/mpd/. PREFIX означает каталог, в который устанавливаются порты, по умолчанию это /usr/local/. Полное руководство по настройке mpd доступно в HTML формате после установки порта. Оно находится в PREFIX /share/doc/mpd/. Ниже находится пример настройки mpd для соединения с ADSL сервисом. Настройка разделена на два файла, первый это mpd.conf:

load adsl
adsl:

new -i ng0 adsl adsl

Set bundle authname username

Set bundle password password

set bundle disable multilink
set link no pap acfcomp protocomp

set link disable chap

set link accept chap

set link keep-alive 30 10
set ipcp no vjcomp

set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default

set iface disable on-demand

set iface enable proxy-arp

set iface idle 0
open

 Имя пользователя, используемое для аутентификации у провайдера.

 Пароль, используемый для аутентификации у провайдера.

Файл mpd.links содержит информацию о соединении или соединениях, которые вы планируете установить. Пример mpd.links, соответствующий приведенному выше примеру:

set link type pptp

set pptp mode active

set pptp enable originate outcall

Set pptp self 10.0.0.1

Set pptp peer 10.0.0.138

 IP адрес компьютера FreeBSD, с которого вы будете использовать mpd .

 IP адрес модема ADSL. Для Alcatel SpeedTouch Home этот адрес по умолчанию 10.0.0.138.

Инициализация соединения возможно простым выполнением следующей команды под root:

# mpd -b adsl

Вы можете просмотреть статус соединения с помощью следующей команды:

% ifconfig ng0

ng0: flags=88d1 mtu 1500

inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff

21.6.3. Использование pptpclient

Возможно также использование FreeBSD для подключения к сервисам PPPoA с помощью net/pptpclient.

Для подключения к сервису DSL с использованием net/pptpclient, установите порт или пакет и отредактируйте /etc/ppp/ppp.conf. Вам потребуется работать под root. Пример настройки ppp.conf дан ниже. За дальнейшей информацией по параметрам ppp.conf обратитесь к странице справочника ppp , ppp(8).

set log phase chat lcp ipcp ccp tun command

Set authname username

Set authkey password

add default HISADDR

 Имя пользователя вашей учетной записи у провайдера DSL.

 Пароль для вашей учетной записи.

Внимание: Поскольку вам необходимо поместить пароль в незашифрованном виде в файл ppp.conf, убедитесь что никто другой не сможет прочесть содержимое этого файла. Следующая последовательность команд сделает этот файл доступным для чтения только пользователю root. Обратитесь к страницам справочника chmod(1) и chown(8) за дальнейшей информацией.

# chown root:wheel /etc/ppp/ppp.conf

# chmod 600 /etc/ppp/ppp.conf

Следующая команда откроет туннель для PPP сессии к вашему DSL маршрутизатору. Модемы Ethernet DSL поставляются с настроенным IP адресом локальной сети, к которому вы подключаетесь. У Alcatel SpeedTouch Home этот адрес 10.0.0.138. В документации на ваш маршрутизатор должно быть указано, какой адрес используется. Для открытия туннеля и начала PPP сессии выполните:

# pptp address adsl

Подсказка: Чтобы вернуться в приглашение командной строки после выполнения этой команды, добавьте символ “&” в конец строки.

Устройство виртуального туннеля tun будет создано для взаимодействия между процессами pptp и ppp . Как только вы вернетесь в приглашение, или процесс pptp выполнит соединение, вы можете проверить туннель примерно такой командой:

% ifconfig tun0

tun0: flags=8051 mtu 1500

inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00

Opened by PID 918

Если вы не сможете соединиться, проверьте настройку маршрутизатора, которая обычно доступна через telnet или через веб браузер. Если вы все еще не можете подключиться, проверьте вывод команды pptp и содержимое лог файла ppp , /var/log/ppp.log.

21.7. Использование SLIP

Первоначально предоставил Satoshi Asami. Дополнительный материал предоставили Guy Helmer, Piero Serini.

21.7.1. Настройка SLIP клиента

Ниже дан один из способов настройки FreeBSD для подключения к SLIP сети со статическим адресом. Для динамического подключения (адрес изменяется при каждом дозвоне) возможно потребуется более сложная настройка.

Сначала определите, к какому последовательному порту подключен модем. Многие создают символическую ссылку, такую как /dev/modem, на настоящий файл устройства, /dev/cuaaN. Это позволяет абстрагироваться от имени файла устройства, например если вы переносите модем на другой порт. Довольно сложно править множество файлов в /etc и.kermrc во всей системе!

Замечание: /dev/cuaa0 это COM1, cuaa1 это COM2, и т.д.

Убедитесь, что в вашем файле настройки ядра присутствует строка:

pseudo-device sl 1

В FreeBSD 5.X, используйте вместо этой строки следующую:

Эта строка включена в ядро GENERIC, так что если вы ее не удаляли, проблем быть не должно.

21.7.1.1. То, что необходимо сделать только один раз
1. Добавьте ваш компьютер, шлюз и сервера имен в файл /etc/hosts. Вот пример такого файла:

127.0.0.1 localhost loghost

136.152.64.181 water.CS.Example.EDU water.CS water

136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway

128.32.136.9 ns1.Example.EDU ns1

128.32.136.12 ns2.Example.EDU ns2

2. Убедитесь, что в файле /etc/host.conf hosts находится перед bind (для FreeBSD версий до 5.0). Начиная с FreeBSD 5.0, система использует файл /etc/nsswitch.conf, убедитесь, что параметр files находится перед dns в строке hosts этого файла. Без этого параметра могут происходить странные вещи.

3. Отредактируйте файл /etc/rc.conf.

1. Установите имя хоста, настроив переменную hostname:

hostname="myname.my.domain"

Здесь необходимо использовать полное доменное имя вашего компьютера в интернет.

2. Добавьте sl0 к списку сетевых интерфейсов, изменив переменную:

network_interfaces="lo0"

network_interfaces="lo0 sl0"

3. Измените параметры sl0, добавив строку:

ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"

4. Назначьте маршрутизатор по умолчанию, изменив строку:

defaultrouter="NO"

defaultrouter="slip-gateway"

4. Создайте файл /etc/resolv.conf, содержащий:

domain CS.Example.EDU

nameserver 128.32.136.9

nameserver 128.32.136.12

Как вы видите, здесь указаны адреса серверов имен. Конечно, реальные имена доменов и адреса для вас будут другими.

5. Перегрузите компьютер и убедитесь, что его имя хоста настроено правильно.

21.7.1.2. Создание SLIP соединения
1. Дозвонитесь на удаленный сервер, введите slip в приглашение, имя своего компьютера и пароль. Все, что требуется ввести в вашем случае. Если вы используете kermit, попробуйте такой скрипт:

set line /dev/modem

set speed 115200

set flow rts/cts

set terminal bytesize 8

set file type binary

# The next macro will dial up and login

define slip dial 643-9600, input 10 =>, if failure stop, -

output slip\x0d, input 10 Username:, if failure stop, -

output silvia\x0d, input 10 Password:, if failure stop, -

output ***\x0d, echo \x0aCONNECTED\x0a

Конечно, вам потребуется заменить имя хоста и пароль на ваши собственные. После этого, для подключения просто введите slip из приглашения kermit.

Замечание: Хранение пароля в любом месте файловой системы в незашифрованном виде это обычно плохая идея. Вы делаете это на свой риск.

2. Выйдите из kermit (вы можете приостановить его, нажав Ctrl -z ) и введите под root:

# slattach -h -c -s 115200 /dev/modem

Если вы сможете выполнить ping для хостов по другую сторону маршрутизатора, вы подключились! Если это не работает, попробуйте параметр slattach -a вместо -c.

21.7.1.3. Как прервать соединение:
Сделайте следующее:

# kill -INT `cat /var/run/slattach.modem.pid`

для остановки slattach. Помните, что вы должны работать под root для выполнения этой команды. Затем вернитесь в kermit (запустив fg, если он приостановлен) и выйдите из него (q).

Страница справочника slattach сообщает, что для отключения интерфейса необходимо использовать ifconfig sl0 down, но это похоже не играет никакой роли. (ifconfig sl0 сообщает о том же.)

Иногда модем может не сбросить соединение (это бывает довольно часто). В этом случае просто запустите kermit и выйдите из него еще раз. При второй попытке соединение обычно разрывается.

21.7.1.4. Решение проблем
Вот наиболее часто встречающиеся ситуации:

Не используются параметры slattach -c или -a (это может быть не фатально, но иногда вызывает проблемы.)

Используется s10 вместо sl0 (с некоторыми шрифтами сложно увидеть разницу).

Попробуйте использовать ifconfig sl0 для просмотра статуса интерфейса. Например, вы можете получить такую информацию:

# ifconfig sl0

inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00

Если вы получите сообщение no route to host от команды ping, возможно это проблема с таблицей маршрутизации. Используйте команду netstat -r для отображения существующих маршрутов:

# netstat -r

Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)

(root node)
Route Tree for Protocol Family inet:

default inr-3.Example.EDU UG 8 224515 sl0 - -

localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438

inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -

water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438

Предыдущий пример получен на относительно загруженной системе. Числа в вашей системе будут сильно зависеть от загрузки сети.

21.7.2. Настройка SLIP сервера

Этот документ предоставляет решение для настройки SLIP сервера в системе FreeBSD, что обычно означает настройку системы для автоматического запуска соединений при удаленном входе SLIP клиентов.
21.7.2.1. Предварительные требования
Информация в этом разделе чисто техническая, поэтому требуются некоторые предварительные знания. Предполагается, что вы знакомы с сетевым протоколом TCP/IP, и в частности, с адресацией сетей и хостов, сетевыми масками, делением на подсети, маршрутизацией и протоколами маршрутизации, такими как RIP. Настройка SLIP сервисов на сервере удаленного доступа требует знания этих концепций, и если вы не знакомы с ними, прочтите или книгу TCP/IP Network Administration от Craig Hunt, опубликованную O"Reilly & Associates, Inc. (ISBN Number 0-937175-82-X), или книги Douglas Comer по протоколу TCP/IP.

В дальнейшем предполагается, что вы уже настроили ваш модем (модемы) и настроили соответствующие системные файлы для разрешения входа через них. Если вы еще не подготовили систему соответствующим образом, обратитесь к руководству по настройке сервисов удаленного входа; просмотрите список руководств на http://www.FreeBSD.org/ru/docs.html. Вы можете также обратиться к странице справочника sio(4) за информацией о драйвере последовательного порта и к страницам gettytab(5), getty(8) и init(8) за информацией по настройке системы для удаленного входа в систему через модемы, и возможно stty(1) за информацией о настройке параметров последовательных портов (таких как clocal для подключаемых непосредственно последовательных интерфейсов).

21.7.2.2. Краткий обзор
В типичной конфигурации FreeBSD работает в качестве SLIP сервера так: пользователь SLIP дозванивается на FreeBSD SLIP сервер и входит в систему со специальным SLIP логином, использующим /usr/sbin/sliplogin в качестве оболочки. Программа sliplogin просматривает файл /etc/sliphome/slip.hosts на предмет строки, соответствующей специальному пользователю, и если находит совпадение, подключает последовательную линию к доступному SLIP интерфейсу, а затем запускает shell скрипт /etc/sliphome/slip.login для настройки SLIP интерфейса.
21.7.2.2.1. Пример входа на SLIP сервер
Например, идентификатор пользователя на SLIP сервере Shelmerg. Соответствующая запись в /etc/master.passwd будет выглядеть примерно так:

Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin

Когда Shelmerg входит в систему, sliplogin ищет строку в /etc/sliphome/slip.hosts, в которой находится соответствующий идентификатор пользователя; например, строка может быть такой:

Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

После обнаружения этой строки sliplogin подключает последовательную линию к следующему доступному SLIP интерфейсу, а затем выполняет /etc/sliphome/slip.login примерно так:

/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

Если все проходит нормально, /etc/sliphome/slip.login вызовет ifconfig для SLIP интерфейса, к которому подключилась программа sliplogin (slip интерфейс 0 в примере выше, первый параметр в списке, задаваемом slip.login) для установки локального IP адреса ((dc-slip), удаленного IP адреса (sl-helmer), сетевой маски для SLIP интерфейса (0xfffffc00), и любых дополнительных флагов (autocomp). Если что-то идет не так, sliplogin обычно протоколирует соответствующие сообщения в через уровень daemon syslog; эти сообщения как правило попадают в /var/log/messages (обратитесь к страницам справочника syslogd(8) и syslog.conf(5), а также проверьте файл /etc/syslog.conf, чтобы выяснить, что протоколирует syslogd и куда помещается информация).

Достаточно примеров - давайте начнем настройку системы.

21.7.2.3. Настройка ядра
Стандартное ядро FreeBSD обычно поставляется с двумя SLIP интерфейсами ((sl0 и sl1); вы можете использовать команду netstat -i, чтобы выяснить, определены ли эти интерфейсы в вашем ядре.

Пример вывода netstat -i:

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll

ed0 1500 0.0.c0.2c.5f.4a 291311 0 174209 0 133

ed0 1500 138.247.224 ivory 291311 0 174209 0 133

lo0 65535 79 0 79 0 0

lo0 65535 loop localhost 79 0 79 0 0

sl0* 296 0 0 0 0 0

sl1* 296 0 0 0 0 0

Наличие в выводе netstat -i интерфейсов sl0 и sl1 означает, что SLIP интерфейсы встроены в ядро (символ * показывает неактивность интерфейсов).

Ядро FreeBSD по умолчанию не пересылает пакеты между интерфейсами (компьютер FreeBSD не работает как маршрутизатор), вследствие требований RFC (см. RFCs 1009 , 1122 , и возможно 1127 ). Если вы хотите, чтобы FreeBSD SLIP работал в качестве маршрутизатора, отредактируйте файл /etc/rc.conf и присвойте переменной gateway_enable значение YES.

Для вступления изменений в силу потребуется перезагрузка.

В файле настройки стандартного ядра (/sys/i386/conf/GENERIC) находится строка:

pseudo-device sl 2

Она определяет число доступных устройств SLIP в ядре; Число в конце строки определяет максимально возможное количество одновременных SLIP соединений.

Обратитесь к Гл. 8 за информацией по настройке ядра FreeBSD.

21.7.2.4. Настройка sliplogin
Как упоминалось ранее, в каталоге /etc/sliphome находятся три файла, являющиеся частью настройки для /usr/sbin/sliplogin (для sliplogin существует страница справочника, sliplogin(8)): slip.hosts, определяющий список пользователей SLIP и связанные с ними IP адреса; slip.login, который обычно всего лишь настраивает SLIP интерфейс; slip.logout, который восстанавливает состояние системы до запуска slip.login после завершения последовательного соединения.
21.7.2.4.1. Настройка slip.hosts
/etc/sliphome/slip.hosts содержит строки, в которых находится как минимум четыре параметра, разделенных пробелами:

ID пользователя SLIP

Локальный адрес (локальный для SLIP сервера) SLIP соединения

Удаленный адрес SLIP соединения

Сетевая маска

Локальные и удаленные адреса могут быть именами хостов (разрешаемыми в IP адреса через файл /etc/hosts или через службу доменных имен, в зависимости от настроек в файле /etc/nsswitch.conf для FreeBSD 5.X, или /etc/host.conf для FreeBSD 4.X), а сетевая маска может быть именем, разрешаемым через файл /etc/networks. В системе, используемой в качестве примера, файл /etc/sliphome/slip.hosts выглядит так:

# login local-addr remote-addr mask opt1 opt2

# (normal,compress,noicmp)

Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp

В конце строки находятся один или более параметров.

Normal - нет сжатия заголовков

Compress - сжимать заголовки

Autocomp - сжимать заголовки, если удаленная сторона это позволяет

Noicmp - запретить ICMP пакеты (любые “ping” пакеты будут отброшены и не станут помехой для другого трафика)

Выбор локального и удаленного адреса для SLIP соединений зависит от того, используете ли вы выделенную TCP/IP сеть, или используете на SLIP сервере “ARP прокси”. (это не “настоящий” ARP прокси, но данная терминология используется в этом разделе). Если вы не уверены, какой метод выбрать, или как присвоить IP адреса, обратитесь к книгам по TCP/IP, упомянутым выше (Разд. 21.7.2.1).

Если вы собираетесь использовать отдельную подсеть для SLIP клиентов, потребуется выделить адреса за пределом адресов вашей сети и присвоить каждому SLIP клиенту IP адрес из данной подсети. Затем вам возможно потребуется настроить статический маршрут в используемую для SLIP подсеть через SLIP сервер на ближайшем IP маршрутизаторе.

Иначе, если вы будете использовать метод “proxy ARP”, потребуется присвоить SLIP клиентам IP адреса, не входящие в Ethernet подсеть сервера SLIP, а также настроить скрипты /etc/sliphome/slip.login и /etc/sliphome/slip.logout, чтобы использовать arp(8) для управления записями ARP прокси в таблице ARP сервера SLIP.

21.7.2.4.2. Настройка slip.login
Типичный файл /etc/sliphome/slip.login выглядит примерно так:


#

# the parameters:

# 1 2 3 4 5 6 7-n

Этот файл slip.login всего лишь запускает ifconfig для соответствующего SLIP интерфейса с заданными локальным и удаленным адресом и сетевой маской.

Если вы решили использовать метод “ARP прокси” (вместо использования отдельной подсети для SLIP клиентов), ваш файл /etc/sliphome/slip.login должен выглядеть примерно так:

# @(#)slip.login 5.1 (Berkeley) 7/1/90
#

# generic login file for a slip line. sliplogin invokes this with

# the parameters:

# 1 2 3 4 5 6 7-n

# slipunit ttyspeed loginname local-addr remote-addr mask opt-args

/sbin/ifconfig sl$1 inet $4 $5 netmask $6

# Answer ARP requests for the SLIP client with our Ethernet addr

/usr/sbin/arp -s $5 00:11:22:33:44:55 pub

Дополнительная строка в этом slip.login, arp -s $5 00:11:22:33:44:55 pub, создает ARP запись в ARP таблице SLIP сервера. При соединении другого узла в Ethernet с IP адресом SLIP клиента, SLIP сервер выдает ответ с собственным Ethernet MAC адресом.

При использовании примера выше убедитесь, что заменили Ethernet MAC адрес (00:11:22:33:44:55) на MAC адрес Ethernet карты вашей системы, или ваш “ARP прокси” точно не будет работать! Вы можете определить Ethernet MAC адрес SLIP сервера, просмотрев вывод команды netstat -i выше; информация об адресе находится второй строке:

ed0 1500 0.2.c1.28.5f.4a 191923 0 129457 0 116

Это означает, что в данной системе Ethernet MAC адрес 00:02:c1:28:5f:4a - точки в MAC адресе, выдаваемые netstat -i, должны быть заменены на двоеточия, необходимо также добавить нуль в начало каждого односимвольного шестнадцатеричного номера для преобразования этого адреса в форму, пригодную для arp(8); обратитесь к странице справочника arp(8) за полной информацией по использованию.

Замечание: При создании /etc/sliphome/slip.login и /etc/sliphome/slip.logout, должен быть установлен бит “выполнения” (chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout), или sliplogin не сможет их выполнить.

21.7.2.4.3. Настройка slip.logout
/etc/sliphome/slip.logout не является совершенно необходимым (если только вы не реализуете “ARP прокси”), но если вы решили создать его, воспользуйтесь следующим примером:

# slip.logout
#

# the parameters:

# 1 2 3 4 5 6 7-n

# slipunit ttyspeed loginname local-addr remote-addr mask opt-args

/sbin/ifconfig sl$1 down

Если вы используете “ARP прокси”, потребуется удаление записи ARP для SLIP клиента через /etc/sliphome/slip.logout:

# @(#)slip.logout
#

# logout file for a slip line. sliplogin invokes this with

# the parameters:

# 1 2 3 4 5 6 7-n

# slipunit ttyspeed loginname local-addr remote-addr mask opt-args

/sbin/ifconfig sl$1 down

# Quit answering ARP requests for the SLIP client

/usr/sbin/arp -d $5

Команда arp -d $5 удаляет запись ARP, добавленную slip.login при входе SLIP клиента.

Повторяем: убедитесь, что на файл /etc/sliphome/slip.logout установлен бит выполнения (chmod 755 /etc/sliphome/slip.logout).

21.7.2.5. Соглашения о маршрутизации
Если вы не используете “ARP прокси” метод для маршрутизации пакетов между SLIP клиентами и остальной сетью (и возможно интернет), вам возможно потребуется статический маршрут (маршруты) до ближайшего шлюза (шлюзов) для маршрутизации подсети SLIP клиентов через SLIP сервер.
21.7.2.5.1. Статические маршруты
Добавление статических маршрутов может стать для кого-то проблемой (это даже невозможно, если у вас нет соответствующих прав). Если в вашей организации сеть с несколькими маршрутизаторами, некоторые маршрутизаторы, например Cisco и Proteon, требуют не только настройки статического маршрута в подсеть SLIP, но и указания, о каких статических маршрутах сообщать другим маршрутизаторам, так что для наладки работоспособности статической маршрутизации может потребоваться некоторое исследование и отладка.
21.7.2.5.2. Запуск GateD®
Замечание: GateD® это закрытое программно обеспечение, более недоступное в исходных текстах (дополнительная информация находится на вебсайте GateD (http://www.gated.org/)). Этот раздел существует лишь в целях обратной совместимости для тех, кто все еще использует старую версию.

Альтернатива головной боли со статическими маршрутами это установка GateD на FreeBSD SLIP сервере и настройка его для использования соответствующих протоколов маршрутизации (RIP/OSPF/BGP/EGP) для сообщения другим маршрутизаторам о вашей SLIP подсети. Вам потребуется создать /etc/gated.conf для настройки gated. Ниже дан пример:

# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5

# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface

# tracing options

traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {

interface sl noripout noripin ;

interface ed ripin ripout version 1 ;

traceoptions route ;

# Turn on a bunch of tracing info for the interface to the kernel:

traceoptions remnants request routes info interface ;

# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP

#
export proto rip interface ed {

xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections

# Accept routes from RIP via ed Ethernet interfaces
import proto rip interface ed {

В примере выше используется широковещательная рассылка информации о маршрутизации для подсети SLIP xxx.xxx.yy протоколом RIP на сеть Ethernet; если вы используете другой драйвер Ethernet вместо ed, потребуется соответственно изменить запись для ed. В этом примере отладочная информация переправляется в /var/tmp/gated.output; вы можете выключить отладку, если GateD работает. Вам потребуется заменить xxx.xxx.yy в сетевом адресе на вашу подсеть SLIP (убедитесь, что изменение сетевой маски в proto direct работает нормально).

Как только вы установили и настроили GateD , потребуется сообщить стартовым скриптам FreeBSD запускать его вместо routed . Простейший способ сделать это - установить переменные router и router_flags в /etc/rc.conf. Обратитесь к странице справочника GateD за информацией о параметрах командной строки.

  • Authentication (Аутентификация). Соединённые маршрутизаторы обмениваются сообщениями проверки подлинности. Доступны два варианта аутентификации: на основе протокола PAP и на основе протокола CHAP.
  • Compression (Сжатие). Эта функция повышает эффективную пропускную способность подключений PPP, уменьшая объём данных в кадре, передаваемом по каналу. Протокол распаковывает кадр в месте назначения. На маршрутизаторах Cisco доступно два протокола сжатия: Stacker и Predictor.
  • Error detection (Обнаружение ошибок) . Эта функция определяет состояния сбоя. Параметры Quality и Magic Number способствуют обеспечению надёжного беспетлевого канала передачи данных. Поле Magic Number используется для обнаружения каналов, в которых возникла петля. До тех пор, пока не будет успешно завершено согласование параметра настройки Magic-Number, должно передаваться нулевое значение этого параметра. Значения параметра Magic-Number генерируются случайным образом на каждом конце подключения.
  • PPP Callback (Обратный вызов PPP) . Обратный вызов PPP используется для повышения безопасности. При использовании этого параметра протокола LCP маршрутизатор Cisco может работать как клиент или сервер обратного вызова. Клиент выполняет начальный вызов, запрашивает у сервера обратный вызов и завершает начальный вызов. Маршрутизатор обратного вызова отвечает на начальный вызов и выполняет ответный вызов клиента на основе команд настройки. Используется команда ppp callback [ accept | request ] .

После настройки параметров соответствующее значение поля вставляется в поле параметра протокола LCP.

Команды базовой настройки PPP

Запуск PPP на интерфейсе

Для настройки PPP в качестве метода инкапсуляции, используемого последовательным интерфейсом, служит команда настройки интерфейсаencapsulation ppp .

В следующем примере активируется инкапсуляция PPP на интерфейсе serial 0/0/0.

R3# configure terminal

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

У команды encapsulation ppp нет аргументов. Помните, что если на маршрутизаторе Cisco не настроена инкапсуляция PPP, то по умолчанию для последовательных интерфейсов будет использоваться инкапсуляция HDLC.

На рисунке показаны маршрутизаторы R1 и R2, настроенные на использование на последовательных интерфейсах как адреса IPv4, так и адреса IPv6. PPP является инкапсуляцией уровня 2, поддерживающей различные протоколы уровня 3 протокола, включая IPv4 и IPv6.

Команды сжатия PPP

Настроить в протоколе «точка-точка» программное сжатие на последовательных интерфейсах можно после активирования инкапсуляции PPP. Поскольку в этом режиме вызывается процесс сжатия программным способом, он может повлиять на производительность системы. Если трафик уже состоит из сжатых файлов, таких как.zip, .tar или.mpeg, этой возможностью не следует пользоваться. На рисунке показан синтаксис командыcompress .

Для настройки сжатия при передаче по протоколу PPP введите следующие команды.

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

R3(config-if)# compress [ predictor | stac ]

Команда мониторинга качества канала PPP

Помните, что LCP обеспечивает дополнительный этап определения качества канала. На этом этапе LCP проверяет канал, чтобы определить, является ли качество канала достаточным для использования протоколов уровня 3.

Команда ppp quality percentage обеспечивает соответствие канала установленному требованию к качеству; в противном случае канал закрывается.

Процентная величина рассчитывается как для входящего, так и для исходящего направления. Качество канала в исходящем направлении рассчитывается путем сравнения общего числа отправленных пакетов и байтов с общим числом пакетов и байтов, полученных узлом назначения. Качество канала во входящем направлении рассчитывается путем сравнения общего числа полученных пакетов и байтов с общим числом пакетов и байтов, отправленных узлом назначения.

Если процентное выражение качества канала не поддерживается, то качество канала считается низким и канал отключается. В средстве наблюдения за качеством (LQM) реализован механизм задержки во времени, чтобы канал не подвергался последовательным активированиям и отключениям.

В следующем примере настройки осуществляется наблюдение за данными, переданными в канал, и обеспечивается предотвращение петель генерации кадров (см.рис).

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

R3(config-if)# ppp quality 80

Для отключения средства LQM используется команда no ppp quality .

Команды многоканального протокола PPP

Многоканальный протокол PPP (обозначается также MP, MPPP, MLP или Multilink) предоставляет метод распределения трафика между несколькими физическими каналами WAN. Многоканальный протокол PPP обеспечивает также фрагментацию и повторную сборку пакетов, надлежащее упорядочивание, возможность использования оборудования различных поставщиков и распределение нагрузки входящего и исходящего трафика.

MPPP позволяет фрагментировать пакеты и отправлять эти фрагменты одновременно по нескольким каналам «точка-точка» по одному и тому же удалённому адресу. В ответ на определённое пользователем пороговое значение нагрузки открываются несколько физических каналов. MPPP может измерить нагрузку только во входящем трафике или только в исходящем трафике, но не общую нагрузку обоих трафиков.

Настройка MPPP выполняется в два шага (см. рисунок).

Шаг 1. Создание многоканальной группы.

  • Многоканальный интерфейс создаётся командой interface multilink number .
  • В режиме настройки интерфейса многоканальному интерфейсу назначается IP-адрес. В этом примере как адрес IPv4, так и адрес IPv6 настроены на маршрутизаторах R3 и R4.
  • На интерфейсе запускается многоканальный PPP.
  • Интерфейсу назначается номер многоканальной группы.

Шаг 2. Назначение интерфейсов многоканальной группе.

На каждом интерфейсе, входящем в многоканальную группу, выполняются следующие настройки.

  • Активируется инкапсуляция PPP.
  • Активируется многоканальный PPP.
  • Производится привязка к группе посредством указания номера группы, настроенного в действии 1.

Для отключения многоканального PPP используется команда no ppp multilink .

Проверка настройки PPP

Для проверки правильности настройки инкапсуляции HDLC или PPP используется команда show interfaces serial . В выходных данных команды отображается настройка PPP (см. рис.).

После настройки HDLC в выходных данных команды show interfaces serial должна отобразиться строкаencapsulation HDL C . Если настроен протокол PPP, должны отобразиться также состояния протоколов LCP и NCP. Обратите внимание, что протоколы управления сетью IPCP и IPV6CP открыты для IPv4 и IPv6, поскольку на маршрутизаторах R1 и R2 установлены и адреса IPv4, и адреса IPv6.

На рис. показан список команд для проверки PPP.

Команда show ppp multilink проверяет, активирован ли многоканальный протокол PPP на R3 (см. рис. 3).

В выходных данных отражены интерфейс Multilink 1, имена узлов локальной и удалённой оконечных точек и последовательные интерфейсы, включённые в многоканальную группу.

Аутентификация PPP

PPP определяет расширяемый протокол LCP, позволяющий согласовывать протокол аутентификации для проверки подлинности собеседника, прежде чем разрешить протоколам сетевого уровня осуществлять передачу данных по каналу. В документе RFC 1334 для аутентификации определяются два протокола, PAP и CHAP (см. рисунок).

Протокол PAP (Password Authentication Protocol, «протокол аутентификации по паролю») - это очень простой двухэтапный процесс. В нём не используется шифрование. Имя пользователя и пароль отправляются в незашифрованном виде. При их получении разрешается установка подключения. У протокола CHAP (Challenge Handshake Authentication Protocol, «протокол аутентификации с запросом») более высокий уровень защиты, чем у PAP. В нём применяется трёхэтапный обмен совместно используемым секретным ключом.

Этап проверки подлинности сеанса PPP не является обязательным. Если он используется, собеседник проходит проверку подлинности после того, как LCP устанавливает канал и выбирает протокол аутентификации. Если он используется, проверка подлинности выполняется до начала этапа настройки протокола сетевого уровня.

Параметры аутентификации требуют ввода данных аутентификации вызывающей стороной. Это позволяет убедиться в том, что у пользователя есть разрешение сетевого администратора на выполнение вызова. Соединённые маршрутизаторы обмениваются сообщениями аутентификации.

Password Authentication Protocol (PAP)

Одна из многих функций протокола PPP состоит в выполнении аутентификации уровня 2 в дополнение к проверке подлинности, шифрованию, управлению доступом и общим процедурам обеспечения безопасности на других уровнях.

Инициализация PAP

Протокол PAP предоставляет простой метод подтверждения узла путём двухэтапного «рукопожатия». PAP - не интерактивный протокол. Если используется команда ppp authentication pap , имя пользователя и пароль можно отправить в виде одного пакета данных LCP вместо отправки сервером запроса на ввод имени для входа и ожидания ответа, как показано на рис. 1. После того, как PPP выполнит этап установления подключения, удалённый узел повторно отправляет пару имя пользователя-пароль по каналу до тех пор, пока принимающий узел не подтвердит её или не завершит подключение.

Завершение PAP

На принимающем узле имя пользователя-пароль проверяется сервером аутентификации, который либо разрешает, либо или отклоняет подключение. Сообщение о принятии или отклонении возвращаются инициатору запроса, как показано на рис. 2.

PAP не является сильным протоколом аутентификации. С помощью РАР пароли отправляются в незашифрованном виде, так что защита от атак повторной передачи или повторяющихся атак методом проб и ошибок отсутствует. Удалённый узел управляет частотой и временем попыток входа в сеть.

Тем не менее, существуют ситуации, в которых использование PAP оправдано. Например, несмотря на свои недостатки, PAP можно использовать в следующих условиях.

  • Большой парк установленных клиентских приложений, которые не поддерживают протокол CHAP
  • Несовместимость между реализациями CHAP от различных поставщиков

Инкапсуляция и процесс аутентификации PPP

Схема на рис. поясняет процесс аутентификации PPP при выполнении настройки PPP. На схеме приведён визуальный пример логики принятия решений протоколом PPP.

Например, если входящий запрос PPP не требует проверки подлинности, PPP переходит к следующему уровню. Если входящему запросу PPP требуется проверка подлинности, запрос может пройти проверку подлинности с помощью либо локальной базы данных, либо сервера безопасности. Как показано на схеме, после успешной аутентификации процесс переходит на новый уровень, а при непрохождении проверки подлинности подключение завершается, и входящий запрос PPP игнорируется.

Проследите за этапами на рис., чтобы ознакомиться с процессом установления маршрутизатором R1 прошедшего аутентификацию CHAP подключения РРР к маршрутизатору R2.

Шаг 1. Сначала R1 с использованием LCP выполняет согласование подключения канала с маршрутизатором R2, и две системы договариваются использовать аутентификацию CHAP во время согласования PPP LCP.

Шаг 2. R2 генерирует идентификатор и случайное число, затем отправляет маршрутизатору R1 эти данные и своё имя пользователя в качестве контрольного пакета CHAP.

Шаг 3. Маршрутизатор R1 использует имя пользователя претендента (R2) и на основе этого имени с помощью перекрёстных ссылок ищет соответствующий пароль в своей локальной базе данных. Затем R1 генерирует хэш-код MD5, используя имя пользователя маршрутизатора R2, идентификатор, случайное число и совместно используемый секретный пароль. В этом примере совместно используемый секретный пароль - boardwalk.

Шаг 4. Затем маршрутизатор R1 передает маршрутизатору R2 идентификатор контрольного пакета, значение хэш-кода и своё имя пользователя (R1).

Шаг 5. R2 генерирует своё собственное значение хэш-кода с использованием идентификатора, совместно используемого секретного пароля и случайного числа, изначально отправлявшегося маршрутизатору R1.

Шаг 6. R2 сравнивает своё значение хеш-кода со значением, отправленным маршрутизатором R1. Если значения совпадают, то R2 отправляет маршрутизатору R1 ответ об установлении канала.

Если запрос не прошёл проверку подлинности, формируется пакет CHAP с информацией об ошибке, состоящий из следующих компонентов:

  • 04 = тип сообщения CHAP об ошибке
  • id = копируется из пакета ответа

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

Настройка аутентификации PPP

Для указания порядка, в котором протоколы CHAP и PAP запрашиваются на интерфейсе, используется команда настройки интерфейса ppp authentication , как показано на рисунке. Для отключения аутентификации используется вариант этой команды с отрицанием (no ).

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

  • Аутентификация PAP запрашивает у удалённого устройства имя и пароль, чтобы сравнить их с соответствующей записью в локальной базе данных имён пользователей или в удалённой базе данных TACACS/TACACS+.
  • Аутентификация CHAP отправляет удалённому устройству контрольный запрос. Удалённое устройство должно зашифровать контрольное значение с использованием совместно используемого секретного ключа и в ответном сообщении вернуть локальному маршрутизатору зашифрованное значение и своё имя. Локальный маршрутизатор использует имя удалённого устройства для поиска соответствующего секретного ключа в локальной базе данных имён пользователей или в удалённой базе данных TACACS/TACACS+. Он использует найденный секретный ключ для шифрования исходного контрольного значения и проверяет зашифрованные значения на тождественность.

Примечание . TACACS - выделенный сервер аутентификации, авторизации и учета (AAA), используемый для проверки подлинности пользователей. Клиенты TACACS отправляют запрос серверу аутентификации TACACS. Сервер выполняет проверку подлинности пользователя, авторизует действия пользователя и отслеживает выполненные пользователем действия.

Можно включить PAP, CHAP или оба протокола. Если включены оба метода, во время согласования связи запрашивается метод, указанный первым. Если удалённый узел предлагает использовать второй метод или просто отказывается использовать первый метод, предпринимается попытка использовать второй метод. Некоторые удалённые устройства поддерживают только CHAP, а некоторые - только PAP. Порядок, в котором указываются методы, основывается на соображениях относительно способности удалённого устройства правильно провести согласование соответствующего метода, а также на соображениях безопасности канала данных. Имена пользователей PAP и пароли отправляются в виде открытых строк и могут быть перехвачены и повторно использованы. В протоколе CHAP удалось устранить большинство известных брешей в защите.

Настройка PPP с аутентификацией

В таблице описана процедура настройки инкапсуляции PPP и протоколы аутентификации PAP/CHAP. Важно правильно выполнить настройку, поскольку PAP и CHAP используют эти параметры для аутентификации.

Настройка аутентификации PAP


На рис. приведён пример настройки двухсторонней аутентификации PAP. Каждый из маршрутизаторов и проводит аутентификацию, и проходит её, поэтому соответствующие команды аутентификации PAP зеркально отражают друг друга. Отправляемые каждым из маршрутизаторов имя пользователя и пароль PAP должны совпадать с указанными в командеusername name password password другого маршрутизатора.

Протокол PAP предоставляет простой метод подтверждения узла путём двухэтапного «рукопожатия». Это выполняется только после первоначального создания канала. Имя узла на одном маршрутизаторе должно совпадать с именем пользователя, настроенным для PPP другим маршрутизатором. Пароли также должны совпадать. Параметры, передающие имя пользователя и пароль, укажите в команде ppp pap sent-username name password password .

Настройка аутентификации CHAP

CHAP периодически проверяет подлинность удалённого узла с использованием трёхэтапного рукопожатия. Имя узла на одном маршрутизаторе должно совпадать с именем пользователя, настроенным другим маршрутизатором. Пароли также должны совпадать. Процедура выполняется после первоначального создания канала и может повторяться в любой момент времени после установления связи. На рис. приведён пример настройки CHAP.

В мире существует множество разновидностей сетевой связи, функционирующих на базе протоколов различного предназначения и разного уровня эффективности. Рассмотрим основные вопросы, связанные с протоколом PPPoE: что это, как он работает и для чего был создан. Чтобы понять преимущества данной технологии, необходимо изучить несколько важных моментов. Начнем знакомство с небольшого введения в понятие РРРоЕ.

Сущность данного решения

Отвечая на вопрос: «PPPoE - что это?», следует пояснить, что речь идет об особом протоколе Название представляет собой аббревиатуру, которая расшифровывается как Point-to-Point Protocol over Ethernet, то есть через сеть Ethernet по принципу «от точки к точке». Соединение работает по аналогии с dial up.

Разница заключается в функционировании: сеть Ethernet связывает PPPoE вместо выделенной телефонной линии. Стоит сказать о сильных сторонах технологии. Подчеркнем, что PPPoE-подключение обладает преимуществом, которое заключается в расширенном спектре дополнительных возможностей: вы можете сжимать данные, проводить аутентификацию, шифровать информацию.

Однако требования MTU здесь ниже (1492 вместо 1500 байт), что иногда приводит к осложнениям при работе с Еще один ответ на вопрос: «PPPoE - что это?» - можно сформулировать так: это туннелирующий протокол. Другими словами, в данной технологии реализована возможность настройки IP или других протоколов через РРР или Ethernet-соединение. Поэтому PPPoE можно использовать для виртуальных звонков, «точечного» соединения и отправки пакетов IP, при этом получая все преимущества РРР.

PPPoE-соединение: что это и как работает

Осуществить PPPoE-подключение вовсе несложно. Первая задача - настройка антенны. Хотя это лучше доверить специалисту из техподдержки: вы как пользователь можете только подключить комплект к источнику питания. Точку доступа и радиоантенну соединяют толстым кабелем, к компьютеру подводят пару обвитых проводов. Провод обжимается и подключается с одной стороны к точке доступа, а с другой - к сетевому адаптеру.

Протокол PPPoE: что это и какие ошибки может выдавать

При работе с протоколом PPPoE могут возникнуть различные технические ошибки, по каждой из которых уже разработаны алгоритмы решений. О них стоит поговорить подробнее. Рассмотрим типичные ошибки PPPoE.

Популярная неполадка имеет номер 633 и означает отсутствие модема или его некорректную настройку. Для исправления положения можно осуществить перезагрузку компьютера, попытаться выйти в Интернет и заново создать подключение.

Ошибка номер 676 означает, что линия занята. Требуется снова войти по локальной сети и подключиться, а после перезагрузки удалить и заново установить сетевой драйвер.

Если не отвечает удаленный компьютер то можно проверить работоспособность антивируса и настройку сетевого экрана, если он имеется. Следует заново включить проверить работу кабеля и присутствие контакта в разъемах. Кроме того, проверьте работу карты и переустановите драйверы. Допускается отсутствие связи с сервером, но это уже системная проблема.

В любом случае нужно понять причину неполадки и выделить все возможные источники проблем. Вы можете обратиться к провайдеру, где вас проконсультирует служба поддержки. Другие распространенные (запрещен доступ), 711 (проблема служб), 720 (рассогласование протоколов подключения), 52 (при совпадающих именах не удается подключение к сети).

Многочисленны номера внутренних ошибок системы Windows (600, 601, 603, 606, 607, 610, 613, 614, 616 и другие) устраняются путем перезагрузки и удаления вирусов. Лучше отменять изменения в настройках, которые недавно были произведены. Если имеется некорректная настройка внутренней конфигурации сети, то возникает ошибка 611. Необходимо проверить функционирование локального подключения.

Ошибка 617 может быть симптомом внутренней неполадки ОС. С большинством нарушений в работе помогут разобраться технические специалисты службы поддержки. В ОС есть информация о неисправностях, проводится их диагностика, при этом варианты решения проблем уже заложены в систему.

Особенности

Технология PPPoE - беспроводная, передающая данные через радиоэфир. Выделенная линия слишком дорогая, а ее проведение не всегда возможно физически. Модемное подключение медленное и часто срывается. Радиосоединение более надежно.

Провайдеры не всегда готовы предоставить высокую скорость, которую сами же и урезают. Здесь важно отрегулировать антенну и направить ее на станцию, чтобы оптимизировать подачу сигнала. Есть еще такое понятие, как wan miniport PPPoE. Что это спросите вы? Если коротко, то это еще одна область, на которую может ссылаться сообщение об ошибке подключения. При ее возникновении свяжитесь с технической поддержкой.

Протоколы

Необходимо уточнить особенности протоколов, так как есть некоторые преимущества у каждого PPPoE передает фреймы протокола РРР напрямую через сеть Ethernet. Отличие от традиционного IP-соединения в том, что есть необходимость в создании учетной записи на шлюзе - это важно для установления контроля и его простого формата. Кроме того, облегчается процесс настройки такой функции, как биллинг.

Отличие PPPoE заключается в скорости, которая достигает 100 мегабит в секунду. Среда передачи - Ethernet. Здесь используется особая технология - стек РРР, которая не является инновационной в силу своей распространенности.

Минипорты

Для подключения и высокоскоростного соединения используется WAN Miniport с протоколом PPPoE. В момент запуска соединения на высокой скорости (особенно при использовании операционных систем Windows 7 и 8) возникает ошибка подключения. Эта ошибка имеет код 651 и связана со сбоем связи при использовании ADSL и с некорректной работой роутера.

Для устранения проблемы необходимо зайти на сервер (например, 192.168.1.1) и уточнить, есть ли соединение с сетью Интернет. Проблема может скрываться в технике абонента (неисправности в модеме, роутере, оптоволоконном терминале) или заключаться в неполадках у провайдеров.

Определение типа соединения

Данная операция может быть проведена пользователем компьютера, который обладает начальным уровнем подготовки. Итак, нажимаем кнопку «Пуск», чтобы вызвать главное меню ОС? и переходим к пункту «Настройки», чтобы выполнить определение типа интернет-соединения.

Отныне вы знаете больше о подключении PPPoE: что это и как работает данная технология.



Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!