воскресенье, 30 августа 2009 г.

Пересборка ядра и pppd для включения поддержки mppe/mppc на примере Ubuntu 8.04

Понадобилось мне установить подключение по PPPoE c mppe/mppc оказалось что в GNU/Linux по умолчанию нет поддержки mppe/mppc, а с версии ядра 2.6.15 только mppc. Достал бубен и начались ритуальные танцы. После шаманских действий все заработало. Здесь опишу основные заклинания для включения поддержки данного протокола, а настройку подключения PPPoE для GNU/Linux опишу в другой статье.
Итак приступим.

Ставим пакеты:
# apt-get install linux-source build-essential kernel-package libncurses5-dev fakeroot msort-gui pkg-config

Переходим в каталог с исходниками
# cd /usr/src

и распаковываем ядро
# tar -jxvf linux-source-2.6.XX.tar.bz2

переходим в каталог с исходником ядра
# cd ./linux-source-2.6.XX

для использования опций включенных в текущее ядро копируем конфиг
# cp /boot/config-`uname -r` ./.config

берем патч для соответствуещей версии ядра
распаковываем его в каталог
/usr/src/linux-source-2.6.XX

и накладываем командой
# patch -p1 < ptch_file_name

Теперь можно приступать к конфигурированию
# make menuconfig

Указываем какой конфиг использовать
Load an Alternate Configuration File

находим строку похожую на
microsoft compression/encription (NEW)

отмечаем его и в случае надобности нужные вам опции и сохраняем полученный конфиг
Save an Alternate Configuration File

Собираем и ставим новое ядро командами
# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version=-new.version kernel_image kernel_headers
# cd /usr/src
# dpkg -i linux-image-2.6.*.deb linux-headers-2.6.*.deb

Перегружаемся с новым ядром для проверки его работоспособности.
Если все прошло удачно то нужно пересобрать pppd.
Для этого качаем патч для pppd и исходник pppd. Распаковываем и из каталога с распакованным pppd команды
# patch -p1 < ptch_file_name
# ./configure
# make
# make install

настраиваем соединение и наслаждаемся серфингом.
При копировании материалов
ссылка на источник обязательна!


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

вторник, 11 августа 2009 г.

Настройка сервера доступа на FreeBSD (PPPOE + FREERADIUS)

Итак описываю ситуацию при которой мне впервые пришлось столкнуться с FreeBSD. После переезда в другой город(больше в 5 раз) пришел я устраиваться на работу к одному ISP меня взяли с испытательным сроком в 1 месяц и дали тестовое задание поднять NAS на FreeBSD. Его установку и настройку я опишу.

Дали мне машинку с CD приводом HDD 6.5Gb
1 CD FreeBSD 7.0 и доступ в интернет по внутренней сети.

Немного погуглил и прочитав про возможные подводные камни начал установку. Саму установку описывать нет смысла так как все предельно ясно.
Система установлена можно приниматься за работу.
# whereis pppoed
pppoed: /usr/libexec/pppoed

и мы увидим уже установленный демон PPPOE
Настроим его, для этого в файлах
/etc/ppp/ppp.conf

pppoe-in:
 set login
 allow mode direct
 set mru 1492
 set mtu 1492
 set speed sync
 set log Phase Chat LCP IPCP CCP tun command chap
 disable eap pap chap chap81
 enable lqr
 enable MSCHAPv2
 set timeout 0
 set ifaddr 10.0.0.1 10.0.0.2-254
 set dns 192.168.1.1 4.2.2.2
 accept dns


/etc/ppp/ppp.secret

USERNAME PASSWORD * * *


где USERNAME это имя тестового пользователя, а PASSWORD его пароль теперь можно проверить его работоспособность запускаем pppoe сервер командой
/usr/libexec/pppoed -p SERVICE_NAME -l pppoe-in IFACE_NAME

В данной конфигурации IP адрес клиенту назначается автоматически для использования конкретного адреса, нужно в файле
/etc/ppp/ppp.conf
убрать строку
set ifaddr 10.0.0.1 10.0.0.2-254

и запись в файле
/etc/ppp/ppp.secret
привести к виду
USERNAME PASSWORD 10.0.0.2 * *

аутентификация предусмотренная в данном случае MSCHAPv2 если требуется другой вид аутентификации то в файле
/etc/ppp/ppp.conf
измените строку
enable MSCHAPv2

так как нужно Вам.
Для аутентификации через FREERADIUS изменим предыдущий конфиг но сначала поставим FREERADIUS.
Набираем
# whereis freeradius

видим где лежит порт
freeradius: /usr/ports/net/freeradius

переходим в каталог порта
# cd /usr/ports/net/freeradius

и даем команды
# make config

устанавливаем нужные опции в том числе и поддержку MySQL жмем [OK]
# make

и
# make install

FREERADIUS с MySQL установлен можно приступить к конфигурации данной связки для этого команда
# echo "acct RADIUS_IP SECRET_KEY" >> /etc/radius.conf
# echo "auth RADIUS_IP SECRET_KEY" >> /etc/radius.conf

где RADIUS_IP – IP адрес radius сервера, SECRET_KEY – секретный ключ. SECRET_KEY устанавливается в файле
/usr/local/etc/raddb/clients.conf


client localhost {
secret = SECRET_KEY
shortname = localhost
}


в файле /usr/local/etc/raddb/sql.conf можно записать свои SQL запросы, описывать не вижу смысла ,примеров в интернете много.

меняем конфигурацию pppoed

/etc/ppp/ppp.conf

pppoe-in:
 set login
 allow mode direct
 set mru 1492
 set mtu 1492
 set speed sync
 set log Phase Chat LCP IPCP CCP tun command chap
 disable eap pap chap chap81
 enable lqr
 enable MSCHAPv2
 set timeout 0
 set radius /etc/radius.conf
 set ifaddr 10.0.0.1 10.0.0.2-254
 set dns 192.168.1.1 4.2.2.2
 accept dns


Для автозагрузки всего этого хозяйства нужно добавить в файл

/etc/rc.conf

radiusd_enable="YES"
pppoed_enable="YES"
pppoed_provider="SERVICE_NAME"
pppoed_flags="-l pppoe-in"
pppoed_interface="rl1"

При копировании материалов
ссылка на источник обязательна!


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