Библиотека сайта 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 |
Тем самым вы проделаете следующие операции:
- cd /etc/sysconfig/network-scripts - перемещает вас в каталог, где хранятся конфигурационные файлы.
- zip –r network_dir * - сжимает каждый файл в текущей директории и помещает результат в архивный файл, имеющий имя "network_dir.zip".
- mkdir /backup - создает новый катлог с именем /backup в корневом каталоге вашей Linux-системы.
- И, наконец, 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 |
Дадим пояснения к этой цепочке команд:
- cd /etc/sysconfig/network-scripts - переход в нужный каталог.
- cp /backup/network_dir.zip /etc/sysconfig/network-scripts - копирование network_dir.zip в соответствующую директорию.
- unzip -o network_dir.zip - извлечение файлов из архива, причем существующие конфигурационные файлы заменяются их архивными версиями.
- Наконец, /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-адрес недавно писал М.Конник в заметке "Смена мак-адреса сетевой карты".