====== Настройка сетевых интерфейсов в Debian 11 ====== ==== 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 »**// – поднимает интерфейс с именем //****// во время загрузки системы.\\ 2. //**«allow-hotplug »**// – поднимает интерфейс с именем //****//, когда ядро обнаруживает событие подключения от устройства.\\ 3.//**«iface **// \\ //** **// \\ //** **// \\ //**…»>**// – определяет сетевую конфигурацию интерфейса, где:\\ //****// – имя конфигурации (например enp0s3)\\ //****// – семейство адресов (inet – для IPv4, inet6 – для IPv6)\\ //****// – метод настройки.\\ //** **// – опция и её значение **Методы для семейства адресов 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**//