Linux для пользователя
Шрифт:
Если карта не обнаружена, то вам придется перекомпилировать ядро (или поменять карту). Перекомпиляция ядра может иметь смысл и в том случае, если вы хотите удалить из ядра ненужные драйверы устройств, которые вы не используете. Но все же в
13.1.2 Динамическое подключение драйверов
Для динамического подключения драйвера надо подгрузить модуль ядра, отвечающий за взаимодействие с данным сетевым устройством (например, сетевой картой) и передать ему параметры устройства. Сделать это можно с помощью команды insmod, вызов которой осуществляется следующим образом:
Например, для сетевой карты можно выполнить команду следующего вида:
Здесь 2.2.х надо заменить на версию установленного у вас ядра, а вместо net.o надо подставить имя модуля, соответствующего вашей сетевой плате. Поскольку у меня была плата 3Com, я выбрал 3с509.o (посмотрите перечень в подкаталоге /lib/modules/2.2.x/net/).
Замечание:
В последних версиях Linux вместо insmod используется modprobe.
Ядро именует драйверы Ethernet как eth0, eth1 и т. д., так что для подключения, например, второй сетевой карты надо в этом примере eth0 заменить на eth1.
Кстати, ядро не может автоматически определить наличие двух сетевых адаптеров. В этом случае вам придется произвести некоторые дополнительные настройки. Однако обсуждение этого вопроса выходит за рамки данной книги, ищите ответы в книге О. Кирха и других источниках.
В некоторых случаях в команде требуется дополнительно задать номер порта и номер используемого прерывания, а также некоторые другие опции, но подробнее об этом см. на странице man insmod.
Аналогично, для подключения модуля, обеспечивающего работу с модемом по протоколу PPP, надо дать команду
(драйвер должен существовать и располагаться в указанном каталоге).
13.1.3 Получение сетевого адреса и установка ПО
Поскольку вы собираетесь устанавливать машину с Linux в уже существующую сеть, то следующим вашим шагом при подключении к сети должно стать обращение к администратору сети за получением сетевого адреса. Точнее, вы должны получить следующую информацию:
• IP адрес вашего компьютера;
• IP адрес сети;
• широковещательный IP-адрес;
• имя домена, в который будет включен ваш компьютер;
• маску подсети; IP адрес маршрутизатора (router);
• IP адрес сервера имен (DNS-сервера).
Заодно согласуйте с администратором сетевое имя, которое вы выбрали для своего компьютера (чтобы избежать его совпадения с именем какого-то из уже включенных в сеть компьютеров).
Далее необходимо проверить, что у вас установлено программное обеспечение, необходимое для подключения к сети, а именно, пакет net-tools. Для проверки воспользуйтесь командой
или менеджером пакетов (если вы работаете с KDE). Если пакет не установлен, то необходимо установить его с вашего дистрибутивного диска.
13.2. Настройка сетевых интерфейсов
Интерфейсом с точки зрения ОС является устройство, через которое система получает и передает IP-пакеты. Роль интерфейса локальной сети может выполнять одно (или несколько) из следующих устройств: Ethernet-карта, ISDN-адаптер или модем, подключенный к последовательному порту. Каждое устройство (не весь компьютер!) имеет свой IP-адрес. Для выхода в локальные сети используется, как правило, Ethernet-карта, что и будет предполагаться в настоящем разделе. Заодно мы рассмотрим и настройку модемного интерфейса, поскольку настраивается он вполне аналогично, и знания о методах его настройки будут необходимы нам при рассмотрении вопроса о выходе в Интернет в гл. 14
13.2.1 Расположение конфигурационных файлов
Отметим сразу, что все приводимые ниже команды можно выполнять из командной строки, но тогда придется повторять эти операции при каждом перезапуске компьютера. Поэтому может быть удобнее записать их в один из инициализационных файлов, автоматически запускаемых при старте системы. В разных дистрибутивах процесс загрузки организован по-разному. В "Linux NET-3-HOWTO" приводится следующая таблица:
Таблица 13.1. Расположение конфигурационных файлов в основных дистрибутивах
Дистрибутив. | Настройка интерфейса и маршрутизации | Запуск демонов |
---|---|---|
Debian | /etc/init.d/network | /etc/init.d/netbase /etc/init.d/netstd_init /etc/init.d/netstd_nfs /etc/init.d/netstd_misc |
Slackware | /etc/rc.d/rc.inet1 | /etc/rc.d/rc.inet2 |
RedHat | /etc/sysconfig/network-scripts/ifup-‹ifname› | /etc/rc.d/init.d/network |
Обратите внимание, что дистрибутивы Debian и Red Hat содержат отдельный каталог для скриптов запуска системных сервисов (хотя сами файлы настроек находятся в других местах, например, в дистрибутиве Red Hat они хранятся в каталоге /etc/sysconfig). Для понимания процесса загрузки ознакомьтесь с содержимым файла /etc/inittab и документацией по процессу init.
13.2.2 Команда ifconfig
После подключения драйверов вы должны настроить те интерфейсы, которые вы предполагаете использовать. Настройка интерфейса заключается в присвоении IP-адресов сетевому устройству и установке нужных значений для других параметров сетевого подключения. Наиболее часто для этого используется программа ifconfig (ее название происходит от "interface configuration").
Запустите ее без аргументов (или с единственным аргументом -a) и вы узнаете, какие параметры установлены в данный момент для активных сетевых интерфейсов (в частности, для сетевой карты). Кстати, имеет смысл выполнить эту команду еще до подключения модулей: а вдруг у вас поддержка интерфейсов встроена в ядро и необходимые настройки сделаны в процессе инсталляции системы. Тогда вы в ответ можете получить информацию о параметрах вашей Ethernet-карты и так называемого "кольцевого интерфейса" или "обратной петли" - Local Loopback (интерфейс Ethernet при единственной сетевой карте обозначается как eth0, а кольцевой интерфейс - как lo). Если же по этой команде вы ничего не получите, то надо переходить к подключению модулей и настройке, и начинать надо с кольцевого интерфейса.