Основную настройку сети можно выполнить, редактируя конфигурационный файл interfaces, который располагается в «/etc/network/interfaces». Здесь Вы можете задать IP-адрес сетевой карты, настроить маршрутизацию, IP masquerading, установить маршрут по умолчанию и многое другое. Так же эта конфигурация может быть добавлена в файл конфигурации в каталоге «/etc/network/interfaces.d». Например, файл может быть сохранен как «/etc/network/interfaces.d/enp0s3.conf».
В лабораторных работах для каждого интерфейса мы будем применять отдельный файл конфигурации.
По умолчанию, после установки, в операционной системе Debian 11 настройка всех интерфейсов осуществляется в конфигурационном файле
«/etc/network/interfaces». В этой связи необходимо перенести настройки интерфейсов в отдельные файлы в каталог «/etc/network/interfaces.d». Для этого необходимо открыть файл «/etc/network/interfaces» в режиме редактирования.
Параметр «source» указывает на каталог в котором хранятся конфигурационные файлы.
Затем идёт настройка виртуального сетевого интерфейса loopback. Настройки этого интерфейса оставляем без изменения.
Далее идут настройки сетевых интерфейсов. Все эти настройки необходимо удалить. В результате должно получиться следующее:

Теперь приступим к настройки интерфейсов. Для начала необходимо определить какие интерфейсы имеются в системе, для этого выполним команду:
# ip a
В результате мы увидим список интерфейсов:
В приведённой иллюстрации выведено три интерфейса, обведены красным цветом. Где:
1. Интерфейс lo – виртуальный сетевой интерфейс loopback;
2. Интерфейс enp0s3 – интерфейс Ethernet, интерфейс который необходимо настроить;
3. Интерфейс enp0s8 – интерфейс Ethernet, интерфейс который необходимо настроить.
И так в этом случае мы имеем два интерфейса Ethernet, которые необходимо настроить на сети подключенные к ним.
Для этого создадим два файла конфигурации
«/etc/network/interfaces.d/enp0s3.conf» и «/etc/network/interfaces.d/enp0s8.conf»:
# touch /etc/network/interfaces.d/enp0s3.conf
# touch /etc/network/interfaces.d/enp0s8.conf
Эти интерфейсы будем настраивать на следующие сети:
1. enp0s3 IP: 10.0.0.10/24, GW: 10.0.0.1
2. enp0s8 IP: 10.0.1.1/24
В результате интерфейс enp0s3 будет иметь следующие настройки:
Где:
1. «auto <interface_name>» – поднимает интерфейс с именем <interface_name> во время загрузки системы.
2. «allow-hotplug <interface_name>» – поднимает интерфейс с именем <interface_name>, когда ядро обнаруживает событие подключения от устройства.
3.«iface <config_name> <address_family> <method_name>
<option1> <value1>
<option2> <value2>
…»> – определяет сетевую конфигурацию интерфейса, где:
<config_name> – имя конфигурации (например enp0s3)
<address_family> – семейство адресов (inet – для IPv4, inet6 – для IPv6)
<method_name> – метод настройки.
<option1> <value1> – опция и её значение
Методы для семейства адресов inet (IPv4):
loopback – метод для определения интерфейса замыкания на себя (для этого метода нет опций)
static – метод используется для настройки интерфейса при статическом IP (Опции: address, netmask, broadcast, network, metric, gateway, pointopoint, media, hwaddress, mtu)
manual – метод для настройки интерфейсов, конфигурация которых не заданна. Интерфейсы настраиваются вручную во время команд up / down или с помощью скриптов в /etc/network/if-*.d
dhcp – метод получения настройки сети через DHCP сервер (Опции: hostname, leasehours, leasetime, vendor, client, hwaddress)
Методы для семейства адресов inet6 (IPv6):
loopback – метод для определения интерфейса замыкания на имеющего адрес IPv6 (для этого метода нет опций)
static – метод используется для настройки интерфейса при статическом IPv6 (Опции: address, netmask, gateway, media, hwaddress, mtu)
manual – аналог метода manual для IPv4, только используется для IPv6 (для этого метода нет опций)
v4tunnel – метод для настройки тунеля IPv6 поверх IPv4, необходима команда ip из пакета iproute (Опции: address, netmask, endpoint, local, gateway, ttl)
Чтобы применить новые сетевые настройки, необходимо перезагрузить систему. Для этого необходимо выполнить:
# systemctl reboot
После перезагрузки проверим настройку интерфейсов:
# ip a
Если вы увидели похожий вывод, то процесс настройки сетевых интерфейсов прошёл успешно.
Для включения и отключения интерфейса используются команды ifup и ifdown. Команда ifup используется для активации (up) сетевого интерфейса, ifdown – для его деактивации (down). Команда ifquery позволяет проверить состояние сетевого интерфейса.
Команда имеет простой синтаксис:
# ifup [options]
Далее будут рассмотрены некоторые из опций.
Чтобы активировать или поднять интерфейс, просто укажите его имя в команде ifup.
# ifup enp0s3
Для обновления каждого сетевого интерфейса необходимо использовать опцию -a, но вы также можете использовать опцию -v (verbose), чтобы получить подробную информацию о том, какие интерфейсы только что активированы.
# ifup -av
Как следует из названия, эта команда делает прямо противоположное тому, что команда ifup.
Она имеет точно такой же синтаксис, как и ifup:
# ifdown [option]
Вы можете столкнуться с ситуацией, когда вам нужно отключить определенный сетевой интерфейс. Для этого необходимо выполнить:
# ifdown enp0s3
Для отключения всех интерфейсов необходимо выполнить:
# ifdown -av
Если команды ifup и ifdown используются для настройки сетевого интерфейса, то команда ifquery используется для получения данных конфигурации сетевого интерфейса.
Будучи частью одного семейства команд, ifquery использует тот же синтаксис, что и ifup и ifdown.
# ifquery [option]
Чтобы получить интерфейсы, настроенные с ключевым словом allow-hotplug, вам нужно добавить ключевое слово –allow=hotplug к опции -l.
# ifquery -l
Чтобы получить интерфейсы, настроенные с ключевым словом allow-hotplug, вам нужно добавить ключевое слово –allow=hotplug к опции -l.
# ifquery -l —allow=hotplug