|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Kirill Lopuchov 2:5020/400 03 Jul 2002 07:59:40 To : Sergey Bondarev Subject : Re: PPPOE - win98 -------------------------------------------------------------------------------- "Sergey Bondarev" <Sergey.Bondarev@p800.f3.n5025.z2.fidonet.org> wrote in message news:1025621656@p800.f3.n5025.z2.ftn... > Привет, All! > > Hастpаиваю сеpвеp PPPOE на FreeBSD 4.4 > Hа виндусах клиентах использую RASPPPOE 0.98 > Пpоблема 1. Все ниже приведенные настройки тестировались на win 9x/2000/xp !!! Что будет непонятно пиши ! ---------------------------------------------------------------------------- ------------- Hастройка сервера PPPoE под FreeBSD. В при настройки использовались следующие программные продукты : 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 Hастройка PPPoE серевера. Hеобходимо распаковать архив коммандой # 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 следующего содержания: ------------------------------------------ #!/bin/sh case "$1" in start) echo "PPPoE server" /usr/sbin/pppoe -s -p pppoe -i rl0 & ;; stop) ;; *) echo "Usage: `basename $0` { start | stop }" exit 64 ;; esac ------------------------------------------ Где rl0 интерфейс сервера на котором необходимо принимать запросы от клиентов. Запустить PPPoE сервер коммандой: # /usr/local/etc/rc.d/pppoe.sh start Принципы организации системы учета и контроля трафика на базе PPPoE сервера. При подключении пользователя к pppoe серверу последний запускает процесс user-level ppp. Далее этот процесс ppp открыват псевдо-устройство tun и создает файл unix sock заданный в файле конфигурации коммандой set server /var/tmp/pppuser%d "" 0177. Через этот файл можно с помощью программы /usr/sbin/pppctl задав в качестве параметра его имя управлять конкретным соединением: устанавливать различные режимы работы соединения, получать информацию о соединении , принудительно закрывать конкретное соединение. Вот пример некоторых комманд: #pppctl /var/tmp/pppuser0 close - закрывает соединение #pppctl /var/tmp/pppuser0 ! echo USER - показывает имя пользователя которым открыто данное соединение. #pppctl /var/tmp/pppuser0 ! echo UPTIME OCTETSIN OCTETSOUT - показывает сколько времени открыто соединие , сколько принято и отправлено байт пользователем. (эти комманды доступны начиная версии ppp-020417.src.tar.gz) Так как нас есть возможность в любой момент получить информацию о любом соединении следовательно можно постороить систему учета которая позволила бы весть учет для каждого пользователя по следующим пунктам: 1. Лимитировать трафик 2. Учитывать время проведенное пользователем на линии 3. Задавать временные промежутки в какие пользователю разрешено работать --- ifmail v.2.15dev5 * Origin: A poorly-installed InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/4567e720bc8b.html, оценка из 5, голосов 10
|