Документация по ОС FreeBSD
Воскресенье, 23.11.2025, 18:10
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
РРР
Настройка PPPoE сервера во FreeBSD Часть 2 [2009]
Блок def_conf:
С этого блока начинается конфигурация самого сервера. Если в конфиг файле описаны несколько конфигураций, у каждой должно быть свое уникальное имя.
Далее будем описывать построчно:
create bundle template B - создаем бандл "B", он же будет выступать в качестве шаблона
set iface up-script /usr/local/etc/mpd5/vpn_up_mpd.pl
set iface down-script /usr/local/etc/mpd5/vpn_down_mpd.pl - цепляем внешние скрипты на события создания и закрытия туннеля ppp.
MPD может передавать данные в качестве аргументов на события подключения и отключения пользователя к серверу:
$ARGV[0] - ngXX - номер тунеля
$ARGV[1] - inet
$ARGV[2] - aaa.bbb.ccc.ddd/32 - IP адрес сервера
$ARGV[3] - IP адрес, выданный пользователю
$ARGV[4] - логин пользователя
Эти аргументы вы можете использовать в perl скриптах vpn_up_mpd.pl и vpn_down_mpd.pl
set bundle enable compression - разрешаем CCP (Compression Control Protocol). Разрешаем только использование протокола, выбор протокола сжатия описан ниже.
set bundle enable encryption - разрешаем ECP (Encryption Control Protocol). Аналогично предыдущему пункту, выбор протокола сжатия описан ниже.
set iface idle 0 - таймаут в секундах неактивности, по истечении которого соединение принудительно разрывается со стороны сервера.
"0" - не разрывать (стоит по дефолту).
set iface disable proxy-arp - запрещаем proxy-arp. Этот параметр полезен для имитации единой локалки для удаленных хостов.
set iface enable tcpmssfix - позволяет MPD управлять настройкой входящих и исходящих TCP SYN сегментов таким образом, чтобы не превышать MTU, допустимый на интерфейсе.
set ipcp yes vjcomp - разрешает компрессию заголовков (Van Jacobson TCP).
set ipcp ranges aaa.bbb.ccc.ddd/32 0.0.0.0/0 - пул IP адресов сервера/клиентов
set ipcp dns xxx.yyy.zzz.ddd qqq.www.eee.rrr - dns сервера, отдаваемые клиенту
set ccp yes mppc - включаем MPPC субпротокол сжатия/шифрования
set mppc yes e40 - включаем 40-bit MPPE шифрование
set mppc yes e56 - включаем 56-bit MPPE шифрование
set mppc yes e128 - включаем 128-bit MPPE шифрование
set mppc yes stateless - настройка, полезная при пакетлоссах (потерях)
log -echo -ipv6cp -radius -rep - уровни логгирования
load common - загрузка другого блока с именем common
Переходим к блоку common:
create link template PPPoE pppoe - создаем линк, он же будет выступать в качестве шаблона
set link enable no-orig-auth - Обычно при использовании PAP или CHAP авторизация происходит в начале соединения. Эта опция временно выключает данное требование в случае если наш сервер является единственным в сети, а клиенту вдруг не нравится запрос от сервера на авторизацию.
set link max-children 300 - максимальное количество соединений для этого шаблона
load pppoe - подгружаем следующий блок
set link action bundle B - накладываем на линк настройки бандла
set link enable multilink - опция позволяет создавать множественное подключение PPP. Но в данном случае опция позволяет пропускать большие пакеты (больше MTU) фрагментами. Что-то вроде фрагментации пакетов.
set link yes acfcomp protocomp - сжатие адресного поля, поля заголовков и поля протокола. Для экономии нескольких байтов во фрейме.
set link disable chap pap eap - запрещаем данные протоколы проверки пароля
set link enable chap-msv1 chap-msv2 chap-md5 - разрешаем протоколы проверки пароля (необходимы для возможности включения шифрования (Microsoft)).
set link keep-alive 10 60 - разрешает LCP пакеты. По умолчанию 5 40.
Можно отказаться от этой опции, поставив первое значение в "0".
create link template bge1_0 PPPoE - создаем линк bge1_0 и накладываем настройки шаблона PPPoE
set pppoe iface bge1 - задаем интерфейс, где будет поднят наш сервис.
Может быть как физическим интерфейсом, так и вланом (vlan).
set link enable incoming - разрешаем входящие соединения
set pppoe service service_name0 - поднимаем сервис-нейм (service-name) на заданном интерфейсе
Если у вас множество интерфейсов, то достаточно дописывать в конец конфига последний видоизмененный блок, как показано в общем листинге.
Заключение
Из плюсов использования MPD в качестве PPPoE сервера хочу отметить меньшую загрузку CPU, особенно в сочетании с использованием поллинга (polling).
Для этого нужно собрать ядро с поддержкой поллинга:
options DEVICE_POLLING
options HZ=1000
После этого можно включить поллинг через /etc/sysctl.conf:
kern.polling.enable=1
kern.polling.user_frac=10
Последнее означает что система будет делить ресурсы CPU в соотношении userland/kernel как 10/90. По умолчанию это значение 50/50.
Конфиг работает на версиях порта mpd-5.0, mpd-5.1. С версией mpd-5.1_1 наблюдались проблемы на серверной стороне. При невыясненных обстоятельствах запускался второй процесс mpd5, который грузил CPU в 100%, а пользователи не могли подключиться. Пришлось откатываться на 5.1.
Источник:
http://subnets.ru/blog/?p=1110
Категория:
РРР
| Добавил:
oleg
(25.11.2009) | Автор:
Николаев Дмитрий (virus (at) subnet
Просмотров:
1368
| Комментарии:
1
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025