что такое сетевые интерфейсы
Сетевые интерфейсы
Сетевые интерфейсы создаются автоматически для каждого обнаруженного сетевого устройства при загрузке ядра ОС.
eth — сетевой интерфейс к карте Ethernet или картам WaveLan (Radio Ethernet).
Каждый интерфейс характеризуется определёнными параметрами, необходимыми для обеспечения его функционирования и для сетевого обмена данными по протоколу IP.
Параметры интерфейса
Кроме этих параметров интерфейс характеризуется ещё:
Конфигурационные файлы и настройка IPv4
Debian/Ubuntu
Настройки сетевого интерфейса указываются в конфигурационном файле /etc/network/interfaces :
Ubuntu 16.04 LTS
Ubuntu 18.04 LTS
В этой версии ОС сеть может задаваться не с помощью networking, а с помощью утилиты netplan.
Для применения изменений необходимо выполнить команду netplan apply. Она проверяет конфигурационный файл на наличие ошибок, применяет изменения и автоматически перезагружает интерфейс.
Redhat/Fedora/CentOS
/etc/sysconfig/network-scripts — каталог, содержащий конфигурационные файлы интерфейсов и скрипты, выполняющие их инициализацию.
/etc/sysconfig/network-scripts/ifup — скрипт, который выполняет настройку и активацию интерфейса.
/etc/sysconfig/network-scripts/ifdown — скрипт, который выполняет деактивацию интерфейса.
/etc/sysconfig/network-scripts/ifcfg-* — конфигурационные файлы, описывающие интерфейсы системы.
/etc/init.d/network — скрипт, выполняющий настройку сетевых интерфейсов и маршрутизации при загрузке.
/etc/sysconfig/network — конфигурационный файл, содержащий имя хоста, IP-адрес основного шлюза и IP-адреса основного и вспомогательного DNS-серверов:
Адрес можно добавить на тот же интерфейс, что и IPv4, новый создавать не нужно.
CentOS
Для работы с IPv6 необходимо добавить следующие директивы в конфигурационный файл /etc/sysconfig/network :
IP-адрес назначается в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg-* :
Debian/Ubuntu
IP-адрес добавляется на интерфейс в файле /etc/network/interfaces :
Ubuntu 16.04 LTS
От других систем семейства отличается имя интерфейса, вместо eth0 – ens3.
Ubuntu 18.04 LTS
В файл /etc/netplan/50-cloud-init.yaml нужно добавить:
И применить изменения командой netplan apply.
Несколько IP-адресов
В остальном интерфейс настраивается аналогично физическому.
CentOS
Debian/Ubuntu
Ubuntu 16.04 LTS
Для данной ОС не требуется создавать виртуальный интерфейс, достаточно добавить второй IP-адрес на уже существующий, например:
Ubuntu 18.04 LTS с netplan
Несколько IPv6-адресов можно назначать на один интерфейс без создания виртуального. При этом gateway указывается только один раз. Например:
CentOS
Debian/Ubuntu
Ubuntu 16.04 LTS
Nameservers
Необходимые директивы для nameservers добавляются в конфигурационный файл. Указать можно столько DNS-серверов, сколько необходимо.
CentOS
Ubuntu/Debian
Настройка приватной сети
Для создания приватной сети между боксами необходимо настроить новый интерфейс — он уже добавлен, увидеть его можно в выводе утилиты ip
Ubuntu 18.04 LTS и старше
Добавить в файл /etc/netplan/50-cloud-init.yaml :
Важно соблюдать количество пробелов как в остальном файле.
Debian
Добавить в файл /etc/network/interfaces.d/50-cloud-init :
CentOS
Создать файл /etc/sysconfig/network-scripts/ifcfg-eth1 :
Вы можете использовать любые IP-адреса из диапазона приватных. Там же можно узнать, какие маски для каких диапазонов лучше использовать.
Проверить работу приватной сети можно с помощью ssh, ping или любых других подходящих утилит:
Настройка mtu на интерфейсе
Параметр mtu нужно менять, если вы пользуетесь индивидуальной защитой от DDoS. В стандарте Ethernet TCP-пакеты разбиты на кадры объемом 1500 байт, но при передаче через GRE-тоннель маршрутизаторы дописывают к кадрам свои 24 байта. Принимающая система оказывается не готова к кадру размером 1524 байт, поэтому мы изменим параметр mtu на интерфейсе, уменьшив его до 1476 байт, чтобы принимающая система спокойно восприняла итоговый кадр в 1500 байт.
Ubuntu 18.04+
Дописываем mtu в конфигурационный файл /etc/netpal/50-cloud-init.yaml сразу после имени интерфейса, например:
Важно соблюдать количество пробелов как в остальном файле.
После чего перезагружаем сетевую службу командой netplan apply.
Debian
Редактируем файл /etc/network/interfaces, добавляя параметр вслед за описанием интерфейса:
Перезагружаем сеть командой systemctl restart networking.
CentOS
Вносим в файл /etc/sysconfig/network строку:
И перезагружаем сетевую службу: systemctl restart network.
ifconfig
Команда ifconfig позволяет получать диагностическую информацию об интерфейсах системы и выполнять их настройку.
Формат вызова команды:
Без параметров программа выводит на экран информацию обо всех активных (находящих в состоянии up ) интерфейсах. Если указано имя интерфейса и отсутствуют опции, выводится информация только о нем.
Просмотр информации об интерфейсе eth0
Формат вывода информации о интерфейсе программой 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.
Назначение IP-адреса 10.0.0.1 первой Ethernet-карте
Назначение IP-адреса 10.0.0.1 первой Ethernet-карте выполняется командой:
Включение интерфейса
Включение добавленного интерфейса выполняется командой:
Маршрутизация (route)
route — утилита для настройки таблицы маршрутизации.
Просмотр таблицы маршрутизации
Добавление шлюза по умолчанию
Добавление маршрута в локальную сеть
Добавление маршрута в удаленную сеть
Удаление маршрута
Утилита ip
Утилита ip совмещает в себе другие сетевые утилиты и позволяет производить те же самые операции, что и ifconfig, route и arp вместе взятые.
Подробную информацию об утилите можно получить с помощью help :
Разберем вывод команды подробнее.
Блок «Usage» содержит синтаксис утилиты:
В блоке «OBJECT» указаны все доступные объекты:
Часто используемые объекты:
«OPTIONS» содержит список доступных опций:
Часто используемые опции:
Также при работе с утилитой ip используются различные команды и параметры.
Команды:
Параметры:
Не все команды и параметры доступны при работе с различными объектами. Подробную информацию также можно получить применив «help».
При выводе help для объекта address блок «Usage» содержит синтаксис различных комбинаций команд и параметров:
Примеры
Показать все соединения
Сокращенный вывод ifconfig без параметров:
Отображение информации об интерфейсе eth0
Включение интерфейса eth1
Вывод всех интерфейсов и IP-адресов
Установка/удаление IP-адреса для интерфейса eth1
Отображение маршрута к указанной сети
Отображение маршрута к указанной сети от указанного интерфейса
Создание/удаление маршрута
Создание маршрута по умолчанию
Создание маршрута к указанной сети
Перезапуск сетевых сервисов
Чтобы применить изменения, внесенные в конфигурационный файл, необходимо перезапустить сервис.
Сетевой интерфейс
Материал из Xgu.ru
Сетевой интерфейс — физическое или виртуальное устройство, предназначенное для передачи данных между программами через компьютерную сеть.
Примеры сетевых интерфейсов:
Каждый интерфейс в сети может быть однозначно идентифицирован по его адресу. Разные сетевые протоколы используют разные системы адресации, например MAC-адреса в Ethernet или IP-адреса в IP.
Настройка сетевых интерфейсов в 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.
[править] Параметры интерфейса
Кроме этих параметров интерфейс характеризуется ещё:
Debian. Долговременные настройки хранятся в файле /etc/network/interfaces.
[править] Программа ifconfig
Для управления интерфейсами в ОС Linux используется программа ifconfig. Команда позволяет как получать диагностическую информацию об интерфейсах системы, так и выполнять их настройку.
Формат вызова команды:
ifconfig ifconfig interface options