Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Настройка сети в Red Hat Enterprise Linux 4.0

Источник: Setting up a network with Red Hat Linux 4.0
Автор: Austin Jorden, 01.18.2007
Перевод: В.А.Костромин, 9.03.2007 г.

Одна из самых сложных вещей в Linux - это освоение интерфейса командной строки (CLI). Linux-сервера обычно не имеют Windows-подобной графической оболочки и менюшек типа "щелкнул и вперед". Но зато вы имеете более надежную систему, полностью соответствующую вашим потребностям ("скроенную по вашим меркам") на основе сервера RHEL. Имея нужные знания и инструменты для того, чтобы эффективно конфигурировать и настраивать сетевые службы RHEL, вы сможете запустить сеть и свести до нуля и/или уменьшить время ее неработоспособности. В этой заметке будут изложены самые базовые основы запуска сетевых служб в Linux и превращения одного физического сетевого интерфейса (NIC) в два логических, так называемых субинтерфейса.

Если Linux-система успешно загрузилась, то сетевая служба обычно тоже запущена. Если этого по каким-то причинам не произошло, ее можно запустить следующим образом:

/sbin/service network start

Эта команда запускает скрипты, которые находятся в каталоге /etc/sysconfig/network-scripts. Вы можете посмотреть, какие интерфейсы работают ("подняты"), а какие - нет, а также получить некоторые статистические данные о работе каждого интерфейса, введя в командной строке:

/sbin/ifconfig

Сетевой сервис может быть остановлен (отключены все интерфейсы сразу) или перезапущен (перезапускаются все конфигурационные файлы из каталога /etc/sysconfig/network-scripts) командами:

/sbin/service network stop

или

/sbin/service network reload

Все конфигурационные файлы можно редактировать, для чего надо вначале перейти в нужную директорию, например, с помощью команды:

cd /etc/sysconfig/network-scripts

Каждый интерфейс имеет собственный конфигурационный файл. Например, конфигурационный файл интерфейса eth0 называется ifcfg-eth0. Если вы изменяете интерфейс eth0, дайте следующую команду ("vi" - это текстовый редактор, который обычно входит в поставку RHEL):

vi ifcfg-eth0

Пример файла, который будет в этом случае открыт на редактирование:

# Broadcom Corporation|NetXtreme BCM5704 Gigabit Ethernet

Code Описание
DEVICE=eth0 Эта строка задает имя устрйства.
HWADDR=00:01:23:45:67:89 Это MAC-адрес данного интерфейса.
ONBOOT=yes Должен ли этот интерфейс "подниматься" при запуске сетевой службы?
TYPE=Ethernet Тип интерфейса.
NETMASK=255.255.255.0 Маска подсети, к которой будет подключаться интерфейс.
IPADDR=192.168.1.154 Это IP-адрес данного интерфейса.
GATEWAY=192.168.1.1 Это IP-адрес шлюза (gateway), на который будут отсылаться данные в том случае, когда адресат назначения пакета не найдет в локальной сети.

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

Резервное копирование конфигурационных файлов

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

Вы можете выполнить резервное копирование путем набора в командной строке следующих команд:

cd /etc/sysconfig/network-scripts
zip –r network_dir *
mkdir /backup
cp network_dir.zip /backup

Тем самым вы проделаете следующие операции:

  1. cd /etc/sysconfig/network-scripts - перемещает вас в каталог, где хранятся конфигурационные файлы.
  2. zip –r network_dir * - сжимает каждый файл в текущей директории и помещает результат в архивный файл, имеющий имя "network_dir.zip".
  3. mkdir /backup - создает новый катлог с именем /backup в корневом каталоге вашей Linux-системы.
  4. И, наконец, cp network_dir.zip /backup создает копию файла network_dir.zip в директории /backup.

Для восстановления файлов из резевной копии проделайте следующее:

cd /etc/sysconfig/network-scripts
cp /backup/network_dir.zip /etc/sysconfig/network-scripts
unzip -o network_dir.zip
/sbin/service network reload

Дадим пояснения к этой цепочке команд:

  1. cd /etc/sysconfig/network-scripts - переход в нужный каталог.
  2. cp /backup/network_dir.zip /etc/sysconfig/network-scripts - копирование network_dir.zip в соответствующую директорию.
  3. unzip -o network_dir.zip - извлечение файлов из архива, причем существующие конфигурационные файлы заменяются их архивными версиями.
  4. Наконец, /sbin/service network reload перечитывает конфигурационные файлы, для того, чтобы вступили в силу заданные в них настройки.

Субинтерфейсы

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

Вам когда-нибудь требовалось сделать так, чтобы одна сетевая плата имела более одного IP-адреса? Сейчас узнаем как это сделать! Но вначале вы должны перейти в каталог с сетевыми скриптами (cd /etc/sysconfig/network-scripts) и создать их резервную копию. О том, как это сделать, было рассказано в первой части настоящей заметки.

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

cp ifcfg-eth0 ifcfg-eth0:1

Этим вы просто создаете конфигурационный файл для вашего субинтерфейса.

Затем откройте новый файл на редактирование:

vi ifcfg-eth0:1

и сделайте в нем следующие изменения:

Было:

DEVICE=eth0
HWADDR=00:01:11:11:11:11
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.1.215
GATEWAY=192.168.1.1

Стало:

DEVICE=eth0:1
HWADDR=00:01:11:11:11:11
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.1.244
GATEWAY=192.168.1.1

Для того, чтобы внести указанные изменения, нажмите клавишу Insert на клавиатуре, после чего вносите необходимые изменения. Эти изменения касаются имени устройства (идентификатора) и IP-адреса. После того, как изменения сделаны, сохраните новый конфигурационный файл, нажав комбинацию CTRL+C, после чего задайте команду "wq."

Затем просто перестартуйте или перезагрузите сетевую службу. Вы можете убедиться, что теперь eth0:1 виден как отдельное физическое устройство.

Подмена MAC-адреса

В Linux вы можете легко поменять MAC-адрес, установив для него любое значение по вашему желанию, лишь бы оно было технически правильным MAC-адресом. Вы не можете задать в качестве MAC-адреса XX:XX:XX:XX:XX:XX!

Если сетевая служба запущена и интерфейс eth0 "поднят", проделайте следующее:

cd /etc/sysconfig/network-scripts
/sbin/ifconfig eth0 down
vi ifcfg-eth0

Измените поле MAC-адреса на то значение, которое вы хотите видеть. После чего наберите CTRL+C, "wq" и нажмите Enter.

Пример:
Было: HWADDR=00:01:23:45:67:89
Стало: HWADDR=00:CC:CC:CC:CC:CC

После возвращения в командную строку выполните команду:

/sbin/ifconfig eth1 hw ether 00:CC:CC:CC:CC:CC

А затем:

/sbin/ifconfig eth1 up

Дополнение от переводчика: О том, как подменить MAC-адрес недавно писал М.Конник в заметке "Смена мак-адреса сетевой карты".