При настройки использовались следующие программные продукты :
1. Операционная система FreeBSD ver. 4.2
2. Демон PPPoE от системы OpenBSD (не использующий NETGRAPH) можно получить на сайте
ftp://ftp.vsi.ru/pub/unix/pppoe/pppoed.tgz) в дальнейшей работе мы будем использовать именно его.
(Можно так же использовать "родной" демон PPPoE поставляющийся c FreeBSD основанный на NETGRAPH, но в версии FreeBSD 4.2 он имеет ошибки которые приводят к падению всей ОС, возможно в следующих версиях ОС эту ошибку устранили)
3. Клиентская часть для Windows 98/2000/XP реализуемая драйвером PPPoE от Robert Schlabbach. можно получить на сайте (http://user.cs.tu-berlin.de/~normanb/)
4. Пакет user-level ppp. Для работы с системой учета ниже необходимо версия пакета ppp-020417.src.tar.gz или более поздняя ! можно получить на сайте (
http://www.Awfulhak.org/ppp.html) (в любом случае желательно обновить данный пакет).
В ядро системы дожно быть собранно со следующими устройствами:
# данное устройство необходимо для работы PPPoE демона
pseudo-device bpf # Berkeley packet filter
# данное устройство необходимо для работы user-level ppp
pseudo-device tun # Packet tunnel
Настройка PPPoE серевера.Необходимо распаковать архив коммандой
# tar -xvzf pppoed.tgz
скомпилировать демон коммандой
# make
готовый демон скопировать в каталог
# cp pppoe /usr/sbin/
Добавить в файл /etc/ppp/ppp.conf следущие запись необходимые для работы pppoe демона.
default:
#set log Phase Chat LCP IPCP CCP tun command debug
pppoe:
set device !/usr/sbin/pppoe
set mtu 1450
set mru 1450
set speed sync
set timeout 300
set server /var/tmp/pppuser%d "" 0177
allow mode direct
enable pap passwdauth
enable chap
disable acfcomp protocomp
deny acfcomp
set ifaddr 192.168.3.1 192.168.3.3-192.168.3.253
# ip адрес DNS сервера назначаемое соединению
set dns 213.24.96.233
accept dns
Описание некоторых комманд:
set timeout 300 - определяем время в секундах закрытия соединения в случае неактивности канала (не желательно ставить 0 могут оставаться незакрытые сесии )
set server /var/tmp/pppuser%d "" 0177 - имя sock файла через который будет осуществлятся взаимодействие с конкретным соединением, опция %d заставляет создавать файлы с именами pppuser0,pppuser1 ... итд.
enable pap passwdauth - определяется способ авторизации при наличии опции passwdauth пароли и пользователи могут проверятся в /etc/master.passwd (имя и пароль пользователя передаются по каналу в открытом виде)
enable chap - (имя и пароль передаются по каналу в шифрованном виде)
disable acfcomp protocomp
deny acfcomp - отключает компрессию для того, что бы заработала поддержка MPPE - алгоритма криптографии от Microsoft.
set ifaddr 192.168.3.1 192.168.3.3-192.168.3.253 -
ip адрес шлюза и диапазон адресов доступный для назначения соединению клиента
set dns 213.24.96.233 - ip адрес DNS сервера назначаемое соединению клиента
Создать файл-скрипт /usr/local/etc/rc.d/pppoe.sh для автоматичекого запуска PPPoE демона при загрузки ОС зделать его выполняемым # chmod +x pppoe.sh следующего содержания: