Ядро Linux
За подключение к Internet в любой разновидности операционной системы UNIX отвечает несколько компонент: ядро ОС, которое должно поддерживать стек протоколов TCP/IP; программа реализации протокола физического уровня (для телефонного соединения это протоколы PPP или SLIP); подсистема настройки модема - chat-сценарий либо AT-команды (прямое общение с модемом). Кроме того, нужно настроить DNS для разрешения использования имен удаленных серверов и программу обслуживания стека протоколов TCP/IP inetd. Впрочем, вопросы настройки DNS и inetd выходят за рамки настоящей статьи.
Раньше, чтобы ядро ОС Linux поддерживало протокол TCP/IP, его требовалось перекомпилировать, но в последней версии дистрибутива Red Hat эта проблема была решена с помощью модулей, которые загружаются в ядро. Поддержка загружаемых модулей существовала и прежде, однако в новом дистрибутиве она используется наиболее активно, что позволяет изменять конфигурацию ядра без перезагрузки компьютера и остановки вычислений. В дистрибутиве Red Hat 6.0 поставляется ядро, откомпилированное с поддержкой всех возможных модулей, в том числе и TCP/IP, поэтому вполне достаточно загрузить соответствующий модуль командой insmod. Причем саму команду вызывать не стоит - для загрузки в ядро модуля поддержки TCP/IP лучше задействовать файл конфигурации сети network в каталоге /etc/sysconfig/. Для поддержки сетевых протоколов в нем должна быть следующая строка:
NETWORKING=yes.
Если такой строки нет, то нужно ее добавить или изменить.
Следует отметить, что файлы из каталога /etc/sysconfig просматривают сценарии начальной загрузки системы, которые располагаются в каталоге /etc/rc.d. Они написаны на языке оболочки UNIX, и поэтому можно понять, как именно и в каком порядке происходит загрузка Linux. Чтобы ОС соответствовала указанной в файле конфигурации, необходимо либо ее перезагрузить, либо перезапустить соответствующий сценарий (это можно сделать с помощью сценариев из каталогов /etc/rc.d/init.d/, вызвав их с ключом restart). Сценарий для работы с сетью обычно называется *network (вместо * может стоять код, указывающий загрузчику, когда этот сценарий нужно запускать). После того как будет установлена поддержка TCP/IP в ядре, можно переходить к настройке самого телефонного соединения.