Провайдер в домашних условиях

Andrushock

Xakep, номер #054, стр. 054-070-3


Итак, забираем с http://www.kernel.org/ последнее стабильное ядро ветки 2.4, распаковываем в каталоге /usr/src полученный архив:

# bunzip2 < linux-2.4.20.tar.bz2 | tar xvf -

Переходим в созданный каталог и начинаем конфигурирование ядра:

# make mrproper

# make menuconfig

Добавляем в ядро возможность использования загружаемых модулей; поддержку работы сети, протокола TCP/IP, специальных устройств, сам протокол PPP и методы сжатия (см. Врезку 1).

Далее вырабатываем файл зависимостей, удаляем временные и объектные файлы, создаем сжатый образ ядра, компилируем и устанавливаем модули:

# make dep clean bzImage modules modules_install

Копируем свежеиспеченный кернел вместе с map файлом в загрузочный каталог, не забывая затем озадачить бут менеджер новым ядром:

# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20

# cp System.map /boot/System.map-2.4.20

# rm -f /boot/System.map

# ln -s /boot/System.map-2.4.20 /boot/System.map

# vi /etc/lilo.conf

# /sbin/lilo -v

Осталось только сопоставить в файле /etc/modules.conf загружаемые модули с именами устройств (см. Врезку 2).

<Компиляем с успехом>

Все, с ядром разобрались. Теперь переходим к инсталляции программного обеспечения на пользовательском уровне, а именно к установке ppp и mgetty. Для начала проверь, все ли необходимые пакеты у тебя есть:

$ rpm -qa | grep ppp

$ rpm -qa | grep mgetty

Если по какой-то причине таковые в системе отсутствуют, устанавливаем:

# rpm -Uvh ppp-2.4.1-7.i386.rpm

# rpm -Uvh mgetty-1.1.28-9.i386.rpm

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

1) после слива софта с ftp://cs.anu.edu.au/pub/software/ppp/ http://alpha.greenie.net/mgetty/ и распаковки архивов, перед процессом компиляции ppp нужно указать, что в системе применяются теневые пароли плюс задать дополнительный аргумент для корректной работы Windoze-клиентов:

$ ./configure

$ make HAS_SHADOW=1 USE_MS_DNS=1

# make install

2) чтобы диалапщики логинились, минуя терминальное окно, в сырцах mgetty в правиле сборки Makefile к опциям компилера добавляем флажок -DAUTO_PPP:

CFLAGS=-O2 -Wall -pipe -DAUTO_PPP

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

<Портим системные конфиги>

Для начала разберемся, что же у нас творится с конфигурационными файлами mgetty:

Назад на стр. 054-070-2  Содержание  Вперед на стр. 054-070-4