Различия

Показаны различия между двумя версиями страницы.


pppoe [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Как работает PPPoE ======
 +{{htmlmetatags>
 +metatag-description=(PPPoE сетевой протокол канального уровня (второй уровень сетевой модели OSI) передачи кадров PPP через Ethernet. В основном используется xDSL-сервисами. Предоставляет дополнительные возможности (аутентификация, сжатие данных, шифрование).)
 +}}
  
 +
 +**PPPoE** (англ. Point-to-point protocol over Ethernet) — сетевой протокол передачи кадров [[PPP]], стандарт которого определён в документе [[RFC]] 2516, является установление соединения «точка-точка» поверх общей среды Ethernet. Настройка подключения отличается для абонентов сетей [[Ethernet]] и ADSL. В основном используется x[[DSL]]-сервисами. Предоставляет дополнительные возможности ([[аутентификация]], сжатие данных, шифрование).
 +
 +<note>К сожалению, его [[MTU]] ниже, чем на стандартном [[Ethernet]], что иногда вызывает проблемы с плохо настроенными межсетевыми экранами.</note>
 +
 +Работа PPPoE осуществляется следующим образом. **Существует Ethernet-среда, то есть несколько соединённых сетевых карт, которые адресуются MAC-адресами.** Заголовки Ethernet-кадров содержат адрес отправителя кадра, адрес получателя кадра и тип кадра. Одну из карт слушает PPPoE сервер. Клиент посылает широковещательный Ethernet кадр, на который должен ответить PPPoE сервер (адрес отправителя кадра — свой MAC-адрес, адрес получателя кадра — FF:FF:FF:FF:FF:FF и тип кадра — PPPoE Active Discovery Initiation). PPPoE сервер посылает клиенту ответ (адрес отправителя кадра — свой MAC-адрес, адрес получателя кадра — МАС-адрес клиента и тип кадра — PPPoE Active Discovery Offer). Если в сети несколько PPPoE серверов, то все они посылают ответ. Клиент выбирает подходящий сервер и посылает ему запрос на соединение. Сервер посылает клиенту подтверждение с уникальным идентификатором сессии, все последующие кадры в сессии будут иметь этот идентификатор. Таким образом, между сервером и клиентом создается виртуальный канал, который идентифицируется идентификатором сессии и MAC-адресами клиента и сервера. Затем в этом канале устанавливается PPP соединение, а уже в PPP пакеты упаковывается IP-трафик.
 +
 +Для Ethernet необходима установка клиента РРРоЕ (для всех ОС за исключением Windows XP). В настройках сетевой карты можно отключить все протоколы (в том числе и TCP\IP), так как они не используются для создания РРРоЕ сессии. После установки драйвера клиента РРРоЕ необходимо из командной строки один раз запустить утилиту конфигурации «raspppoe», где в списках всех обнаруженных серверов доступа необходимо будет выбрать свой городской сервер. Автоматически будет создано новое соединение удаленного доступа. При запуске этого соединения будет запрошен логин и пароль и установлена сессия РРРоЕ. После этого становится возможен доступ в локальную сеть и Интернет. Пользователь идентифицируется по логину, паролю, МАС адресу (фиксируется при установлении первой сессии, поэтому важно первую сессию устанавливать со своего компьютера), IP адрес (назначается автоматически, но не меняется от сессии к сессии). Для Windows XP, где поддержка РРРоЕ встроена в ОС настройка сводится с созданию нового соединения, дополнительно устанавливать и настраивать специальное ПО не требуется.
 +
 +Для ADSL настройка доступа через РРРоЕ производится следующим образом. Для USB ADSL модемов необходимо установить WAN драйвер модема. При этом будет создано соединение Dial-up через ADSL модем и нет необходимости устанавливать и настраивать программное обеспечение PPPoE клиентов, так как его роль выполняет ADSL оборудование. Чтобы установить РРРоЕ сессию необходимо ввести логин и пароль. Для модемов, имеющих Ethernet выход, через WEB интерфейс модема выбирается соединение через РРРоЕ, указывается логин и пароль. Сессия устанавливается модемом автоматически при подаче на него питания. Сетевой интерфейс компьютера настраивается на локальное подключение к ADSL модему (возможно использование встроенного в модем DHCP для автоматической настройки сетевой карты компьютера). При этом при включении компьютера автоматически устанавливается соединение с локальной сетью и Интернетом. Чтобы разорвать соединение, необходимо отключить питание модема или отключить сетевой интерфейс компьютера.
 +
 +===== Настройка PPPoE на FreeBSD =====
 +Рабочий пример настройки PPPoE на маршрутизаторе OS [[FreeBSD]].
 +<code>
 +> ee /etc/ppp/ppp.conf
 +default:
 + set log Phase tun command  # параметры протоколирования, где
 + # log - включает ведение log-файла (по умолчанию все сообщения записываются в файл /var/log/ppp.log
 + # Phase - поэтапный вывод сообщений в лог (соответствует этапам подключения), позволяет исключить малоинформативные сообщения
 + # tun - виртуальное сетевое устройство, которое будет задействовано при соединении (в данном случае tun, т.к. протокол точка-точка)
 + # command - производить запись в лог как команд, полученных с командной строки, так и тех, которые были считаны стартовым скриптом ppp из
 + # конфигурационного файла
 + set mru 1492
 + set mtu 1492
 + disable ipv6cp # отключить поддержу IPv6
 + enable lqr     # Link Quality Reporting - по умолчанию выключено
 +
 +ispgateway:
 + set device PPPoE:xl0       # где PPPoE - задаёт уточнение протокола (в рамках протоколов, поддерживающихся ppp), xl0 имя устройства вашей Ethernet карты
 + set authname YourLoginName # выдает ваш ISP
 + set authkey YourPassword   # выдает ваш ISP
 + add default HISADDR        # установить шлюз по умолчанию (default route) на этого провайдера, HISSADR - отображать IP адрес присоединённой стороны
 +
 +</code>
 +Для запуск [[ppp]] при загрузке добавим в /etc/rc.conf следующее строки:
 +<code>
 +> ee /etc/rc.conf
 +ppp_enable="YES"
 +ppp_mode="ddial"
 +ppp_nat="NO" #для NAT -преобразования я использую PF, потому NAT в ppp выключен. ppp_nat по умолчанию включен.
 +ppp_profile="ispgateway"
 +</code>
 +===== Настройка PPPoE на Debian =====
 +Настройка PPPoE на маршрутизаторе OS [[Debian]] 7 Wheezy/sid.
 +  * Установить pppoeconf<file>
 +# aptitude install pppoeconf pppoe ppp
 +</file>
 +  * Запустить pppoeconf для создания и/или изменения файлов /etc/ppp/peers/dsl-provider, /etc/ppp/*ap-secrets и /etc/network/interfaces<file>
 +# pppoeconf
 +</file>
 +====== PF MTU PPPoE ======
 +<code>> ifconfig
 +tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
 +...
 +</code>
 +tun0 соединение имеет [[MTU]] 1492. Это значит, что ваше соединение с интернет имеет окно в 1492 байт ([[MTU]] - Maximim Transmission Unit) - это наибольший пакет, который ваша машина может  передать  по  данному соединению. В тоже время, почти все веб и ftp серверы соединены с интернет с MTU 1500.
 +
 +В логе ppp появилась запись tun0: Warning: deflink: Reducing configured MRU from 1500 to 1492. Для устранения зададим явным образом максимальные значения [[MTU]] и [[MRU]] для [[ppp]].
 +
 +FreeBSD: <file>
 +> ee /etc/ppp/ppp.conf
 +default:
 + set mru 1492
 + set mtu 1492
 +</file>
 +Debian:<file>
 +# nano /etc/ppp/peers/dsl-provider
 +mtu 1492
 +</file>
 +====== Ссылки ======
 +  * [[http://ru.wikipedia.org/wiki/PPPoE|PPPoE Материал из Википедии]]
 +  * [[http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=pppd&category=8|man pppd]]
 +  * [[http://www.freebsd.org/doc/ru/books/handbook/pppoe.html|Руководство FreeBSD: Использование PPP через Ethernet (PPPoE)]]
 +  * [[http://www.freebsd.org/doc/ru/books/handbook/userppp.html|Руководство FreeBSD: PPP уровня пользователя]]
 +  * [[http://www.opennet.ru/base/modem/pppoe_freebsd_client.txt.html|OpenNET: Настройка PPPoE соединения во FreeBSD]]
 +  * [[http://www.opennet.ru/base/net/pppoe_mtu.txt.html|О PPPoE, MTU и проблеме Path MTU Discovery Black Hole]]

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!