Сетевые средства Linux

Постоянные сетевые конфигурации (на примере Debian/GNU Linux)

Показывать лекцию целиком

Содержание:

  • Автоматическая инициализация сетевой подсистемы
  • Файл настроек сетевых интерфейсов /etc/network/interfaces
  • Добавление постоянного статического маршрута
  • Несколько IP-адресов на одном сетевом интерфейсе
  • Несколько виртуальных локальных сетей ( VLAN ) на одном интерфейсе
  • Автоматическая инициализация сетевой подсистемы

    Пакет ifupdown является комплексным средством настройки параметров сети, в частности используется для инициализации сети при загрузке операционной системы в Debian GNU\Linux (совместно с соответствующими скриптами ifupdown-clean, ifupdown, networking, расположенными в каталоге /etc/init.d) .

    Примечание: Начиная с версии 6.0 (squeeze), разработчики Debian в документации классифицируют пакет ifupdown как устаревший и рекомендуют пользоваться такими средствами как NetworkManager или Wicd. Такой подход себя оправдывает для рабочих станций с установленными средствами графического интерфейса пользователя. Для серверов продолжается использование ifupdown - стабильного, многофункционального, хорошо документированного средства управления сетевой подсистемой.

    Пакет ifupdown содержит две команды ifup и ifdown для включения и отключения сетевого подключения (пример 5.1). Данные команды по умолчанию используют настройки, записанные в файле /etc/network/interfaces.

    # ifdown eth1
    # ifup eth1

    Для запуска, перезапуска и останова сетевой подсистемы следует использовать скрипт /etc/init.d/networking c параметрами start, restart и stop соответственно (пример 5.2).

    # /etc/init.d/networking restart

    Файл настроек сетевых интерфейсов /etc/network/interfaces

    Файл /etc/network/interfaces имеет текстовый формат, пригодный для редактирования администратором системы c помощью текстового редактора, в тоже время команды ifup и ifdown также способны его читать и распознавать указанные в нем настройки.

    auto lo eth1 eth0
    iface lo inet loopback
    
    iface eth1 inet static
          address 192.168.1.100
          netmask 255.255.255.0
          gateway 192.168.1.1
          dns-nameservers 192.168.1.1
    
    iface eth0 inet dhcp

    Ключевое слово auto (пример 5.3) c перечислением через пробел имен интерфейсов указывает включать данные интерфейсы при старте системы. Ключевое слово iface является описанием интерфейса (общий формат: iface <имя_интерфейса> <тип адреса> <метод_настройки> ). Так:

  • в строке iface lo inet loopback настраивается локальный интерфейс lo для взаимодействия приложений в рамках данного компьютера ( loopback ).
  • в строке iface eth1 inet static настраивается интерфейс eth1 на статический метод конфигурации (сетевые параметры указываются вручную, static ). Далее параметры статической настройки интерфейса и указаны (формат в общем виде: <опция> <значение> ): IP-адрес ( address ), маска подсети ( netmask ), шлюз по умолчанию ( gateway ), адреса DNS-серверов ( dns-nameservers ) и т.д.
  • в строке iface eth0 dhcp указывается настройка интерфейса eth0 по протоколу динамической конфигурации узла ( dhcp ).
  • Протокол DHCP (Dynamic Host Configuration Protocol) позволяет компьютеру автоматически получать по сети IP-адрес и другие параметры, необходимые для работы сетевого интерфейса. Для использования протокола DHCP необходимо чтобы в данном широковещательном домене был настроен DHCP-сервер. При настройке сетевого устройства компьютер обращается к DHCP-серверу и получает требуемые сетевые параметры.

    Примечание. Кроме статической и динамической настройки интерфейса, существует ручной способ конфигурирования ( manual ), который предполагает то, что интерфейс будет настроен с помощью средств, сторонних относительно ifupdown. Примечание. Рекомендуется отключать сетевой интерфейс ( ifdown ) перед тем как вносить изменения в его конфигурацию, а затем включать ( ifup ). Примечание. Синтаксис файла interfaces подробно описан на соответствующей странице помощи ( man interfaces ).

    Добавление постоянного статического маршрута

    Опции интерфейса в файле interfaces позволяют указать команды, которые необходимо выполнить при включении интерфейса (опция up ) и выключении (опция down ). В частности данные опции можно использовать для настройки дополнительных маршрутов (пример 5.4.).

    Настроим постоянную сетевую конфигурацию для решения задачи, описанной в примере 4.13 (предыдущая лекция), с добавлением статического маршрута через альтернативный шлюз (приведен фрагмент файла /etc/network/interfaces):

    iface eth1 inet static
          address 192.168.1.100
          netmask 255.255.255.0
          up ip route add 192.168.24.0/24 via 192.168.1.2
          gateway 192.168.1.1

    Применим данную конфигурацию с помощью команд ifdown/ifup и просмотрим таблицу маршрутизации:

    # ifdown eth1
    # ifup eth1
    # ip route show dev eth1
    192.168.1.0/24  proto kernel  scope link  src 192.168.1.100 
    192.168.24.0/24 via 192.168.1.2 
    default via 192.168.1.1

    Несколько IP-адресов на одном сетевом интерфейсе

    Для решения задачи, описанной в примерах 4.6. и 4.7. (предыдущая лекция) отредактируем файл /etc/network/interfaces следующим образом (приведен отрывок файла):

    auto eth1 eth1:add
    iface eth1 inet static
          address 192.168.11.10
          netmask 255.255.255.0
          gateway 192.168.11.1
    
    iface eth1:add inet static
          address 192.168.11.11
          netmask 255.255.255.0

    В данном случае псевдоним задается через двоеточие после имени интерфейса. Также необходимо указать автоматический запуск нового интерфейса в параметре auto. Для применения данной конфигурации необходимо выполнить последовательность команд:

    # ifdown eth1; ifup eth1; ifup eth1:add

    или

    # /etc/init.d/networking restart

    Несколько виртуальных локальных сетей (VLAN) на одном интерфейсе

    Технология виртуальных локальных сетей (Virtual Local Area Network, VLAN) позволяет в рамках одной физической коммутируемой сети выделить несколько изолированных на канальном уровне виртуальных сетей . Для организации VLAN необходимо, чтобы телекоммуникационное оборудование (коммутаторы) поддерживало эту функцию; для взаимодействия виртуальных локальных сетей друг с другом используют средства сетевого уровня (маршрутизация).

    Существуют два способа группировки компьютеров сети в виртуальные сети :

  • Группировка портов коммутатора. Каждый порт коммутатора сопоставляют соответствующей виртуальной сети.
  • Группировка MAC-адресов. При данном подходе каждый MAC-адрес в сети должен быть прописан в той или иной виртуальной сети.
  • Независимо от способа группировки коммутатор коммутирует фреймы (в том числе и широковещательные) в рамках VLAN и не коммутирует их между VLAN.

    Для передачи данных между коммутаторами фреймы соответствующих виртуальных сетей маркируются (тегируются), т. е. в заголовке Ethernet-фрейма указывается номер виртуальной сети. Соответствующие порты, соединяющие коммутаторы друг с другом называются транковыми. В современных сетях для пересылки VLAN-трафика между коммутаторами используется протокол IEEE 802.1Q (могут встречаться также фирменные протоколы, совместимые с оборудованием данного производителя).

    (рис 5.1) Пример использования группировки портов

    На рис. 5.1. изображен пример построения виртуальной локальной сети на основе группировки по портам. Порты, к которым подключены рабочие станции, настроены на коммутаторах как порты доступа, т. е. каждому порту доступа сопоставлен номер VLAN (1 или 2); при этом фреймы на этих портах "нетегированы". Коммутаторы и маршрутизатор соединены транковыми портами, на которых фреймы каждого VLAN нумеруются соответственно. На коммутаторах сети VLAN 1 и VLAN 2 изолированы друг от друга. Их взаимодействие происходит на маршрутизаторе на сетевом уровне (если фильтры маршрутизатора позволяют такое взаимодействие); для этого первой виртуальной сети сопоставлена IP-подсеть 192.168.1.0/24 и в ней маршрутизатор имеет адрес 192.168.1.1, вторая сеть — 192.168.2.0/24 и адрес интерфейса маршрутизатора - 192.168.2.1.

    Ядро Linux поддерживает тегированные фреймы стандарта 802.1Q (пример 5.6). Для настройки VLAN используется утилита vconfig из пакета vlan. Ее необходимо установить из стандартных репозиториев Debian:

    # apt-get install vlan

    Пусть требуется подключить компьютер с Linux в рамках схемы, изображенной на рис. 5.1, таким образом чтобы он имел доступ как к первой виртуальной сети, так и второй. Для этого, предварительно необходимо настроить порт коммутатора, к которому подключается данный компьютер, как транковый. Затем в файле /etc/network/interfaces указать (приведен фрагмент файла):

    auto vlan1
    iface vlan1 inet static
       address 192.168.1.4
       netmask 255.255.255.0
       vlan_raw_device eth1
    
    auto vlan2
    iface vlan2 inet static
       address 192.168.2.4
       netmask 255.255.255.0
       vlan_raw_device eth1

    где, номер виртуальной сети определяется в строке описания интерфейса ( vlan1 — первый, vlan2 — второй), а физический интерфейс определяется опцией vlan_raw_device (в данном случае eth1 ).

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

    # /etc/init.d/networking restart

    Отрывок вывода команды ip addr show для данной конфигурации:

    4: vlan1@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
        link/ether 08:00:27:66:6a:4f brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.4/24 brd 192.168.1.255 scope global vlan1
        inet6 fe80::a00:27ff:fe66:6a4f/64 scope link 
           valid_lft forever preferred_lft forever
    5: vlan2@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
        link/ether 08:00:27:66:6a:4f brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.4/24 brd 192.168.2.255 scope global vlan2
        inet6 fe80::a00:27ff:fe66:6a4f/64 scope link 
           valid_lft forever preferred_lft foreve

    Ключевые термины

    DHCP (Dynamic Host Configuration Protocol) - протокол для автоматической настройки сетевых параметров с использованием специального сервера DHCP.

    DNS (Domain Name System) — иерархическая система, позволяющая преобразовать символьные имена узлов и ресурсов Интернет в IP-адреса и обратно.

    Виртуальная локальная сеть ( VLAN, Virtual LAN) — изолированный сегмент сети уровня сетевых интерфейсов, не привязанный к физическому расположению узлов.

    Краткие итоги

  • Пакет ifupdown представляет собой комплексное средство настройки сетевых подключений в Linux (в частности Debian GNU\Linux ). Основными компонентами пакета являются команды ifup и ifdown, а также конфигурационный файл /etc/network/interfaces.
  • Файл /etc/network/interfaces можно редактировать с помощью любого текстового редактора (имея права суперпользователя). Секция описания интерфейса iface позволяет задать статический ( static ), динамический ( dhcp ) или ручной (с помощью команд, manual ) способ настройки интерфейса. Опции настройки интерфейсов дают возможность указать основные характеристики интерфейса, установить дополнительные IP-адреса, выполнить заданные действия при включении и выключении интерфейса и т. д.
  • Linux поддерживает работу с тегированными фреймами Ethernet стандарта 802.1Q на уровне ядра. Для управления параметрами виртуальных локальных сетей используется утилита vconfig из пакета vlan. Соответствующую конфигурацию сетевого интерфейса можно описать в файле /etc/network/interfaces.
  • Упражнения

  • Изучите справочное руководство по файлу interfaces (man interfaces) и укажите какие опции используются для установки MAC-адреса и MTU при статической конфигурации интерфейса.
  • В среде VirtualBox запустите виртуальную машину с установленным Debian GNU/Linux с одной сетевой картой, предварительно установив тип сетевого подключения "Виртуальная сеть узла" (см. ) и настройте сетевой интерфейс локальной сети с помощью файла /etc/network/interfaces на статическую конфигурацию с IP-адресом 192.168.10.12/16, шлюзом по умолчанию и DNS-сервером 192.168.1.1, MTU для интерфейса установите 1400. Опишите дополнительный IP-адрес 192.168.10.100 из той же подсети, что и основной. Также опишите альтернативный маршрут до сети 10.30.0.0/16 через узел 192.168.254.1. Активируйте указанную конфигурацию и проверьте ее состояние с помощью команды ip.
  • Для упражнения №3 предыдущей лекции (Команды настройки протокола IP) опишите файлы /etc/network/interfaces для первой и второй виртуальной машины.
  • Настройте на сетевом интерфейсе виртуальной машины виртуальные интерфейсы для работы с тегированным трафиком VLAN с номерами 4, 5 и 6.
  • Вернуться к учебному плану