Linux: Полное руководство — страница 27 из 98

Если среди вашего оборудования есть сетевая плата, то она будет обнаружена при установке системы. Если же вы установили сетевую плату после установки системы, то запустите средство поиска нового оборудования. Обычно для этого применяется утилита kudzu (в дистрибутиве Linux Mandrake 10 есть своя — harddrake). Запускать ее нужно от имени суперпользователя.

Kudzu самостоятельно определит новое устройство и установит его: пропишет устройство в файл установленного оборудования (имя его зависит от дистрибутива: попробуйте

/etc/modules.conf
,
/etc/modprobe.conf
,
/etc/sysconfig/hwconf
) и добавит его модуль (драйвер) в состав ядра.

Нужно напомнить, что

eth0
— это первая сетевая плата,
eth1
— вторая и т.д. Скорее всего, у вас есть всего одна —
eth0
. Ее мы и будем настраивать.

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

Сейчас же все в корне изменилось: конфигураторы Linux стали такими ми же удобными, как и апплеты Панели управления Windows. Тем не менее, мы рассмотрим не только настройку с помощью конфигураторов, но те самые команды, с помощью которых администраторы настраивали сеть лет десять назад. В этой книге будем ориентироваться на современные дистрибутивы Linux Mandrake и Red Hal Linux (Fedora Core) — совсем старые их версии рассматривать нет смысла — я не встречал ни одного сервера, на котором был бы установлен Red Hat версии ниже 7.x.

6.2.1. Настройка сети в Linux Mandrake

Начнем с моего любимого дистрибутива — Linux Mandrake. Запустите конфигуратор drakconf, в нем выберите апплет «Сеть и Интернет», далее «Новое соединение», а в появившемся окне — «Соединение по локальной сети».

Если у вас в сети есть DHCP-сервер, рекомендую выбрать автоматическую настройку. Если же такого сервера нет или у вас другие планы относительно этого компьютера, выбираем ручную настройку.

Рис. 6.5. Конфигуратор DrakConf

Кроме IP-адреса сетевого интерфейса и маски сети обязательно укажите опцию «Запускать при запуске», в противном случае вам придется поднимать интерфейс eth0 каждый раз при запуске/перезапуске Linux. Опция Network Hotplugging в официальной документации не описана, но, насколько я понял, она используется для определения физического подключения к сети. В режиме Network Hotplugging, если ваш компьютер не подключен физически (с помощью кабеля) к хабу или другому компьютеру, то при попытке обращения к интерфейсу вы получите сообщение «Сеть недоступна». Поэтому, если физической сети у вас нет, а сеть как таковая вам нужна, например, для тестирования сетевых приложений, рекомендуется этот режим не включать.

Рис. 6.6. Указание параметров сетевого интерфейса при ручной настройке

После этого вам нужно указать общие сетевые параметры: имя компьютера, IP-адреса серверов DNS, а также IP-адрес шлюза (компьютера, через который ваша локальная сеть соединяется с Интернетом), если такой есть в вашей сети.

Следующий вопрос конфигуратора — адрес узла Zeroconf — это поле можете с чистой совестью оставить пустым и нажать Далее.

Настройка сети уже почти завершена — осталось только перезапустить сеть.

Если вы изменяли имя узла (а при первой настройке так оно и бывает), рекомендуется сразу же перезапустить систему X Window: нажмите Ctrl+Alt+Backspace и заново войдите в систему.

Для изменения параметров уже созданного соединения используется апплет «Управление соединениями». Он позволяет изменить все параметры, которые вы ввели с помощью предыдущего апплета, а также просмотреть информацию об интерфейсах.

Довольно информативным и удобным оказался апплет «Наблюдение за соединениями» — с его помощью можно просмотреть информацию о трафике и даже увидеть график загрузки.

6.2.2. Настройка сети в Linux Red Hat

При установке дистрибутива программа установки сама распознает ваш сетевой адаптер — в моей практике не было случая, чтобы сетевой адаптер не был опознан (это не касается внешних USB-адаптеров). Вам нужно указать только параметры сетевого соединения.

Вернемся к настройке сети. Выберите нужный вам адаптер и нажмите кнопку Изменить.

В появившемся окне введите IP-адрес и сетевую маску. Обязательно выключите режим Configure using DHCP — мы настраиваем интерфейсы вручную, а не с помощью DHCP. Также следует включить режим Activate On Boot — тогда наш интерфейс будет «поднят» при загрузке системы. Этот режим нужно включать для всех постоянных соединений, например, соединения по локальной сети или по выделенной линии. Вернувшись в окно настройки сети, укажите имя компьютера — COMP5. А затем нажмите кнопку Далее. Все, сеть настроена.

Для изменения параметров сетевого соединения удобнее использовать графический конфигуратор redhat-config-network.

Рис. 6.7. Настройка сети

6.2.3. Настройка сети в Fedora Core

Графический конфигуратор в Fedora Core называется internet-druid (рис. 6.8). Можно запустить его и из меню оконной среды (в GNOME это Система→Мастер подключения к Интернет).

Рис. 6.8. Настройка сети

Выберите «Соединение Ethernet», а дальше следуйте инструкциям. После создания соединения для вас будет запущен конфигуратор system-config-network, позволяющий указать дополнительные параметры сетевого интерфейса или изменить только что введенные. В дальнейшем его можно вызвать из меню оконной среды (в GNOME это Система→Управление устройствами сети).

Рис. 6.9. Указание параметров сетевого интерфейса при ручной настройке

6.2.4. Проверка работы сетевого интерфейса

Если вы не подняли (активировали) интерфейс в процессе графического конфигурирования, сделайте это сейчас. Перейдите на текстовую консоль или откройте окно терминала и выполните команду

ifup eth0
(деактивировать интерфейс можно командой
ifdown eth0
).

Для получения сведений об активных интерфейсах выполните команду

ifconfig
. Она покажет примерно следующее:

eth0 Link encap:Ethernet HWaddr 00:02:F0:73:B0:85

inet addr:192.168.1.11 Beast:192.168.1.255

Mask:255.255.255.0

UP BROADCAST MULTICAST MTU:1500 Metric:1

[...]


lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

[...]

Интерфейс

lo
, которого вы не настраивали, — это интерфейс обратной петли. Не отключайте его, он необходим для работы некоторых приложений.

В первых двух строчках утилита ifconfig выводит тип (Ethernet) адаптера, его физический адрес (MAC-адрес) и присвоенный ему IP-адрес. Дальше — параметры интерфейса, указывающие, что он запушен и используется.

MTU (Maximum Transfer Unit) — максимальный размер единицы передачи данных. Практически все протоколы позволяют использовать в кадре поля переменной длины, это касается даже заголовка кадра. Максимально допустимое значение длины поля — это как раз и есть MTU.

Далее следует статистика — сколько пакетов принято/передано, сколько байтов принято/передано, сколько коллизий было с участием этого интерфейса.

Теперь проверим, как работает соединение. Это делают командой ping (пингуют нужный адрес).

# ping 192.168.1.11

Эта команда посылает на указанный адрес по протоколу ICMP маленький пакет, требующий эхо-ответа, раз за разом, пока не будет остановлена (например, нажатием комбинации клавиш Ctrl+). Обычно ею пользуются для проверки доступности узлов.

Потом пропингуйте свою машину по имени, которое вы ей дали:

ping dhsilabs
.

Убедившись, что проблем с локальными настройками не возникает, можно пропинговать какую-нибудь удаленную машину из вашей локальной сети по ее IP-адресу.

Теперь попробуйте обратиться к удаленной машине по имени. Помните, что символьное имя должно быть разрешено в IP-адрес? В вашей небольшой сети сервера имен, скорее всего, нет. В этом случае для преобразования IP-адресов в имена и обратно служит файл

/etc/hosts
. Это обычный текстовый файл, каждая строка которого содержит

<полное_имя_узла><псевдонимы>

разделенные пробелами. Откройте этот файл в любом текстовом редакторе и добавьте туда сведения о машинах своей локальной сети. Символ # в этом файле понимается как знак комментария.

6.2.5. Настройка сети в старых дистрибутивах

Если вам недоступны графические конфигураторы, то можно настроить сетевой интерфейс и из командной строки.

Добавьте в файл установленного оборудования (скорее всего, он будет называться

/etc/conf.modules
) сведения о своей сетевой плате.

Добавьте в ядро модуль сетевой платы:

# insmod rtl8139.о (для Realtek 8139)

# insmod ne2k-pci.o (для NE2000 PCI)

Назначьте интерфейсу IP-адрес:

# ifconfig eth0  broadcast  netmask <маска>

Указать шлюз для выхода в Интернет можно командой route:

# route add default gateway 

Если в Интернет выходить вы пока не собираетесь, то удалить установленный маршрут можно командой

route del default
. Команда
route
без аргументов выводит текущую таблицу маршрутизации пакетов.

Перезапустите сетевую службу, и можно пинговать только что настроенный интерфейс.

6.3. Подключение к Windows-сети