Networking: Настройка сети из командной строкиТеоретически, службы
NetworkManager и
networking конфликтовать не должны, так как первая не работает с сетевыми интерфейсами, перечисленными в файле
/etc/network/interfaces
, а вторая - работает только с интерфейсами, перечисленными в этом файле, но при переходе к использованию службы
networking лучше отключить
NetworkManager, для чего выполнить команду:
sudo systemctl --now mask NetworkManager
По желанию после удаления службы
NetworkManager можно скрыть графическую оснастку
NetworkManager (значок сети в панели задач).Для запрета запуска графической оснастки выполнить команду
sudo mv /etc/xdg/autostart/nm-applet.desktop /etc/xdg/autostart/nm-applet.desktop.disabled
Иконка будет скрыта в следующей сессии пользователя. Если нужно, чтобы оснастка была скрыта немедленно, перезапустить
fly-dm:sudo systemctl restart fly-dm
При перезапуске
fly-dm пользовательская сессия будет перезапущена.
Традиционно, настройка сети
TCP/IP из командной строки выполняется с использованием инструментов
ifup и
ifdown, входящих в пакет
ifupdown, и предназначенных для высокоуровневого конфигурирования сети.
При этом можно выделить два типичных случая1. Для систем, работающих в статичной сети (например, для серверов), следует сохранять как можно более простую конфигурацию;
2. Для систем, работающих с динамически меняющимися сетями и IP-адресами (например, для мобильных компьютеров) рекомендуется дополнительно использовать для настройки пакет resolvconf, упрощающий переключение конфигураций при смене сетевого адреса.
Пакеты
resolvconf и
NetworkManager могут конфликтовать, так как работают с одним файлом
/etc/resolv.confПакет
ifupdown содержит три команды: команды
ifup и
ifdown, обеспечивающие настройки сетевых интерфейсов в соответствии с конфигурационным файлом
/etc/network/interfaces
, и команда
ifquery, проверяющая корректность конфигурационного файла
/etc/network/interfaces
При этом список включенных в данный момент интерфейсов хранится в файле
/run/network/ifstate
Сценарий изменения настройки сетевого интерфейса (на примере интерфейса eth0):1. Внести изменения в файл
/etc/network/interfaces в секцию, относящуюся к интерфейсу eth0.
2. Проверить корректность файла:
sudo ifquery eth0
3. Перезапустить интерфейс. Лучше всегда делать это одной командой, чтобы не потерять машину при работе через удалённое подключение:
sudo ifdown eth0; sudo ifup eth0
Astra Linux писал(а)
Не следует использовать низкоуровневые конфигурационные команды как, например,
ifconfig(8) и
ip(8) для переключения сетевых интерфейсов во включенное (
up) состояние.
Типичной ошибкой при использовании команд
ifdown/ifup является повторное назначение параметров интерфейса неотключенным и некорректно работающим сервисом
NetworkManager,
что выглядит как игнорирование изменений, внесённых в файл
/etc/network/interfaces.
Для проверки полного состояния сетевого интерфейса вместо устаревшей команды
ifconfig следует использовать современную команду
ip из пакета
iproute2:
1. проверить все сетевые адреса, назначенные сетевому интерфейсу:
ip address show dev eth0
2. очистить все сетевые адреса, назначенные сетевому интерфейсу:
sudo ip address flush dev eth0