| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| rias:settingsdebian11 [2026/05/10 19:21] – admin2 | rias:settingsdebian11 [2026/05/10 20:54] (текущий) – admin2 |
|---|
| ====== Настройка сетевых интерфейсов в Debian 11 ====== | ====== Настройка сетевых интерфейсов в Debian 11 ====== |
| **1. Настройка интерфейса Ethernet** | ==== 1. Настройка интерфейса Ethernet ==== |
| | |
| | Основную настройку сети можно выполнить, редактируя конфигурационный файл //**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»**// в режиме редактирования. |
| | {{ :rias:рисунок1.png?600 |}} \\ Параметр «source» указывает на каталог в котором хранятся конфигурационные файлы. \\ Затем идёт настройка виртуального сетевого интерфейса loopback. Настройки этого интерфейса оставляем без изменения. \\ Далее идут настройки сетевых интерфейсов. Все эти настройки необходимо удалить. В результате должно получиться следующее: |
| | {{ :rias:рисунок2.png?600 |}}\\ Теперь приступим к настройки интерфейсов. Для начала необходимо определить какие интерфейсы имеются в системе, для этого выполним команду:\\ **# ip a**\\ В результате мы увидим список интерфейсов: |
| | {{ :rias:рисунок3.png?600 |}} |
| | |
| | В приведённой иллюстрации выведено три интерфейса, обведены красным цветом. Где:\\ 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 |
| | === 1.1. Настройка интерфейса enp0s3 === |
| | |
| | В результате интерфейс enp0s3 будет иметь следующие настройки: |
| | {{ :rias:рисунок4.png?600 |}} |
| | |
| | Где:\\ 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) |
| | |
| | === 1.2. Настройка интерфейса enp0s8 === |
| | Настройки интерфейса //**enp0s8**// будут следующие: |
| | {{ :rias:рисунок5.png?600 |}} |
| | |
| | === 1.3. Применение настроек === |
| | Чтобы применить новые сетевые настройки, необходимо перезагрузить систему. Для этого необходимо выполнить:\\ //**# systemctl reboot**// \\ После перезагрузки проверим настройку интерфейсов:\\ //**# ip a**// |
| | {{ :rias:рисунок6.png?600 |}} |
| | Если вы увидели похожий вывод, то процесс настройки сетевых интерфейсов прошёл успешно. |
| | |
| | ==== 2. Управление интерфейсами ==== |
| | Для включения и отключения интерфейса используются команды //**ifup**// и //**ifdown**//. Команда //**ifup**// используется для активации //**(up)**// сетевого интерфейса, //**ifdown**// – для его деактивации //**(down)**//. Команда //**ifquery**// позволяет проверить состояние сетевого интерфейса. |
| | === 2.1. Использование команды ifup === |
| | Команда имеет простой синтаксис:\\ //**# ifup [options]**// |
| | Далее будут рассмотрены некоторые из опций. |
| | == 2.1.1. Подключение определенного интерфейса == |
| | Чтобы активировать или поднять интерфейс, просто укажите его имя в команде //**ifup**//.\\ # ifup enp0s3 |
| | == 2.1.2. Как поднять все интерфейсы == |
| | Для обновления каждого сетевого интерфейса необходимо использовать опцию //**-a**//, но вы также можете использовать опцию //**-v (verbose)**//, чтобы получить подробную информацию о том, какие интерфейсы только что активированы.\\ //**# ifup -av**// |
| | === 2.2. Использование команды ifdown === |
| | Как следует из названия, эта команда делает прямо противоположное тому, что команда ifup.\\ Она имеет точно такой же синтаксис, как и ifup:\\ //**# ifdown [option]**// |
| | == 2.2.1. Отключение определенного интерфейса == |
| | Вы можете столкнуться с ситуацией, когда вам нужно отключить определенный сетевой интерфейс. Для этого необходимо выполнить:\\ //**# ifdown enp0s3**// |
| | == 2.2.2. Как отключить все интерфейсы == |
| | Для отключения всех интерфейсов необходимо выполнить:\\ //**# ifdown -av**// |
| | === 2.3. Использование команды ifquery === |
| | Если команды //**ifup**// и //**ifdown**// используются для настройки сетевого интерфейса, то команда //**ifquery**// используется для получения данных конфигурации сетевого интерфейса.\\ Будучи частью одного семейства команд, //**ifquery**// использует тот же синтаксис, что и //**ifup**// и //**ifdown**//.\\ //**# ifquery [option]**// |
| | == 2.3.1. Получение сетевых интерфейсов, которые настраиваются при каждой загрузке == |
| | Чтобы получить интерфейсы, настроенные с ключевым словом allow-hotplug, вам нужно добавить ключевое слово –allow=hotplug к опции -l.\\ //**# ifquery -l**// |
| | == 2.3.2. Вывод конфигурации интерфейсов с помощью ключевого слова allow-hotplug == |
| | Чтобы получить интерфейсы, настроенные с ключевым словом allow-hotplug, вам нужно добавить ключевое слово –allow=hotplug к опции -l.\\ //**# ifquery -l —allow=hotplug**// |
| |