Настройка pppoe сервера linux

Linuxoid

OpenSource forever

Устанавливаем PPPoE сервер в Ubuntu

Настройка своего PPPoE сервера в Ubuntu так же не сложна как и настройка клиентского соединения. Для этого можно выполнить всего несколько шагов. Устанавливаем пакет pppoe, остальные компоненты уже есть в системе:

$ sudo apt-get update

$ sudo apt-get install pppoe

Проверяем, загружены ли модули:

$ lsmod | grep ppp

pppox 4872 1 pppoe

ppp_generic 29332 6 pppoe,pppox

slhc 7552 1 ppp_generic

Если вывод ничего не показывает, загружаем «modprobe pppoe». Записываем в файл /etc/ppp/options строку «plugin rp-pppoe.so». За настройку PPPoE сервера отвечает файл /etc/ppp/pppoe-server-options, в Ubuntu его нет, создаем его:

$ sudo mcedit /etc/ppp/pppoe-server-options

# прописываем здесь DNS адрес, который будет выдаваться клиентам

Для проверки правильности настройки сервера PPPoE создадим тестовую учетную запись. Для этого открываем файл /etc/ppp/chap-secrets и записываем в нее одну строку
test * password *

Запускаем PPPoE сервер:

$ sudo pppoe-server -I eth1 -L 192.168.0.10 -O /etc/ppp/pppoe-server-options

Параметр -I позволяет указать на специфический интерфейс (по умолчанию eth0), при помощи -L указываем локальный адрес. По умолчанию удаленным компьютерам назначаются адреса в диапазоне начиная с 10.67.15.1, при помощи -R можно назначить начальный адрес с другого диапазона.

Пробуем подключиться с удаленной машины, создав новое соединение и использовав указанный логин и пароль. За ходом подключения можно следить, введя в консоли «tail -f /var/log/pppoe.log», нужная информация есть и в /var/log/messages.

Если все работает, то развиваем идею например подключаем PPPoE сервер к FreeRADIUS .

7 комментариев

Привет.У меня подключение к интернету по pppoe , возможно ли поставить сервер и сайт , что бы он был виден из вне.

Обесните как ето сделать или скиньте пожалуйста ссылку на мануал для начинающего наперед спасибо

Ну вот один из них.

Он не реагирует на пароли в указанной папке.Да и в ней самой написано чтото типа по умолчанию пароли надо класть совсем в другой файл.Но не суть.Подскажите как сделать чтобы у клиентов которые подключаются к рррое серверу был интернет? На сервере 2 интерфейса.Одним в локалку смотрит и на нем висит рррое.Вторым в интернет.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок 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

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

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

if (log_to_fd > 2)

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

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

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

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

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

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

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

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

# Secrets for authentication using CHAP

# client server secret IP addresses

То есть именем пользователя будет «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».

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

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

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

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

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

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

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

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

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

Источник

PPPoE в Ubuntu

Настройка соединения является важным процессом при работе в виртуальной реальности. Для этого явления созданы 2 основных протокола, одним из которых является PPPoE setup (или altlinux PPPoE). Правда, установка этого оборудования требует специфических знаний. Чтобы предотвратить часто встречающиеся проблемы, новичку следует предварительно узнать о такой теме, как настройка PPPoE на Ubuntu.

Что такое PPPoE

Прежде чем говорить о настройке PPPoE в Ubuntu, следует понять: что же представляет собой это программное обеспечение.

PPPoE server ubuntu – это известный сетевой канальный протокол на платформе Линукс. Он необходим для передачи данных через Интернет. Имеет туннелирующий тип связи.

Принцип действия

Работа PPPoE server linux происходит следующим образом:

  1. Пользователь отправляет запрос серверу PPPoE ubuntu, в котором указаны адреса получателя и отправителя, тип передачи данных.
  2. В ответ PPPoE server linux предоставляет свои данные об описанных выше элементах. Причем если есть несколько серверов такого типа, то отвечают все.
  3. Клиент выбирает необходимый и отправляет запрос на соединение.
  4. Сервер подтверждает соединение, дает пользователю идентификацию.

Таким образом, получается связь клиента и сервера. Устанавливается идентификация между портами пользователя и сервера, образуется соединение и возникает ip-трафик.

Преимущества протокола

Отсутствие «плохой работы» сети возможно из-за ip-заголовков. Каждый пользователь может назначить свой канал передачи данных.

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

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

О современных разновидностях

Существует несколько разновидностей протокола.

В этом случае связь будет через DSL-технологию.

Frame 1 (44 bytes on wire, 44 bytes captured)Ethernet II, Src: 00:50:da:42:d7:df, Dst: ff:ff:ff:ff:ff:ff PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Initiation (PADI) Session ID: 0000 Payload Length: 24PPPoE Tags Tag: Service-Name Tag: Host-Uniq Binary Data: (16 bytes)

Усовершенствованная версия предыдущего.

Frame 2 (60 bytes on wire, 60 bytes captured)Ethernet II, Src: 00:0e:40:7b:f3:8a, Dst: 00:50:da:42:d7:df PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Offer (PADO) Session ID: 0000 Payload Length: 36PPPoE Tags Tag: Service-Name Tag: AC-Name String Data: IpzbrOOl Tag: Host-Uniq Binary Data: (16 bytes)

PADR и PADT

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

Еще одна разновидность 1 версии. В этом случае программа будет использовать для работы PADR- и PADS-пакеты. Технология соединения та же.

Как настроить PPPoE на Ubuntu

Есть 2 разных по методике подключения способа.

Настройка PPPoE в Ubuntu с помощью графического менеджера

  1. Вставить DSL-кабель к порту убунту.
  2. Щелкнуть по значку программы Network Meneger.
  3. Выбрать в открывающемся меню вкладку «Изменить соединение».
  4. Нажать кнопку «Добавить».
  5. Выбрать DSL-подключение.
  6. Ввести имя и пароль, предоставленные провайдером. Сохранить настройки.
  7. В раскрывающемся окне выбрать DSL-соединение.

Интернет подключение установлено!

Настройка PPPoE Linux с помощью терминала

Методика будет отличаться:

  1. Открыть терминал одновременным нажатием клавиш: Ctrl, Alt, T.
  2. Установить пакет PPPoEconf с помощью выражения: sudo apt install PPPoEconf.
  3. Соединить DSL-кабель и порт Убунту. Ввести команду: sudo PPPoEconf.
  4. Для дальнейшей настройки выбрать «Да» в выпадающем окне.
  5. Ввести имя и пароль, данные провайдером.
  6. Согласиться с использованием Peer DNS.
  7. Нажать «Да» во вкладке Limited MSS Problem.
  8. Снова нажать согласие.
  9. Для проверки подключения следует воспользоваться выражением: ifconfig.

Интернет-подключение установлено! Для отключения следует воспользоваться выражением: sudo poff. Для повторного запуска нужно использовать sudo pon dsl-provider. Для дальнейшей настройки изучаемого протокола следует воспользоваться командой: nm-connection-editor.

Исправление ошибок через PPPoEconf

Все проблемы лучше решать через терминал.

Алгоритм достаточно прост:

  1. Зайти через «Приложения» во вкладку «Стандартные» открыть «Терминал». Ввести выражение sudo PPPoEconf.
  2. Для подтверждения запуска этой команды следует ввести свое имя и пароль, нажать Enter.
  3. Появится программа настройки, которая даст запрос на переустановку пакета. Следует нажать «Да».
  4. Дальше пойдет поиск доступных серверов PPPoE-типа и авторизации с ними. Если выдается отрицательный ответ, то стоит проверить подключение кабеля к порту Линукс.
  5. Далее следует согласиться с использованием операций defaultroute и noauth, а также прекращения работы операции nodetach.
  6. Затем нужно ввести свой логин по договору вида XNNNN или c-08-NNNN (X – буква, N – цифра). Нажать «Ок».
  7. Ввести пароль и снова нажать «Ок».
  8. Для последующих всплывающих окон рекомендуется выбрать «Да». Это соглашение с подключением к Интернету и проверкой установившегося соединения.
  9. Нажать «Ок».

В дальнейшем прервать связь можно с помощью выражения sudo poff dsl-provider, а установить – sudo pon dsl-provider.

К часто встречающимся ошибкам подключения относятся:

  1. В этом случае нужно проверить правильность вводимых символов имени и пароля.
  2. 769. Здесь нужно проверить подключение кабеля к порту и установку соединения в целом.
  3. 678, 815, 651. В 1 ситуации следует переустановить драйвера или позвонить в службу поддержки. Во 2 ситуации через терминал ввести выражение netsh winsock reset. В 3 ситуации поможет только техподдержка.
  4. 633. Включить соединение по локальной сети.
  5. 692. Подключить снова кабель.
  6. 718. Подождать несколько минут и попробовать подключиться заново.
  7. 720. Включить TCP-протоколы.
  8. 734. Установить возможность использования «небезопасного пароля» в настройках на панели.
  9. 735. Получить новый ip-адрес, перезагрузив гаджет.
  10. 764. Решение такое же, как и при ошибке 734.
  11. 797. Включить сетевую карту или установить новую.

Используя описанные выше советы, можно решить возникающие проблемы на платформе Убунту.

Заключение

Настройка PPPoE на Ubuntu – достаточно простой и многовариантый. Однако следует учитывать специфические особенности алгоритмов каждой методики. При возникающих проблемах новичку следует обратиться к специалисту.

Источник

Читайте также:  Windows word для android
Оцените статью