Простейшая установка и настройка PPPoE-сервера под Linux::Журнал СА 2.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

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

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6226
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6932
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4214
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3006
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3806
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3819
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6315
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3169
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3459
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7276
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10646
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12364
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13998
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9123
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7077
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5387
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4616
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3426
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3154
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3399
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3024
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Простейшая установка и настройка PPPoE-сервера под Linux

Архив номеров / 2008 / Выпуск №2 (63) / Простейшая установка и настройка PPPoE-сервера под Linux

Рубрика: Администрирование /  Продукты и решения

Сергей Гулинов

Простейшая установка и настройка PPPoE-сервера под Linux
Исправление ошибки LCP Config Request

Сегодня многие провайдеры предоставляют доступ в Интернет посредством аутентифицируемого VPN на базе протокола PPP. Однако далеко не всегда использование этого протокола является оптимальным решением.

Наверное, уже все сталкивались или по крайней мере слышали про виртуальные частные сети, VPN (Virtual Private Network). Под виртуальными частными сетями подразумевается создание логической сети поверх другой, например Интернет. При этом созданная логическая сеть использует в качестве среды передачи данных уже существующие сети.

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

В качестве протокола уже существующей сети пусть будет выступать наиболее широко используемый сегодня протокол IP (Internet Protocol – протокол сети Интернет). Тогда схема инкапсуляции будет выглядеть следующим образом (см. рис. 1).

Рисунок 1. Схема инкапсуляции (IP)

Рисунок 1. Схема инкапсуляции (IP)

Для создания виртуальной сети используется протокол PPP (Point-to-Point Protocol – протокол типа точка-точка). В качестве примера возьмём простой случай, когда данные протокола IP передаются по сети Ethernet. Тогда инкапсуляция будет выглядеть следующим образом (см. рис. 2).

Рисунок 2. Схема инкапсуляции (PPP)

Рисунок 2. Схема инкапсуляции (PPP)

Но и это ещё не всё. Дело в том, что пользовательские данные чаще всего передаются по виртуальным сетям, опять же по протоколу IP.

Получается этакий многослойный пирог (см. рис. 3).

Рисунок 3. Схема передачи данных

Рисунок 3. Схема передачи данных

Именно такая технология чаще всего используется у провайдеров для предоставления пользователям доступа в Интернет с использованием аутентифицируемого VPN как средства ограничения доступа к ресурсам глобальной сети.

Предположим, что нам надо создать виртуальную сеть между устройствами, находящимися в одной и той же сети Ethernet, а так, кстати говоря, чаще всего и бывает. Тогда, я думаю, вы вполне со мной согласитесь, что развёртывать сеть IP, поверх которой будет работать ещё одна такая же сеть, не вполне разумно. Очевидно, что в данном случае оптимально развёртывать виртуальную сеть сразу поверх сети Ethernet, уменьшив тем самым число инкапсуляций одного протокола в другой. Вот тут нам на помощь и приходит протокол PPPoE (Point-to-point protocol over Ethernet) – сетевой протокол передачи кадров PPP через Ethernet. Этот протокол использует в качестве переносчика своей информации сеть Ethernet (см. рис. 4).

Рисунок 4. Схема передачи данных, убран протокол IP

Рисунок 4. Схема передачи данных, убран протокол IP

Таким образом, из нашего многослойного «пирога», исчезает один не нужный в данном случае уровень IP. Теперь перейдём от теории к делу и посмотрим, как настроить PPPoE-сервер под управлением Linux.

В качестве демонстрационной платформы будет выступать сервер под управлением Red Hat 9.0, однако всё написанное справедливо и для всех дистрибутивов от Red Hat, вплоть до Fedora Core 8.0 включительно.

Для настройки нам понадобятся последние версии PPP и PPPoE. На момент написания это ppp 2.4.4, скачать который можно здесь: ftp://ftp.samba.org/pub/ppp, и rp-pppoe 3.8, который можно получить по адресу: http://www.roaringpenguin.com/products/pppoe.

Однако перед тем как описывать процесс установки, необходимо сделать небольшое отступление.

Дело в том, что на момент написания статьи на всех системах от Red Hat, PPPoE отказывался правильно функционировать в режиме демона (по поводу kernel mode ничего сказать не могу, потому как не пробовал). Ошибка кроется в демоне ppp, который при установлении соединения по протоколу PPPoE отказывается посылать ответы на клиентские запросы LCP Config Request, тем самым приводя к «зависанию» соединения на этапе проверки имени пользователя и пароля.

При этом в логах, которые находятся в /var/log/messages, можно наблюдать такие ошибки:

Jan 30 03:24:51 Dark-server pppd[1979]: LCP: timeout sending Config-Requests

Jan 30 03:24:51 Dark-server pppd[1979]: Connection terminated.

Jan 30 03:24:51 Dark-server pppd[1979]: Modem hangup

Для устранения ошибки необходимо исправить файл main.c из комплекта pppd. После чего ppp надо заново откомпилировать и установить.

Итак, приступим.

Загружаем ppp 2.4.4, распаковываем, заходим в поддиректорию pppd, правим файл main.c (формат patch):

--- ppp-2.4.4/pppd/main.c.orig 2006-06-04 07:52:50.000000000 +0400

+++ ppp-2.4.4/pppd/main.c 2007-11-09 14:47:20.000000000 +0300

@@ -1567,6 +1567,8 @@

if (errfd == 0 || errfd == 1)

errfd = dup(errfd);

+ closelog();

+

/* dup the in, out, err fds to 0, 1, 2 */

if (infd != 0)

dup2(infd, 0);

@@ -1575,7 +1577,6 @@

if (errfd != 2)

dup2(errfd, 2);

- closelog();

if (log_to_fd > 2)

close(log_to_fd);

if (the_channel->close)

Скачать патч и более подробно о проблеме можно прочитать здесь: https://bugzilla.redhat.com/show_bug.cgi?id=222295.

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

which pppd

pppd: /usr/sbin/pppd

Мы видим, что старая версия находится в /usr/sbin/.

Далее, всё довольно обычно, как и при установке всех программ из исходных текстов. Запускаем скрипт конфигурации ppp, указывая параметр prefix, имея в виду, что установка должна выполняться, заменяя предыдущую версию. Компилируем, устанавливаем:

./configure --prefix=/usr

 make

 make install

На этом установка новой версии ppp завершена. И можно приступать к установки rp-pppoe.

Тут всё довольно тривиально и обычно. Загружаем rp-pppoe, распаковываем, запускаем скрипт установки:

./go

Если не будет никаких ошибок, то на этом установка завершена. Далее необходимо отредактировать файл опций /etc/ppp/pppoe-server-options. Это самый обычный файл конфигурации ppp. Вот пример такого файла, который работает у меня:

name pppoe

logfile /var/log/log.pppoe

require-pap

require-chap

require-mschap

require-mschap-v2

lcp-echo-interval 20

lcp-echo-failure 3

netmask 255.255.255.0

nobsdcomp

lock

Далее необходимо создать учетные записи пользователей, которым будет разрешен доступ к серверу. Имена пользователей, а также их пароли находятся в файлах: /etc/ppp/pap-secrets и /etc/ppp/chap-secrets. Не вдаваясь в подробности, могу сказать, что эти файлы должны быть одинаковы по содержанию. Приведу пример такого файла:

# Secrets for authentication using CHAP

# client   server secret       IP addresses

"testlogin"           * "testpass"   *

То есть именем пользователя будет «testlogin», а паролем «testpass». Ну вот практически и всё, теперь остаётся только запустить сервер, выполнив следующую каманду:

pppoe-server -I eth0 -L 192.168.0.1 -R 192.168.0.2

где:

  • eth0 – имя интерфейса, на котором запущен сервер;
  • 192.168.0.1 – IP-адрес сервера;
  • 192.168.0.2 – начальный IP-адрес, выдаваемый клиентам.

Всё, сервер запущен и работает.

Теперь к нему можно подсоединяться, используя в качестве имени пользователя «testlogin» и пароля «testpass».

Проконтролировать работу сервера после подключения к нему клиента можно, набрав следующую команду:

ifconfig

Ответ будет приблизительно такой:

eth0      Link encap:Ethernet  HWaddr 00:E0:4C:39:32:1A

          inet addr:192.168.22.200  Bcast:192.168.22.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:1005 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1583 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:100

          RX bytes:73417 (71.6 Kb)  TX bytes:191052 (186.5 Kb)

          Interrupt:5 Base address:0xf000

 

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:10 errors:0 dropped:0 overruns:0 frame:0

          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:700 (700.0 b)  TX bytes:700 (700.0 b)

 

ppp0      Link encap:Point-to-Point Protocol

          inet addr:192.168.0.1  P-t-P:192.168.0.2  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1480  Metric:1

          RX packets:14 errors:0 dropped:0 overruns:0 frame:0

          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3

          RX bytes:1290 (1.2 Kb)  TX bytes:121 (121.0 b)

Среди запущенных интерфейсов можно увидеть интерфейс ppp0, который и является интерфейсом только что созданной нами сети VPN. Вот собственно и всё. Желаю успехов.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru