Подробный гайд по /etc/network/interfaces в Astra Linux
Файл /etc/network/interfaces — классический способ настройки сетевых интерфейсов в Debian-подобных дистрибутивах, включая Astra Linux (Common Edition 1.7/1.8, Special Edition 1.6/1.7/1.8). Он управляется пакетом ifupdown и полностью поддерживается в серверных сценариях, несмотря на наличие NetworkManager и systemd-networkd.
Важно:
Все команды выполняются от root или через sudo. При настройке удалённого сервера по SSH всегда оставляйте резервный канал доступа (консоль, IPMI, второй интерфейс), чтобы не потерять соединение.
1. Подготовка окружения
Убедитесь, что ifupdown установлен:
sudo apt update
sudo apt install ifupdown
Проверьте, какой менеджер сети активен:
systemctl status NetworkManager
systemctl status networking
Если активен NetworkManager, он будет игнорировать /etc/network/interfaces для интерфейсов, помеченных как managed=true.
Для серверных сценариев рекомендуется отключить NM:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl enable networking
Создайте резервную копию:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak.$(date +%F)
2. Синтаксис и базовые директивы
| Директива | Описание |
|---|---|
auto <iface> |
Поднимать интерфейс автоматически при загрузке |
allow-hotplug <iface> |
Поднимать при появлении (для USB/Wi-Fi) |
iface <iface> inet <method> |
Определить интерфейс и метод: static, dhcp, manual, loopback |
address <IP/CIDR> |
IP-адрес (поддерживается CIDR с ifupdown >= 0.8.36) |
netmask <mask> |
Маска подсети (устаревший синтаксис, используйте CIDR) |
gateway <IP> |
Шлюз по умолчанию |
dns-nameservers <IP...> |
DNS-серверы |
dns-search <domain...> |
Домены поиска |
mtu <size> |
MTU интерфейса |
pre-up, post-up, pre-down, post-down |
Скрипты до/после поднятия/опускания |
3. Готовые примеры конфигураций
DHCP (автоматическое получение)
auto eth0
iface eth0 inet dhcp
Статический IP
auto eth0
iface eth0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
dns-search mydomain.local
Несколько IP на один интерфейс
auto eth0
iface eth0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
iface eth0:1 inet static
address 192.168.1.11/24
В современных системах также можно использовать post-up ip addr add 192.168.1.11/24 dev eth0.
Мост (Bridge)
auto br0
iface br0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
bridge_ports eth0 eth1
bridge_stp off
bridge_fd 0
dns-nameservers 8.8.8.8
Требуется пакет bridge-utils (обычно установлен по умолчанию).
Объединение интерфейсов (Bonding, active-backup)
auto bond0
iface bond0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
bond-slaves eth0 eth1
bond-mode active-backup
bond-miimon 100
bond-primary eth0
dns-nameservers 8.8.8.8
Пакет:
ifenslave. Проверка: cat /proc/net/bonding/bond0.
VLAN
auto eth0.10
iface eth0.10 inet static
address 10.0.10.10/24
vlan-raw-device eth0
dns-nameservers 8.8.8.8
Пакет:
vlan. В ядре должен быть загружен модуль 8021q.
4. Применение изменений
Никогда не выполняйте ifdown -a при подключении по SSH! Вы потеряете связь.
Безопасные способы:
1. Перезапуск сервиса сети:
sudo systemctl restart networking
2. Переподнять конкретный интерфейс:
sudo ifdown eth0 && sudo ifup eth0
3. Применить все, кроме lo (осторожно!):
sudo ifdown -a --exclude=lo && sudo ifup -a --exclude=lo
После перезапуска проверьте:
ip a show eth0
ip r
cat /etc/resolv.conf
5. Диагностика и отладка
| Команда | Назначение |
|---|---|
ip a |
Состояние интерфейсов и IP |
ip r |
Таблица маршрутизации |
ip link |
Состояние L2 (UP/DOWN, MTU) |
journalctl -u networking.service -e |
Логи ifupdown |
ifup -v eth0 |
Подробный вывод при поднятии |
ifquery --list |
Список известных ifupdown интерфейсов |
ping -c 3 8.8.8.8 |
Проверка маршрута |
dig @127.0.0.1 example.com |
Проверка DNS |
6. Специфика Astra Linux
| Аспект | Рекомендация |
|---|---|
| Мандатный контроль доступа (МКА) | В Special Edition (Смоленск) изменение сетевых настроек может требовать метки безопасности. Выполняйте команды от root или с соответствующими привилегиями. Проверьте аудит: sudo astra-auditctl -l |
| Конфликт с NetworkManager | В графических сборках NM включён по умолчанию. Либо отключите его, либо добавьте в /etc/NetworkManager/NetworkManager.conf: [ifupdown] managed=false |
| Разрешения файла | Должны быть строго: 644, владелец root:root |
| DNS | ifupdown записывает DNS в /etc/resolv.conf. Если используется systemd-resolved или resolvconf, возможна перезапись. В Astra 1.7/1.8 обычно используется прямой /etc/resolv.conf |
| Официальная документация | См. «Руководство администратора Astra Linux», раздел «Настройка сети» |
7. Типичные ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
Интерфейс не поднимается после reboot |
Отсутствует auto <iface> |
Добавьте строку auto eth0 |
| Нет интернета после настройки | Неверный шлюз или маска | Проверьте ip r, убедитесь, что шлюз в той же подсети |
| DNS не работает | dns-nameservers не применён |
Проверьте /etc/resolv.conf, убедитесь, что нет конфликта с systemd-resolved |
ifup ругается на синтаксис |
Табуляции, регистр, лишние пробелы | Используйте только пробелы для отступов, ключевые слова в нижнем регистре |
| Конфликт с NetworkManager | NM перехватывает интерфейс | sudo systemctl disable NetworkManager && sudo systemctl enable networking |
8. Рекомендации по эксплуатации
- Серверы без GUI:
/etc/network/interfaces— оптимальный выбор. - Рабочие станции с GUI: используйте
fly-admin-netилиnmcli. - Виртуализация/контейнеры: для мостов и VLAN
ifupdownостаётся стандартом. - Резервирование: храните копии конфигураций в
/etc/network/interfaces.d/или в системе контроля версий. - Проверка перед перезагрузкой: всегда тестируйте
ifup -vв локальной консоли.