Настройка сетевого интерфейса Debian

Debian Network Interface Setup



Знания относительно настройки сетевого интерфейса в Debian GNU / Linux и связанных с Debian дистрибутивах необходимы каждому инженеру Linux. В этой статье мы объясним вам, где найти соответствующую информацию и как настроить ее для IPv4. IPv4 [2] а также IPv6 [3] . Количество вариантов довольно велико, но дает вам большую гибкость в вашей конкретной ситуации.

Настройка сети Debian

Вся конфигурация сетевых интерфейсов хранится в текстовых файлах в одном каталоге с именем / etc / network. Этот каталог содержит ряд файлов и подкаталогов для настройки как для IPv4, так и для IPv6.







  • интерфейсы и интерфейсы. d: общая конфигурация для каждого интерфейса.
  • if-down.d: скрипты, которые запускаются в случае сбоя интерфейса
  • if-post-down.d: скрипты, которые запускаются после сбоя интерфейса
  • if-up.d: скрипты, которые запускаются, если интерфейс запускается
  • if-pre-up.d: скрипты, которые запускаются до запуска интерфейса

Конкретная конфигурация выполняется для каждого сетевого интерфейса. Вы можете сохранить все это в одном файле с именем interfaces или в виде отдельных файлов в каталоге interfaces.d. Типичная конфигурация IPv4 с портативного устройства показана ниже. Он состоит из одного интерфейса обратной связи (/dev/lo) , интерфейса Ethernet (/dev/eth0) и беспроводного интерфейса (/dev/wlan0) . Строка 1 относится ко всем сценариям, хранящимся в каталоге /etc/network/interfaces.d/ . Строки 3–5 настраивают /dev/lo , строки 7–9 / dev / eth0, а строка 11 - интерфейс / dev / wlan0. Подробное объяснение отдельных команд приведено ниже.



1 источник /так далее/сеть/интерфейсы.d/ *
2
3 # Петлевой сетевой интерфейс
4машина это
5iface lo inet loopback
6
7 # Основной сетевой интерфейс
8разрешить hotplug eth0
9iface eth0 inet dhcp
10
одиннадцатьiface wlan0 inet dhcp

Для других выпусков Debian GNU / Linux или основанных на нем дистрибутивов файловые интерфейсы могут выглядеть одинаково, но с другими именами сетевых устройств. Начиная с Debian 9, растяните старые сетевые имена, например /dev/eth0, /dev/eth1 и /dev/wlan0 исчезли, так как имя устройства может измениться. Новые имена похожи на эти - /dev/enp6s0 , /dev/enp8s0 , /dev/enp0s31f6 и /dev/enp5s0 [1] . Чтобы узнать о доступных сетевых интерфейсах, посмотрите файл / sys / class / net - в нашем случае интерфейсы названы /dev/lo и /dev/enp0s3 .



Список доступных сетевых интерфейсов:


Конфигурация этих интерфейсов выглядит следующим образом. Изображение ниже взято из Debian GNU / Linux 9.5. '





Базовая сетевая конфигурация в Debian GNU / Linux 9.5:


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

Подробная информация о конфигурации сети Debian

Автоматическое включение интерфейса при запуске

При запуске вашей системы сценарии установки проходят через файлы конфигурации для сетевых интерфейсов. Для автоматического включения интерфейса добавьте ключевое слово auto (сокращение от allow-auto), за которым следует логическое имя интерфейса (ов). Сценарии установки вызовут команду ifup -a (сокращение от –all), которая активирует упомянутые интерфейсы. Следующая строка вызовет только петлевой интерфейс / dev / lo:



машина это

Сетевые интерфейсы отображаются в том порядке, в котором они перечислены. Следующая строка вызывает / dev / lo, за которым следует / dev / wlan0 и, в конце концов, / dev / eth0.

авто lo wlan0 eth0

Активируйте интерфейс, если сетевой кабель подключен

Ключевое слово allow-hotplug приводит к событию, основанному на физическом соединении. Названный сетевой интерфейс активируется, как только подсоединяется сетевой кабель, и деактивируется, как только сетевой кабель отсоединяется. Следующая строка демонстрирует это для интерфейса Ethernet / dev / eth0 (аналогично строке 8 листинга 1).

разрешить hotplug eth0

Конфигурация статического интерфейса

Для связи с другими компьютерами в сети интерфейсу назначается IP-адрес. Этот адрес получается либо динамически (через DHCP), либо устанавливается фиксированным способом (статическая конфигурация). Таким образом, объявление интерфейса начинается с ключевого слова iface, за которым следует логическое имя сетевого интерфейса, тип соединения и метод, используемый для получения IP-адреса. В следующем примере это показано для сетевого интерфейса / dev / eth0 со статическим IPv4-адресом 192.168.1.5.

iface eth0 inet статический
адрес 192.168.1.5
маска сети 255.255.255.0
шлюз 192.168.1.1

После объявления интерфейса вам предлагается указать ряд опций (название опции в скобках). Сюда входят такие значения, как IP-адрес (адрес), сетевая маска (сетевая маска), широковещательный диапазон (широковещательный), метрика маршрутизации для шлюза по умолчанию (метрика), шлюз по умолчанию (шлюз), адрес другой конечной точки. (точка-точка), локальный адрес ссылки (hwaddress), размер пакета (mtu), а также область действия адреса (область). В следующем примере показана конфигурация IPv6 для сетевого интерфейса / dev / enp0s3. [4] .

iface enp0s3 inet6 статический
адрес fd4e: a32c:3873: 9e59: 0004 ::254
маска сети80
шлюз fd4e: a32c:3873: 9e59: 0004 ::1

Динамическая настройка интерфейса через DHCP

Подключение к разным сетям требует гибкости. Протокол динамического управления хостом ( DHCP ) [5] делает эту гибкость возможной, и сетевые сценарии назначают IP-адрес сетевому интерфейсу, который передается от DHCP-сервера. Следующая строка демонстрирует это для интерфейса wlan с именем / dev / wlan0:

iface wlan0 inet dhcp

# Для IPv6 используйте эту строку вместо:
iface wlan0 inet6 dhcp

Подобно статической конфигурации, приведенной выше, можно установить ряд опций. Эти параметры зависят от вашей настройки DHCP. Среди прочего, список включает в себя запрашиваемое имя хоста (имя хоста), метрику для добавленных маршрутов (метрика), предпочтительное время аренды в часах или секундах (leasehours, leasetime), идентификатор клиента (client) или адрес оборудования (hwaddress). ).

Другие варианты

Файл конфигурации / etc / interfaces также позволяет настраивать протокол начальной загрузки ( BOOTP ) [6] (bootp), PPP (ppp), а также IPX [7].

Отображение конфигурации интерфейса

До выпуска Debian GNU / Linux 8 используйте команду / sbin / ifconfig для отображения конфигурации интерфейса. См. Конфигурацию для первого интерфейса Ethernet ниже.

Настройка интерфейса с помощью ifconfig :

Начиная с версии 9, команда ifconfig больше не предустановлена ​​и заменена ее предшественником ip. Вместо этого используйте команду ip addr show.

Настройка интерфейса с использованием ip:

Включение и отключение интерфейса

Как уже было описано выше, опция auto автоматически включает интерфейс при запуске. Есть две команды для включения и отключения интерфейса вручную. До Debian 8 используйте ifconfig eth0 up или ifup eth0 для включения интерфейса. Начиная с Debian 9 используйте только ifup eth0. Аналогами являются ifconfig eth0 down и ifdown eth0. На изображении ниже показан вывод по умолчанию при включении интерфейса.

Активация интерфейса с помощью ifup:

Добавление дополнительных опций

Можно добавить дальнейшие действия в случае активации или деактивации интерфейса. Эти сценарии называются сценариями if-pre-up и if-post-down и используются до включения и после отключения интерфейса.

Следующий пример демонстрирует это в сочетании с брандмауэром, который активен, если интерфейс также активен. В строке 3 перед активацией интерфейса вызывается сценарий /usr/local/sbin/firewall-enable.sh (отсюда и предварительный запуск тега, а в строке 4 сценарий /usr/local/sbin/firewall-disable.sh вызывается после деактивации интерфейса.

1разрешить hotplug eth0
2iface eth0 inet dhcp
3предварительная подготовка/usr/местный/sbin/firewall-enable.sh
4пост-вниз/usr/местный/sbin/firewall-disable.sh

Заключение

Базовая конфигурация сетевых интерфейсов в Debian GNU / Linux сравнима проста - несколько строк кода, и готово. Для получения дополнительной информации о дополнительных параметрах вы можете ознакомиться с приведенными ниже ресурсами.

Ссылки и ссылки

[1] Debian Wiki, Конфигурация сети
[2] IPv4, Википедия
[3] IPv6, Википедия
[4] Статический IP-адрес Debian IPv4 и IPv6
[5] Протокол динамического управления хостом (DHCP), Википедия
[6] Протокол начальной загрузки (BOOTP), Википедия
[7] Межсетевой обмен пакетами (IPX), Википедия

Спасибо

Автор благодарит Акселя Беккерта за помощь и критические комментарии при подготовке статьи.