Linux кто создал сетевой интерфейс

Создание и настройка виртуальных сетевых интерфейсов в Linux

1. Введение

Знаете ли вы, что можете присвоить более чем один IP-адрес физическому сетевому интерфейсу? Эта техника очень полезна, например при работе с Apache и виртуальными хостами, так как позволяет получить доступ к одному и тому же серверу Apache с двух разных IP-адресов.

2. Временный виртуальный сетевой интерфейс

Процесс создания виртуального сетевого интерфейса в Linux не занимает много времени. Он включает один запуск команды ifconfig.

Приведенная выше команда создает виртуальный сетевой интерфейс, базирующийся на оригинальном физическом сетевом интерфейсе eth0. Самое важное условие для создания виртуального сетевого интерфейса — должен существовать физический сетевой интерфейс, в нашем случае eth0. Ниже приведен полный пример:

Теперь мы можем настроить новый виртуальный интерфейс на базе eth0. После выполнения команды ifconfig новый виртуальный интерфейс готов к немедленному использованию.

2.1. Отключение виртуального сетевого интерфейса

Для отключения нашего, созданного ранее, временного сетевого интерфейса мы можем также использовать команду ifconfig с флагом down.

3. Присвоение виртуальному интерфейсу постоянного адреса

Описанные выше настройки не сохраняются после перезагрузки. Если вы хотите, чтобы виртуальный сетевой интерфейс работал постоянно, необходимо модифицировать конфигурационные файлы в соответствии с требованиями вашего дистрибутива Linux. Ниже описан этот процесс для самых распространенных дистрибутивов:

3.1. Debian / Ubuntu

3.1.1. Статический адрес

В Debian или Ubuntu вам необходимо отредактировать файл /etc/network/interfaces, добавив в него следующие строки:

3.1.2. Dhcp

Возможно также использовать витруальный сетевой интерфейс с DHCP. В этом случае вам необходимо добавить в /etc/network/interfaces следующую строку:

Для того, чтобы изменения вступили в силу, необходимо перезапустить сеть:

3.2. Redhat / Fedora / CentOS

3.2.1. Статический адрес

В Redhat, Fedora или CentOS Linux директория, отвечающая за присвоение постоянных IP-адресов — это /etc/sysconfig/network-scripts. В этой директории необходимо создать файл, соответствующий вашему новому виртуальному интерфейсу. В нашем случае этот файл будет называться ifcfg-eth0:0. Создайте этот новый файл и вставьте в него приведенные ниже строки. После перезагрузки адрес будет присвоен виртуальному интерфейсу на постоянной основе.

3.2.2. Dhcp

Когда закончите, перезапустите ваши интерфейсы:

4. Заключение

Раньше один физический сервер обслуживал один веб-сайт. Сегодня такой способ хостинга уже не является жизнеспособным, поэтому способность операционной системы создавать виртуальные сетевые интерфейсы действительно необходима.

Источник

Сетевой интерфейс

Материал из Xgu.ru

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

Примеры сетевых интерфейсов:

  • Физические интерфейсы сетевых карт и телекоммуникационных устройств (коммутаторов, маршрутизаторов и так далее)
  • Петлевые интерфейсы для обмена данными между процессами на одном компьютере или управляемом сетевом устройстве. Для них выделена специальная подсеть 127.0.0.0/8
  • Туннели — для инкапсуляции протокола того же или более низкого уровня в другой протокол
  • Интерфейсы виртуальных сетей (VLAN)

Каждый интерфейс в сети может быть однозначно идентифицирован по его адресу. Разные сетевые протоколы используют разные системы адресации, например MAC-адреса в Ethernet или IP-адреса в IP.

Читайте также:  Whatsapp on windows bluestack

Настройка сетевых интерфейсов в UNIX/Linux-системах традиционно выполняется с помощью команды ifconfig, а в Linux ещё и при помощи команды ip.

Содержание

[править] Сетевой интерфейс в Linux

Сетевое взаимодействие Linux-компьютера происходит через сетевые интерфейсы. Любые данные, которые компьютер отправляет в сеть или получает из сети проходят через сетевой интерфейс.

Интерфейс определён реализацией модели TCP/IP для того чтобы скрыть различия в сетевом обеспечении и свести сетевое взаимодействие к обмену данными с абстрактной сущностью.

Для каждого устройства, поддерживаемого ядром, существует сетевой интерфейс. Существует соглашение о наименовании интерфейсов, в соответствии с которым имя интерфейса состоит из префикса, характеризующего его тип, и числа, соответствующего номеру интерфейса данного типа в системе. Так, например, ppp0 соответствует первому интерфейсу PPP, а eth1 соответствует интерфейсу второго сетевого адаптера Ethernet. Обратите внимание на то, что нумерация интерфейсов начинается с 0.

[править] Наименования сетевых интерфейсов в Linux

Начиная с середины 2011 года (Fedora 15) в Linux используется новая схема наименования интерфейсов. Интерфейсы называются em[1234] (для интегрированных) или pci #

lo Интерфейс петли обратной связи. eth Сетевой интерфейс к карте Ethernet или картам WaveLan (Radio Ethernet). tr Сетевой интерфейс к карте Token Ring. ppp Сетевой интерфейс к каналу PPP (Point-to-Point Protocol). sl Сетевой интерфейс к каналу SLIP (Serial Line IP). plip Сетевой интерфейс к каналу PLIP (Parallel Line IP). Используется для организации сетевого взаимодействия с использованием параллельного порта. ax Сетевой интерфейс к устройствам любительского радио AX.25. fddi Сетевой интерфейс к карте FDDI arc0e, arc0s Сетевой интерфейс к карте ArcNet. Используется инкапсуляция пакетов в формате Ethernet или RFC 1051. wlan Сетевой интерфейс wi-fi адаптеров

Интерфейсы создаются автоматически для каждого обнаруженного сетевого устройства при загрузке ядра ОС.

Каждый интерфейс характеризуется определёнными параметрами, необходимыми для обеспечения его нормального функционирования, и в частности для сетевого обмена данными по протоколу IP.

[править] Параметры интерфейса

Кроме этих параметров интерфейс характеризуется ещё:

  • Флагами, которые определяют состояния устройства, например такие как: включен ли интерфейс (Up/Down), находится ли он в неразборчивом режиме (promiscuous/nonpromiscuous)
  • Аппаратными характеристиками, такими как адрес памяти, номер IRQ, DMA, порт ввода/вывода;
  • Статистической информацией, характеризующей различные аспекты работы интерфейса. Например, количество переданных/полученных байтов/пакетов, число переполнений, коллизий и др. с момента создания интерфейса.

Debian. Долговременные настройки хранятся в файле /etc/network/interfaces.

[править] Программа ifconfig

Для управления интерфейсами в ОС Linux используется программа ifconfig. Команда позволяет как получать диагностическую информацию об интерфейсах системы, так и выполнять их настройку.

Формат вызова команды:

ifconfig ifconfig interface options

Для получения информации, программа ifconfig может вызываться простым пользователем. Файл ifconfig находится в каталоге /sbin, поэтому, чаще всего, при вызове нужно указывать абсолютное путевое имя.

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

Формат вывода информации о интерфейсе программой ifconfig:

Характеристики канального уровня Канальный уровень Link encap. Аппаратный MAC-адрес устройства HWaddr Характеристики сетевого уровня IP-адрес интерфейса inet addr; широковещательный адрес интерфейса Bcast; маска подсети интерфейса Mask Флаги, метрика и MTU Список установленных флагов интерфейса: включён UP; принимает широковещательные пакеты BROADCAST; принимает групповые пакеты MULTICAST. Среди списка установленных флагов может присутствовать слово PROMISC, означающее, что интерфейс работает в неразборчивом режиме. Установленный размер максимального блока, передаваемого через интерфейс MTU и метрика интерфейса Metric. Информация о полученных пакетах RX Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться. Информация об отправленных пакетах Число пакетов packets, ошибок errors, отброшенных пакетов dropped, переполнений overruns, потерь несущей carrier, коллизий collisions ; объем буфера передачи txqueuelen. Такое назначение полей соответствует только сетям Ethernet. В других сетях, смысл может отличаться. Объем переданных данных Количество байтов полученных RX bytes и отправленных TX bytes через интерфейс Аппаратные параметры Номер линии IRQ Interrupt и адрес памяти Base address

Если в командной строке ifconfig указаны options, выполняется настройка интерфейса. В процессе настройки можно изменить режим работы интерфейса, настройки IP-адреса и другие характеристики.

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

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

[править] Аргументы командой строки ifconfig

При изменении IP-адреса интерфейса автоматически изменяются значения его маски и широковещательного адреса. Если параметры netmask и broadcast не указаны явно, соответствующие значения вычисляются исходя из класса IP-адреса. Например, для IP-адреса 200.200.200.200, который относится к диапазону адресов класса C, значения сетевой маски и широковещательного адреса будут соответственно равны 255.255.255.0 и 200.200.200.255, а для адреса 1.2.3.4 (адрес класса A), равны соответственно 255.0.0.0 и 1.255.255.255.

Более тонкую настройку интерфейса можно произвести при помощи утилиты ip

[править] Пример использования ifconfig

Просмотр информации обо всех интерфейсах

Просмотр информации об интерфейсе eth0:

Назначить IP-адрес 10.0.0.1 первой Ethernet-карте:

Интерфейс не включается автоматически. Если необходимо включить интерфейс, в командной строке следует явно указать параметр up:

Значения широковещательного адреса и сетевой маски будут определены автоматически на основе информации о классе адреса. Если необходимо явно задать маску, например, ограничить размер сети 14 хостами (4 бита на хост), нужно использовать команду:

Запретить использование ARP на интерфейсе eth0:

Перевести интерфейс в неразборчивый режим:

[править] Создание сетевого интерфейса

Интерфейс создается ядром автоматически при обнаружении устройства. Для того чтобы устройство было доступно, необходимо включить его драйверную поддержку в состав ядра. Это может быть сделано в момент сборки ядра или при работе системы с использованием механизма загружаемых модулей.

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

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

Не путайте интерфейсы и устройства системы. Интерфейсам не соответствуют никакие специальные файлы в каталоге /dev

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

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

  • IP-адрес должен быть указан обязательно, поскольку без него использование интерфейса неосуществимо;
  • Сетевая маска должна указываться в том случае, если она отличается от той, которая соответствует классу IP-адреса;
  • Широковещательный адрес указывается в том случае, если он отличается от широковещательного адреса, вычисляемого на основе значений IP-адреса и сетевой маски.

Эти параметры задаются одной командой, которая при этом, как правило, сразу и включает интерфейс.

[править] Настройка интерфейсов при загрузке системы

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

Рассмотренная ниже процедура автоматической настройки сетевых интерфейсов при загрузке выглядит так только в RedHat-based системах. В Slackware и Debian сетевые интерфейсы настраиваются несколько иначе.

Настройка интерфейсов производится скриптом /etc/rc.d/init.d/network, который автоматически вызывается при переходе на 2, 3, 4 или 5 уровень выполнения. Скрипт network при вызове с параметром start поднимает интерфейсы, т.е. выполняет настройку и включение всех описанных интерфейсов, после чего настраивает статическую маршрутизацию.

Конфигурационные файлы интерфейсов могут быть созданы вручную или при помощи псевдографических и графических инструментов настройки, таких как netconfig или neat

Описание интерфейсов находится в файлах ifcfg-* в каталоге /etc/sysconfig/network-scripts. В названии файла, за символом - следует имя интерфейса, например файл ifcfg-eth0 содержит настройки интерфейса eth0. Файл описания интерфейсов — это небольшой скрипт, содержащий только несколько команд присвоения variable=value где variable — определённый параметр настройки интерфейса, а value — необходимое значение этого параметра.

Параметры интерфейса в файле ifcfg.

DEVICE Имя устройства ONBOOT Нужно ли инициализировать интерфейс при загрузке (yes | no) BOOTPROT При динамической настройке тип протокола, при помощи которого должен быть сконфигурирован интерфейс ( bootp | dhcp ) BOOTP Интерфейс необходимо настроить с использованием протокола удаленной загрузки BOOTP IPADDR IP-адрес, который должен быть присвоен интерфейсу NETMASK Маска подсети IP-адреса интерфейса NETWORK Адрес сети интерфейса BROADCAST Широковещательный адрес интерфейса

Значения NETMASK, NETWORK, BROADCAST могут быть вычислены скриптом ifup автоматически при помощи программы ipcalc, поэтому, если они соответствуют классу IP-адреса, указывать явно их не обязательно

Для настройки интерфейсов во время загрузки компьютера используется скрипт ifup, который принимает в качестве аргумента командной строки имя интерфейса interface.

Он читает конфигурационный файл interface или, если он отсутствует, файл из каталога /etc/sysconfig/networking/default. В крайнем случае, если не найден ни один из этих файлов читается конфигурация из ifcfg-interface. После этого скрипт производит настройку интерфейсов при помощи утилиты ip. Настраиваются не только интерфейсы сами по себе, но и необходимые маршруты для обращения к сетям, непосредственно доступным через интерфейс.

Скрипты ifup и ifdown могут вызываться не только во время загрузки компьютера или при смене уровня выполнения, но и в ходе нормальной работы, когда нужно вручную поднять или опустить интерфейс.

Перезапуск интерфейса eth0:

Файлы ifup и ifdown в каталоге /etc/sysconfig/network-scripts являются символическими ссылками на файлы ifup и ifdown в каталоге /sbin. Поэтому, при вызове вручную можно просто воспользоваться командами ifup и ifdown.

При вызове в ходе начальной загрузки, скрипту ifup передается дополнительный аргумент boot, который сообщает, что интерфейс нужно поднимать только в том случае, если в файле его конфигурации параметр ONBOOT не установлен в no.

[править] Файл конфигурации eth0

Вот пример наиболее распространённой конфигурации Ethernet-интерфейса:

В данном случае файл описывает интерфейс eth0, которому назначен IP-адрес из диапазона рекомендованного для локальных сетей 10.0.0.188. Поскольку адрес принадлежит классу A, а необходимо чтобы под сетевую часть было отведено 24 бита, явным образом задана сетевая маска NETMASK, адрес сети NETWORK и широковещательный адрес BROADCAST.

Источник

Читайте также:  Msmpeng exe что это как отключить windows 10
Оцените статью